/** * test delete * @test * @depends test_create * @depends test_generate_key * @depends test_exist */ public function test_delete() { self::login_as_admin(); self::delete_tokens_file(); $key = Guesttoken::generate_key(); $path = Settings::$photos_dir . "/tokenfolder"; $key2 = Guesttoken::generate_key(); $path2 = Settings::$photos_dir . "/subfolder"; GuestToken::create($path, $key); GuestToken::create($path2, $key2); $this->assertFalse(GuestToken::delete(GuestToken::generate_key())); $this->assertCount(2, GuestToken::findAll()); $this->assertTrue(GuestToken::delete($key)); $this->assertCount(1, GuestToken::findAll()); $this->assertFalse(GuestToken::exist($key)); $this->assertTrue(GuestToken::exist($key2)); }
/** * Create admin page * * @author Thibaud Rohmer */ public function __construct() { /// Check that current user is an admin or an uploader if (!(CurrentUser::$admin || CurrentUser::$uploader)) { return; } /// Get actions available for Uploaders too if (isset($_GET['a'])) { switch ($_GET['a']) { case "Abo": $this->page = new AdminAbout(); break; case "Upl": if (isset($_POST['path'])) { AdminUpload::upload(); CurrentUser::$path = File::r2a(stripslashes($_POST['path'])); } break; case "Mov": if (isset($_POST['pathFrom'])) { try { CurrentUser::$path = File::r2a(dirname(stripslashes($_POST['pathFrom']))); } catch (Exception $e) { CurrentUser::$path = Settings::$photos_dir; } } Admin::move(); if (isset($_POST['move']) && $_POST['move'] == "rename") { try { if (is_dir(File::r2a(stripslashes($_POST['pathFrom'])))) { CurrentUser::$path = dirname(File::r2a(stripslashes($_POST['pathFrom']))) . "/" . stripslashes($_POST['pathTo']); } } catch (Exception $e) { CurrentUser::$path = Settings::$photos_dir; } } break; case "Del": if (isset($_POST['del'])) { if (!is_array($_POST['del'])) { CurrentUser::$path = dirname(File::r2a(stripslashes($_POST['del']))); } else { CurrentUser::$path = dirname(File::r2a(stripslashes($_POST['del'][0]))); } Admin::delete(); } break; } } /// Check that current user is an admin if (!CurrentUser::$admin) { return; } /// Get action if (isset($_GET['a'])) { switch ($_GET['a']) { case "Sta": $this->page = new AdminStats(); break; case "VTk": $this->page = new GuestToken(); break; case "DTk": if (isset($_POST['tokenkey'])) { GuestToken::delete($_POST['tokenkey']); } $this->page = new GuestToken(); break; case "Acc": if (isset($_POST['edit'])) { Account::edit($_POST['login'], $_POST['old_password'], $_POST['password'], $_POST['name'], $_POST['email'], NULL, $_POST['language']); } if (isset($_POST['login'])) { $this->page = new Account($_POST['login']); } else { $this->page = CurrentUser::$account; } break; case "GC": Group::create($_POST['group']); $this->page = new Group(); break; case "AAc": Account::create($_POST['login'], $_POST['password'], $_POST['verif']); $this->page = new Group(); break; case "AGA": $a = new Account($_POST['acc']); $a->add_group($_POST['group']); $a->save(); $this->page = CurrentUser::$account; break; case "AGR": $a = new Account($_POST['acc']); $a->remove_group($_POST['group']); $a->save(); $this->page = CurrentUser::$account; break; case "ADe": Account::delete($_POST['name']); $this->page = new Group(); break; case "GEd": Group::edit($_POST); $this->page = new Group(); break; case "GDe": Group::delete($_GET['g']); $this->page = new Group(); break; case "CDe": CurrentUser::$path = File::r2a($_POST['image']); Comments::delete($_POST['id']); $this->page = new MainPage(); break; case "JS": break; case "EdA": $this->page = new Group(); break; case "GAl": if (isset($_POST['path'])) { Settings::gener_all(File::r2a(stripslashes($_POST['path']))); } case "Set": if (isset($_POST['name'])) { Settings::set(); } $this->page = new Settings(); break; } } if (!isset($this->page)) { $this->page = new AdminAbout(); } /// Create menu $this->menu = new AdminMenu(); }