%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/nailstv/public_html/at.nails.tv/admin_back/
Upload File :
Create Path :
Current File : /home/nailstv/public_html/at.nails.tv/admin_back/felhasznalok.php

<?php

require_once '../config/config.php';

$page = new Page('admin', true);
Registry::set('page', $page); 
$page->assign('content', felhasznalok());
$page->display('admin/page.tpl.html');

////////////////////////////////////////////////////////////////////////////////

function felhasznalok()
{
    $c = new Content;
    $v = new Inputvalidator;
    $db = Registry::get('db');

    $table = 'felhasznalo';

    if(isset($_GET['delete'])) $db->delete($_GET['delete'], $table);
    if(isset($_GET['edit'])){
		$edit = $db->select($_GET['edit'], $table);
		$c->assign('edit', $edit);
	}
    if(!empty($_POST['torol'])) $db->deleteMultiple($_POST['torol'], $table);

    if($_POST && isset($_POST['keres'])) {
         $_SESSION['felhasznalo_keres']['kulcsszo'] = $_POST['kulcsszo'];
    }

    if($_POST && empty($_POST['torol']) && !isset($_POST['keres'])) {
        $rec = validate($_POST, $v);

        if($v->isError) {
            $c->assign('error', $v->printError());
            $c->assign('edit', $rec);
            $_GET['add'] = 1;
        }
        else {
				
            if(empty($_POST['id'])) {
                $rec['id'] = $db->GenID('_felhasznalo_id');
                $rec['reg_date'] = date("Y-m-d H:i:s");
				
                $db->insert($rec, $table);
            }
            else {
                $rec['id'] = $_POST['id'];
                $db->update($rec, $table);
            }

            header("Location: " . $_SERVER['PHP_SELF']);
            die;
        }
    }

    if(!isset($_GET['add']))
    {
        felhasznaloList($c, $table);
    }
    else
    {
    }

    return $c->fetch('admin/felhasznalok.tpl.html');
}

function validate($rec, $v)
{
    $db = Registry::get('db');
    $l = Registry::get('lang');

    // teljes név
    $msg = array('Teljes nevet kötelező megadni.');
    $rec['nev'] = $v->v($rec['nev'], 'required, stripHtml', $msg);

    // login
    $msg = array('Felhasználónevet kötelező megadni.');
    $rec['login'] = $v->v($rec['login'], 'required, stripHtml', $msg);

    $sql = "SELECT id FROM felhasznalo WHERE login = ? AND storno = 'f'";
    $bind = array($rec['login']);

    if(!empty($rec['id'])) {
        $sql .= " AND id != ?";
        $bind[] = $rec['id'];
    }
    $row = $db->GetRow($sql, $bind);

    if(!empty($row['id'])) {
        $v->addError('Ez a felhasználónév már foglalt, válasszon másikat.');
    }

    // jelszó
    if(!empty($rec['pass']) && $rec['pass'] != $rec['pass2']) {
        $v->addError('A két jelszó nem egyezik.');
    }
    else if(empty($rec['id']) && empty($rec['pass'])) {
        $v->addError('Jelszót közelező megadni.');
    }
    else if(!empty($rec['pass'])) {
        $rec['not_crypted_pass'] = $rec['pass'];
        $rec['pass'] = md5($rec['pass']);
    }
    else {
        unset($rec['pass']);
    }

    // email
    $msg = array('E-mail címet kötelező megadni.', 'Hibás e-mail cím.');
    $rec['email'] = $v->v($rec['email'], 'required, email', $msg);

    $sql = "SELECT id FROM felhasznalo WHERE email = ? AND storno = 'f'";
    $bind = array($rec['email']);

    if(!empty($rec['id'])) {
        $sql .= " AND id != ?";
        $bind[] = $rec['id'];
    }
    $row = $db->GetRow($sql, $bind);

    if(!empty($row['id'])) {
        $v->addError('Ez az e-mail cím már foglalt, válasszon másikat.');
    }

    $rec['hirlevel'] = empty($_POST['hirlevel']) ? 'f' : 't';

	if(empty($rec['id'])){
		$rec['reg_date'] = date("Y-m-d H:i:s");
	}	

    return $rec;
}

function felhasznaloList($c, $table)
{
    $db = Registry::get('db');

    $where = '';
	$order = setOrder($c);
	
	//$order = 'ORDER BY f.reg_date DESC';

    if(!empty($_GET['page'])) {
        $_SESSION['admin_felhasznalok_curr_page'] = $_GET['page'];
    }

    if(!empty($_SESSION['felhasznalo_keres']['kulcsszo'])) {
        $k = $_SESSION['felhasznalo_keres']['kulcsszo'];
        $where .= " AND (nev LIKE '%" . $k . "%' OR email LIKE '%" . $k . "%')";
    }

    $sql = "SELECT f.id, f.nev, f.email, f.last_login
            FROM felhasznalo f
            WHERE f.storno = 'f'" . $where ."
            GROUP BY f.id " . $order;

    $pager = new Pager;
    if(!empty($_SESSION['admin_felhasznalok_curr_page'])) {
        $pager->current = $_SESSION['admin_felhasznalok_curr_page'];
    }
    $limit = 100;
    $r = $db->PageExecute($sql, $limit, $pager->current);
    $pager->setup($r->LastPageNo(), $r->RecordCount(), $limit);
    $c->assign('pager', $pager->show('pager.tpl.html'));

    $felhasznalok = $r->GetArray();

    $c->assign('felhasznalok', $felhasznalok);
    $c->assign('table', $table);

    $sql = "SELECT COUNT(id) AS sum FROM felhasznalo WHERE storno = 'f'";
    $row = $db->GetRow($sql);

    $c->assign('sum', $row['sum']);
	
}

function setOrder($c)
{
    if(!isset($_SESSION['felhasznalok']['irany']))
    {
        $_SESSION['felhasznalok']['irany'] = 'asc';
    }

    if(!isset($_SESSION['felhasznalok']['order']))
    {
        $_SESSION['felhasznalok']['order'] = 'nev';
    }

    if(isset($_GET['order']))
    {
        $prev_order = $_SESSION['felhasznalok']['order'];
        $_SESSION['felhasznalok']['order'] = $_GET['order'];

        if($_GET['order'] == $prev_order)
        {
            if($_SESSION['felhasznalok']['irany'] == 'asc')
            {
                $_SESSION['felhasznalok']['irany'] = 'desc';
            }
            else
            {
                $_SESSION['felhasznalok']['irany'] = 'asc';
            }
        }
        else
        {
            $_SESSION['felhasznalok']['irany'] = 'asc';
        }
    }

    $orderby = 'ORDER BY ';
    $i = $_SESSION['felhasznalok']['irany'];

    switch($_SESSION['felhasznalok']['order'])
    {
        case 'nev' : $orderby .= 'f.nev ' . $i; break;
		case 'last_login' : $orderby .= 'f.last_login ' . $i; break;
        default : $orderby .= 'f.reg_date ' . $i; break;
    }

    $c->assign('order', $_SESSION['felhasznalok']['order']);
    $c->assign('irany', $_SESSION['felhasznalok']['irany']);

    return $orderby;
}


?>

Zerion Mini Shell 1.0