Example #1
0
 function delete($id)
 {
     $page = new Page($id);
     $page->delete();
     set_notify('success', lang('delete_data_complete'));
     redirect('pages/admin/pages');
 }
function delPage()
{
    //Delete
    if ($GLOBALS["action"] == "delete" && $GLOBALS["id"] != null) {
        global $database;
        $delpage = new Page("pages");
        $id = $delpage::$id = "Id=" . $GLOBALS["id"];
        $delpage->delete();
        if ($database->affectedRows()) {
            //delete corresponding image
            $imgdirpath = "../";
            $image_path = $imgdirpath . PAGEIMG_DIR;
            $delimage = new Image("pageimgs");
            $getimage = $delimage::findRow("Pageid='{$GLOBALS["id"]}'");
            if ($database->getNumofRows() > 0) {
                unlink($image_path . $getimage->Imgname . "." . $getimage->Extention);
                //delete image
                unlink($imgdirpath . TEMP_DIR . $getimage->Imgname . "." . $getimage->Extention);
                //delete thumb image
                $delimage::$id = "Id=" . $GLOBALS["id"];
                $delimage->delete();
            }
        }
    }
    header("Location: " . filter_var($_SERVER['PHP_SELF'] . "?action=view&target=managepage"));
}
Example #3
0
 /**
  * Delete the company
  * @return void
  */
 function delete()
 {
     global $DB, $Controller, $USER;
     if ($Controller->alias('companyEditor')->may($USER, DELETE)) {
         $DB->companies->delete(array('id' => $this->ID));
         parent::delete();
     }
 }
Example #4
0
File: Page.php Project: kizz66/meat
 public function delete()
 {
     if ($this->show->itemID) {
         $oPage = new Page();
         $oPage->delete($this->show->itemID);
     }
     redirect(BASE_PATH . 'admin/page');
 }
Example #5
0
 public function delete()
 {
     if ($this->getStackType() == self::ST_TYPE_GLOBAL_AREA) {
         GlobalArea::deleteByName($this->getStackName());
     }
     parent::delete();
     $db = Loader::db();
     $db->Execute('delete from Stacks where cID = ?', array($this->getCollectionID()));
 }
Example #6
0
 public function removePage($pageNumber)
 {
     if (array_key_exists($pageNumber, $this->_pageKeys)) {
         $this->load->model('page');
         $page = new Page($this->_DBI);
         $pageKey = $this->_pageKeys[$pageNumber];
         $page->setKey($pageKey);
         if ($page->delete()) {
             array_splice($this->_pageKeys, $pageNumber, 1);
             return true;
         }
     }
     return false;
 }
Example #7
0
 /**
  * delete
  *
  * @param mixed $id ID of record to delete
  * @param array $expected 期待値
  * @param string $message テストが失敗した時に表示されるメッセージ
  * @dataProvider deleteDataProvider
  */
 public function testDelete($id, $expected, $message = null)
 {
     // 削除したファイルを再生するため内容を取得
     $Page = $this->Page->find('first', ['conditions' => ['Page.id' => $id], 'fields' => ['Content.url'], 'recursive' => 0]);
     $path = APP . 'View' . DS . 'Pages' . $Page['Content']['url'] . '.php';
     $File = new File($path);
     $Content = $File->read();
     // 削除実行
     $this->Page->delete($id);
     $this->assertFileNotExists($path, $message);
     // 元のファイルを再生成
     $File->write($Content);
     $File->close();
     // 削除できているか確認用にデータ取得
     $result = $this->Page->exists($id);
     $this->assertEquals($expected, $result, $message);
 }
