ACC SHELL

Path : /srv/www/vhosts/centrumlb/administrace/libs/
File Upload :
Current File : //srv/www/vhosts/centrumlb/administrace/libs/role.class.php

<?php

/**
 *
 *
 * @version $Id$
 * @copyright 2010
 */
class Role {

    function __construct() {

    }

    function fetchAll() {
	$query = 'SELECT * FROM role ORDER BY id';

	$result = dibi::query($query);

	if ($result) {
	    return $result->fetchAll();
	} else {
	    throw new exception('No roles');
	}
    }

    function fetchAllModules() {
	$query = 'SELECT * FROM moduly WHERE stav = 1 ORDER BY id';

	$result = dibi::query($query);

	if ($result) {
	    return $result->fetchAll();
	} else {
	    throw new exception('No roles');
	}
    }

    /**
     *
     * @param int $id id role pro kterou ziskavam prirazeni
     * @return array
     */
    function fetchPovoleneModuly($id = false) {
	$result = dibi::query('SELECT id_modulu FROM role a LEFT JOIN role_prirazeni b ON a.id=b.id_role WHERE stav=1 AND id_role = %i', $id);

	if ($result) {
	    return $result->fetchAll();
	} else {
	    return false;
	}
    }

    function fetchSingle($id = false) {


	$query[] = 'SELECT * FROM role';
	if ($id) {
	    array_push($query, 'WHERE [id] = %i', $id);
	}

	$query[] = ' LIMIT 1';
	$result = dibi::query($query);
	if ($result) {
	    return $result->fetch();
	} else {
	    return false;
	}
    }

    function delete($id = false) {
	if ($id) {
	    $qry = dibi::query('DELETE FROM role WHERE id = %i', $id);
	    if ($qry) {
		Tools::message('Záznam byl úspěšně vymazán.', 'OK');
	    } else {
		Tools::message('Záznam se nepodařilo vymazat.', 'ERR');
	    }
	}
    }

}
?>

ACC SHELL 2018