public function user_create($login, $password, $profile = null) { global $default_permissions; if (!is_string($login) || !is_string($password) || !ctype_alnum($login)) { throw new Exception("Invalid user"); } $this->permissions_require("admin.user.create"); $this->db->beginTransaction(); $rs = $this->db->prepare('INSERT INTO ' . $this->prfx . 'users (login, pass, creation) VALUES (?,?,NOW())'); $rs->execute(array($login, $this->crypte_password($password))); $id = $this->db->lastInsertId(); foreach ($default_permissions as $perm) { $this->db->exec('INSERT INTO ' . $this->prfx . 'permissions VALUES (' . $id . ', \'' . $perm . '\');'); } // création du profil $temp = $this->user; $this->user = array('id' => $id); if ($profile == null) { $profile = array("link" => $id); } else { $profile["link"] = $id; } $ph = new ProfilesHandler($this); $ph->profiles_create($profile); $this->user = $temp; $this->db->commit(); return $id; }
<?php /** * Description of modifProfil: * Page de modification d'un profil * * @author Madeleine */ require '../smarty/setup.php'; $smarty = new Smarty_CRETPictures(); require_once '../app/system.class.php'; $sys = new System(); require_once '../app/ProfilesHandler.class.php'; $profiles = new ProfilesHandler($sys); $perms; //tableau qui stockera si l'utilisateur a certaines permissions $perms[0] = $sys->permissions_test('admin.user.create'); $perms[1] = $sys->permissions_test('admin.user.read'); $perms[2] = $sys->permissions_test('admin.user.update'); $perms[3] = $sys->permissions_test('admin.user.delete'); $perms[4] = $sys->permissions_test('admin.picture.read'); $perms[5] = $sys->permissions_test('application.picture.upload'); if ($sys->current_user() != null) { $usr = $sys->current_user(); $smarty->assign('name', $usr['login']); } else { $smarty->assign('name', ""); } if (isset($_GET['profil'])) { $profile = $profiles->profiles_getByID($_GET['profil']); $smarty->assign('profil', $profile);
<?php /** * Description of index: * Page d'accueil pour utilisateur non connecté OU connecté * * @author Madeleine * @modifier Estelle */ require 'smarty/setup.php'; $smarty = new Smarty_CRETPictures(); require_once 'app/System.class.php'; $sys = new System(); require_once 'app/ProfilesHandler.class.php'; $profiles = new ProfilesHandler($sys); require_once 'app/SearchEngine.class.php'; $search = new SearchEngine($sys); //si l'utilisateur n'est pas connecté if ($sys->current_user() == null) { $smarty->display('index.tpl'); } else { require_once 'app/PicturesHandler.class.php'; $phandler = new PicturesHandler($sys); //aller chercher les photos de l'utilisateur connecté $usr = $sys->current_user(); $perms; //tableau qui stockera si l'utilisateur a certaines permissions $perms[0] = $sys->permissions_test('admin.user.create'); $perms[1] = $sys->permissions_test('admin.user.read'); $perms[2] = $sys->permissions_test('admin.user.update'); $perms[3] = $sys->permissions_test('admin.user.delete');
<?php /** * Description of creerProfil: * Page de création de profil * * @author Madeleine */ require '../smarty/setup.php'; $smarty = new Smarty_CRETPictures(); require_once '../app/system.class.php'; $sys = new System(); require_once '../app/ProfilesHandler.class.php'; $profiles = new ProfilesHandler($sys); $usr = $sys->current_user(); $perms; //tableau qui stockera si l'utilisateur a certaines permissions $perms[0] = $sys->permissions_test('admin.user.create'); $perms[1] = $sys->permissions_test('admin.user.read'); $perms[2] = $sys->permissions_test('admin.user.update'); $perms[3] = $sys->permissions_test('admin.user.delete'); $perms[4] = $sys->permissions_test('admin.picture.read'); $perms[5] = $sys->permissions_test('application.picture.upload'); $smarty->assign('perms', $perms); if ($usr != null) { $smarty->assign('name', $usr['login']); } else { $smarty->assign('name', ""); } if (isset($_GET['who']) && $_GET['who'] == 'self') { $smarty->assign('who', "self");
<?php /** * Description of aperçuProfil: * Page de visualisation d'un profil * * @author Madeleine */ require '../smarty/setup.php'; $smarty = new Smarty_CRETPictures(); require_once '../app/system.class.php'; $sys = new System(); require_once '../app/ProfilesHandler.class.php'; $profiles = new ProfilesHandler($sys); if ($sys->current_user() != null) { $usr = $sys->current_user(); $smarty->assign('name', $usr['login']); } else { $smarty->assign('name', ""); $smarty->assign('profil', NULL); } $perms; //tableau qui stockera si l'utilisateur a certaines permissions $perms[0] = $sys->permissions_test('admin.user.create'); $perms[1] = $sys->permissions_test('admin.user.read'); $perms[2] = $sys->permissions_test('admin.user.update'); $perms[3] = $sys->permissions_test('admin.user.delete'); $perms[4] = $sys->permissions_test('admin.picture.read'); $perms[5] = $sys->permissions_test('application.picture.upload'); $smarty->assign('perms', $perms); if (isset($_GET['profil'])) {
<?php /** * Description of monProfil: * Page de visualisation de son profil perso * * @author Madeleine */ require '../smarty/setup.php'; $smarty = new Smarty_CRETPictures(); require_once '../app/system.class.php'; $sys = new System(); require_once '../app/ProfilesHandler.class.php'; $profiles = new ProfilesHandler($sys); $perms; //tableau qui stockera si l'utilisateur a certaines permissions $perms[0] = $sys->permissions_test('admin.user.create'); $perms[1] = $sys->permissions_test('admin.user.read'); $perms[2] = $sys->permissions_test('admin.user.update'); $perms[3] = $sys->permissions_test('admin.user.delete'); $perms[4] = $sys->permissions_test('admin.picture.read'); $perms[5] = $sys->permissions_test('application.picture.upload'); if ($sys->current_user() != null) { $usr = $sys->current_user(); $smarty->assign('name', $usr['login']); $profile = $profiles->profiles_getMine(); $smarty->assign('profil', $profile); } else { $smarty->assign('name', ""); $smarty->assign('profil', NULL); }
$user = $system->user_getByLogin($login); echo json_encode($system->permissions_revoke($user["id"], $perm)); }); $app->get('/user/:login/folder', function ($login) { global $system, $pictures; $user = $system->user_getByLogin($login); echo json_encode($user == null ? null : $pictures->pictures_getFolderByUserID($user["id"])); }); $app->post('/session', function () use($app) { global $system; echo json_encode($system->login($app->request()->get('login'), $app->request()->get('password'))); }); $app->delete('/session', function () { global $system; echo json_encode($system->logout()); }); $app->get('/session/user', function () { global $system; echo json_encode($system->current_user()); }); $app->get('/session/profile', function () { global $system; $ph = new ProfilesHandler($system); echo json_encode($ph->profiles_getMine()); }); $app->get('/session/folder', function () { global $system, $pictures; $user = $system->current_user(); echo json_encode($user == null ? null : $pictures->pictures_getFolderByUserID($user["id"])); }); $app->run();
<?php /** * Description of monProfil: * Page de visualisation d'un profil * * @author Madeleine */ require '../smarty/setup.php'; $smarty = new Smarty_CRETPictures(); require_once '../app/system.class.php'; $sys = new System(); require_once '../app/ProfilesHandler.class.php'; $profiles = new ProfilesHandler($sys); $perms; //tableau qui stockera si l'utilisateur a certaines permissions $perms[0] = $sys->permissions_test('admin.user.create'); $perms[1] = $sys->permissions_test('admin.user.read'); $perms[2] = $sys->permissions_test('admin.user.update'); $perms[3] = $sys->permissions_test('admin.user.delete'); $perms[4] = $sys->permissions_test('admin.picture.read'); $perms[5] = $sys->permissions_test('application.picture.upload'); $smarty->assign('perms', $perms); if ($sys->current_user() != null) { $usr = $sys->current_user(); $smarty->assign('name', $usr['login']); } else { $smarty->assign('name', ""); } if (isset($_GET['suppProfil'])) { $profiles->profiles_delete($_GET['suppProfil']);