ACC SHELL

Path : /srv/www/vhosts/centrumlb/administrace/include/role/
File Upload :
Current File : /srv/www/vhosts/centrumlb/administrace/include/role/role_ulozit.inc

<?php

if (isset($_POST['odeslat'])) {
    $nazev = Validate::validateString($_POST['nazev'], 'Název', true);
    if ($nazev) {
	if (isset($_POST['id']) && $_POST['id'] != false) {
	    $id = intval($_POST['id']);
	    $moduly_id = dibi::query('SELECT id FROM moduly')->fetchAll();

	    // Projdu vsechny dostupne moduly, pokud je id modulu zaskrtnute v chceckboxu, stav = 1, else 0
	    foreach ($moduly_id as $modul) {
		$stav = in_array($modul->id, $_POST['modul']) == true ? '1' : '0';
		$test = dibi::query('SELECT id_prirazeni FROM role_prirazeni WHERE id_role=%i', $id, ' AND id_modulu=%i', $modul->id)->fetchSingle();
		if ($test) {
		    dibi::query('UPDATE role_prirazeni SET stav =%i', $stav, ' WHERE id_role=%i', $id, ' AND id_modulu=%i', $modul->id);
		} else {
		    dibi::query('INSERT INTO role_prirazeni (id_role, id_modulu, stav) VALUES(' . $id . ',' . $modul->id . ',' . $stav . ')');
		}
	    }
	} else {
	    $test = dibi::query('SELECT id FROM role WHERE nazev = %s', $nazev, ' LIMIT 1')->fetch();
	    if ($test) {
		$_SESSION['message_ko'][] = 'Název role <a href="role_edit.php?id_role=' . $test->id . '">' . $nazev . '</a> již existuje.';
	    } else {
		$test = dibi::query('INSERT INTO role (nazev, modifikace) VALUES("' . $nazev . '", now())');

		$id = dibi::insertId();

		$moduly_id = $Role->fetchAllModules();

		// Projdu vsechny dostupne moduly, pokud je id modulu zaskrtnute v chceckboxu, stav = 1, else 0
		foreach ($moduly_id as $modul) {
		    $stav = in_array($modul->id, $_POST['modul']) == true ? '1' : '0';
		    dibi::query('INSERT INTO role_prirazeni (id_role, id_modulu, stav) VALUES(' . $id . ',' . $modul->id . ',' . $stav . ')');
		}
	    }
	}

	if (isset($_POST['odeslat_a_zavrit']) && $id != 0) {
	    Tools::redirect('role.php');
	} else {
	    Tools::redirect("role_edit.php?id_role=" . $id);
	}
    }
}
?>

ACC SHELL 2018