Example #8
0
 public function display()
 {
     $page = new Page();
     $page->loadProperties(DataBase::Current()->EscapeString($_GET['site']));
     $host = Settings::getInstance()->get("host");
     if (!isset($_GET['delete'])) {
         $template = new Template();
         $template->load("site_delete");
         $template->assign_var("TITLE", $page->title);
         $home = UrlRewriting::GetUrlByAlias("admin/home");
         $template->assign_var("SITESURL", $home);
         $delete = UrlRewriting::GetUrlByAlias("admin/pagedelete", "site=" . urlencode($_GET['site']) . "&delete=true");
         $template->assign_var("DELETEURL", $delete);
         $template->output();
     } else {
         if ($page->delete()) {
             $template = new Template();
             $template->load("message");
             $message = str_ireplace("{VAR:TITLE}", $page->title, Language::GetGlobal()->getString("PAGE_DELETED"));
             $template->assign_var("MESSAGE", $message);
             $template->output();
         }
     }
 }
 public function testRevertToLiveFixesBrokenLinks()
 {
     // Create page and virutal page
     $p = new Page();
     $p->Title = "source";
     $p->write();
     $pageID = $p->ID;
     $this->assertTrue($p->doPublish());
     // Content links are one kind of link to pages
     $p2 = new Page();
     $p2->Title = "regular link";
     $p2->Content = "<a href=\"[sitetree_link,id={$p->ID}]\">test</a>";
     $p2->write();
     $this->assertTrue($p2->doPublish());
     // Virtual pages are another
     $vp = new VirtualPage();
     $vp->CopyContentFromID = $p->ID;
     $vp->write();
     // Redirector links are a third
     $rp = new RedirectorPage();
     $rp->Title = "redirector";
     $rp->LinkType = 'Internal';
     $rp->LinkToID = $p->ID;
     $rp->write();
     $this->assertTrue($rp->doPublish());
     // Confirm that there are no broken links to begin with
     $this->assertFalse($p2->HasBrokenLink);
     $this->assertFalse($vp->HasBrokenLink);
     $this->assertFalse($rp->HasBrokenLink);
     // Delete from draft and confirm that broken links are marked
     $pID = $p->ID;
     $p->delete();
     $vp->flushCache();
     $vp = DataObject::get_by_id('SiteTree', $vp->ID);
     $p2->flushCache();
     $p2 = DataObject::get_by_id('SiteTree', $p2->ID);
     $rp->flushCache();
     $rp = DataObject::get_by_id('SiteTree', $rp->ID);
     $this->assertEquals(1, $p2->HasBrokenLink);
     $this->assertEquals(1, $vp->HasBrokenLink);
     $this->assertEquals(1, $rp->HasBrokenLink);
     // Call doRevertToLive and confirm that broken links are restored
     $pLive = Versioned::get_one_by_stage('SiteTree', 'Live', '"SiteTree"."ID" = ' . $pID);
     $pLive->doRevertToLive();
     $p2->flushCache();
     $p2 = DataObject::get_by_id('SiteTree', $p2->ID);
     $vp->flushCache();
     $vp = DataObject::get_by_id('SiteTree', $vp->ID);
     $rp->flushCache();
     $rp = DataObject::get_by_id('SiteTree', $rp->ID);
     $this->assertFalse((bool) $p2->HasBrokenLink);
     $this->assertFalse((bool) $vp->HasBrokenLink);
     $this->assertFalse((bool) $rp->HasBrokenLink);
 }
	public function testNormalSiteTreeDeleteWithoutVersionsTableCleaning() {
		$page = new Page();
		$page->Title = 'Page';
		$page->write();
		$pageID = $page->ID;
		
		$page->delete();
		
		$query = "SELECT \"ID\" FROM \"SiteTree_versions\" WHERE \"RecordID\" = {$pageID}";
		$this->assertTrue((bool)DB::query($query)->value(),
			"No versions found for RecordID {$pageID} even though one should exist");
	}
Example #11
0
File: Admin.php Project: eadz/chyrp
 /**
  * Function: destroy_user
  * Destroys a user.
  */
 public function destroy_user()
 {
     if (!Visitor::current()->group->can("delete_user")) {
         show_403(__("Access Denied"), __("You do not have sufficient privileges to delete users."));
     }
     if (empty($_POST['id'])) {
         error(__("No ID Specified"), __("An ID is required to delete a user."));
     }
     if ($_POST['destroy'] == "bollocks") {
         redirect("/admin/?action=manage_users");
     }
     if (!isset($_POST['hash']) or $_POST['hash'] != Config::current()->secure_hashkey) {
         show_403(__("Access Denied"), __("Invalid security key."));
     }
     $sql = SQL::current();
     $user = new User($_POST['id']);
     if (isset($_POST['posts'])) {
         if ($_POST['posts'] == "delete") {
             foreach ($user->post as $post) {
                 Post::delete($post->id);
             }
         } elseif ($_POST['posts'] == "move") {
             $sql->update("posts", array("user_id" => $user->id), array("user_id" => $_POST['move_posts']));
         }
     }
     if (isset($_POST['pages'])) {
         if ($_POST['pages'] == "delete") {
             foreach ($user->page as $page) {
                 Page::delete($page->id);
             }
         } elseif ($_POST['pages'] == "move") {
             $sql->update("pages", array("user_id" => $user->id), array("user_id" => $_POST['move_pages']));
         }
     }
     User::delete($_POST['id']);
     Flash::notice(__("User deleted."), "/admin/?action=manage_users");
 }
