static function testConditions(&$PDOdb, &$user, &$object, $action, $conf) { $level = self::getLevelFromUser($user); $TRes = $PDOdb->ExecuteAsArray("SELECT d.rowid \n\t\t\t\t\tFROM " . MAIN_DB_PREFIX . "dolidacticiel d \n\t\t\t\t\tLEFT JOIN " . MAIN_DB_PREFIX . "dolidacticiel_user du ON (du.fk_dolidacticiel = d.rowid AND du.fk_user="******")\n\t\t\t\t\tWHERE FIND_IN_SET('" . $action . "', d.action) AND d.level<=" . $level . " AND du.achievement IS NULL"); foreach ($TRes as $row) { $d = new TDolidacticiel(); $d->load($PDOdb, $row->rowid); $rights = !empty($d->rights) ? eval('return (' . $d->rights . ' == 1);') : true; $eval = !empty($d->cond) ? eval('return (' . $d->cond . ');') : true; if ($eval === true && $rights === true) { $k = $d->addChild($PDOdb, 'TDolidacticielUser'); //var_dump($d->TDolidacticielUser); $d->TDolidacticielUser[$k]->fk_user = $user->id; $d->TDolidacticielUser[$k]->achievement = 1; $d->save($PDOdb); setEventMessages('GG WP ' . $d->code . ' : ' . $d->title . "\n" . $d->description, null); } } }
$langs->load("dolidacticiel@dolidacticiel"); // Access control if (!$user->admin) { accessforbidden(); } $PDOdb = new TPDOdb(); // Parameters $action = GETPOST('action', 'alpha'); $dolidacticiel = new TDolidacticiel(); /* * Actions */ if ($action) { switch ($action) { case 'view': $dolidacticiel->load($PDOdb, GETPOST('id')); _fiche($PDOdb, $dolidacticiel, 'view'); break; case 'edit': $dolidacticiel->load($PDOdb, GETPOST('id')); _fiche($PDOdb, $dolidacticiel, 'edit'); break; case 'save': $dolidacticiel->load($PDOdb, GETPOST('id')); $dolidacticiel->set_values($_REQUEST); $dolidacticiel->save($PDOdb); _fiche($PDOdb, $dolidacticiel, 'view'); break; case 'liste': _liste($PDOdb, $dolidacticiel, $action); break;