Example #12
0
<?php

include_once getRootPath() . "/classes/core/Page.php";
$strNode = stripslashes($_REQUEST["node"]);
Page::delete($strNode);
Example #13
0
 /**
  * Delete the file
  * Cascades the call to parent
  * @see solidbase/lib/Page#delete()
  */
 function delete()
 {
     global $USER, $DB;
     if ($this->may($USER, DELETE)) {
         if ($this->Type == 'File') {
             unlink($this->path);
         }
         $DB->files->delete($this->ID);
         parent::delete();
     }
 }
Example #14
0
 public function delete()
 {
     if ($this->canDelete(Member::currentUser())) {
         parent::delete();
     }
 }
Example #15
0
<?php

require_once '../model/paths.php';
$session = new Session();
if (!$session->isLogin) {
    redirect("../login.php");
}
$user = new User();
$database = new Database();
$page = new Page();
if (isset($_POST['pageList']) && $_POST['pageList'] != null) {
    foreach ($_POST['pageList'] as $pageId) {
        $page->setPageId($database->escapeString($pageId));
        $page->delete($database);
        $path = "../logs";
        $dateTime = strftime("%Y-%m-%d %H:%M:%S");
        $text = "Deleted page with id:" . $pageId;
        $content = $dateTime . " " . $_SESSION['USNM'] . ": " . $text;
        $user->setId($_SESSION['USID']);
        $user->storeLog($content, $path);
        echo "true";
    }
} else {
    echo "false";
}
Example #16
0
 function delete()
 {
     // remove all the fields associated with this page
     foreach ($this->Fields() as $field) {
         $field->delete();
     }
     parent::delete();
 }
Example #17
0
 function delete($id = null)
 {
     if ($id) {
         $page = new Page($id);
         $page->delete();
     }
     header('Location: ' . url());
 }
Example #18
0
 function writePage($name, $meta)
 {
     if (!$meta['stamp']) {
         $meta['stamp'] = time();
     }
     $page = new Page();
     if (!$page->isValidName($name)) {
         return false;
     }
     if (!$page->exists($name)) {
         return $this->_writeFullSource($name, $meta);
     }
     // Determine the current diff level.
     $work = $meta;
     $work['parent'] = 0;
     for ($level = 0; $work['type'] != 'full'; $level++) {
         if (!$page->read($name, $work['parent'])) {
             return false;
         }
         $work = $page->meta;
     }
     $max = intval($GLOBALS['pie']['max_diff_level']);
     if ($max > 0 && $level > $max) {
         return $this->_writeFullSource($name, $meta);
     }
     // Determine the version to be referred to as parent.
     if (!($current = $this->readPage($name, 0))) {
         return false;
     }
     $meta['parent'] = $current['stamp'];
     // Create a diff between the latest version and the new one.
     if (!($diff = $this->diff($current['source'], $meta['source']))) {
         return false;
     }
     if (strlen($meta['source']) - strlen($diff) < 100) {
         // The diff is not much smaller (or even larger)
         // than the original source.
         // Write a full version instead of just a diff.
         unset($meta['parent']);
         return $this->_writeFullSource($name, $meta);
     }
     // Note:
     // At this stage, it is decided to write a diff instead
     // of a full version.
     // If the current page is an alias, delete it altogether,
     // to be replaced by a real page with the current data.
     if ($current['type'] == 'alias') {
         if (!$page->delete($name)) {
             return false;
         }
     }
     // Replace the latest shadow, if any.
     $replace = false;
     if ($current['type'] == 'shadow') {
         $replace = true;
     }
     // Write a diff.
     $page->name = $name;
     $page->source = $diff;
     $full = $meta['source'];
     unset($meta['source']);
     $meta['type'] = 'diff';
     $page->meta = $meta;
     if (!$page->write($replace)) {
         return false;
     }
     // Create an additional shadow record including the full source.
     $page->source = $full;
     $page->meta['type'] = 'shadow';
     return $page->write(false);
 }
Example #19
0
<?php

if (system\Helper::arcIsAjaxRequest() == true) {
    $page = new Page();
    $page->delete($_POST["id"]);
    system\Helper::arcAddMessage("success", "Page deleted");
}
	/**
	 * Called on before delete remove all the fields from the database
	 */
  	public function delete() {
		foreach($this->Fields() as $field) {
			$field->delete();
		}
		parent::delete();   
	}
Example #21
0
 /**
  * Deletes the image and page.
  *
  * @param string $reason A reason for the deletion. Defaults to null (blank).
  * @param string|bool $watch Unconditionally add or remove the page from your watchlist, use preferences or do not change watch. Default preferences.
  * @param string $oldimage The name of the old image to delete as provided by iiprop=archivename
  * @return bool True on success
  */
 public function delete($reason = null, $watch = null, $oldimage = null)
 {
     return $this->page->delete($reason, $watch, $oldimage);
 }
Example #22
0
     $page->load();
     $template = 'default';
     if (!$page->is_writeable()) {
         if ($page_exists) {
             $template = 'html';
         } else {
             die("Sorry but you cannot create new pages");
         }
     }
     require "templates/{$template}.php";
     exit;
 case 'DELETE':
     if (!$page_exists) {
         header('HTTP/1.0 404 Not Found');
     } else {
         $page->delete();
     }
     exit;
 case 'PUT':
 case 'POST':
 case 'PATCH':
     $page->text = request_var('text');
     try {
         $saved = $page->save();
     } catch (Exception $e) {
         $saved = $e->getMessage();
     }
     if ($saved !== true) {
         header('HTTP/1.0 500 Internal Server Error');
         die($saved ? $saved : 'Error saving page.');
     }
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy(Page $page)
 {
     $page->delete();
     return Redirect::route('admin.pages.index')->withMessage("La page a été supprimée");
 }
 public function testDeletingFromLiveSourcePageOfAVirtualPageAlsoUnpublishesVirtualPage()
 {
     // Create page and virutal page
     $p = new Page();
     $p->Title = "source";
     $p->write();
     $this->assertTrue($p->doPublish());
     $vp = new VirtualPage();
     $vp->CopyContentFromID = $p->ID;
     $vp->write();
     $this->assertTrue($vp->doPublish());
     // All is fine, the virtual page doesn't have a broken link
     $this->assertFalse($vp->HasBrokenLink);
     // Delete the source page from draft, confirm that this creates a broken link
     $pID = $p->ID;
     $p->delete();
     $vp->flushCache();
     $vp = DataObject::get_by_id('SiteTree', $vp->ID);
     $this->assertEquals(1, $vp->HasBrokenLink);
     // Delete the source page form live, confirm that the virtual page has also been unpublished
     $pLive = Versioned::get_one_by_stage('SiteTree', 'Live', '"SiteTree"."ID" = ' . $pID);
     $this->assertTrue($pLive->doDeleteFromLive());
     $vpLive = Versioned::get_one_by_stage('SiteTree', 'Live', '"SiteTree"."ID" = ' . $vp->ID);
     $this->assertNull($vpLive);
     // Delete from draft, confirm that the virtual page has a broken link on the draft site
     $pLive->delete();
     $vp->flushCache();
     $vp = DataObject::get_by_id('SiteTree', $vp->ID);
     $this->assertEquals(1, $vp->HasBrokenLink);
 }
	public function testWithOrphanedHasManyRelations() {
		DataObjectOnDeleteDecorator::set_disabled(true);
		//JanitorDebug::set_verbose(true);
		
		$page = new Page();
		$page->Title = 'Page1';
		$page->write();
		$pageID = $page->ID;
		
		for ($i = 0; $i < 5; ++$i) {
			$comment = new PageComment();
			$comment->Name = "Snowball {$i}";
			$comment->Comment = "Comment #{$i}!";
			$comment->ParentID = $pageID;
			$comment->write();
		}
		
		$page->delete();
		
		DataObjectOnDeleteDecorator::set_disabled(false);
		$task = new DataObjectRetroactiveCleanerTask();
		$task->run(null);
		$task->deleteBackup();
		
		$this->assertFalse((bool)DataObject::get('PageComment', "ParentID = {$pageID}"),
			"PageComment not cleaned properly (retroactively)");
		JanitorDebug::set_verbose(false);
	}