This is the API documentation for concrete5 version 5.6 and earlier. View Current API Documentation
 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 
<?php
defined('C5_EXECUTE') or die("Access Denied.");
/**
 * @package Workflow
 * @author Andrew Embler <[email protected]>
 * @copyright  Copyright (c) 2003-2012 concrete5. (http://www.concrete5.org)
 * @license    http://www.concrete5.org/license/     MIT License
 *
 */
 
class Concrete5_Model_DeletePagePageWorkflowRequest extends PageWorkflowRequest {
    
    protected $wrStatusNum = 100;

    public function __construct() {
        $pk = PermissionKey::getByHandle('delete_page');
        parent::__construct($pk);
    }

    public function getWorkflowRequestDescriptionObject() {
        $d = new WorkflowDescription();
        $c = Page::getByID($this->cID, 'ACTIVE');
        $item = t('page');
        if ($c->getCollectionTypeHandle() == STACKS_PAGE_TYPE) {
            $item = t('stack');
        }
        $link = Loader::helper('navigation')->getLinkToCollection($c, true);
        $d->setEmailDescription(t("\"%s\" has been marked for deletion. View the page here: %s.", $c->getCollectionName(), $link));
        $d->setInContextDescription(t("This %s has been marked for deletion. ", $item));
        $d->setDescription(t("<a href=\"%s\">%s</a> has been marked for deletion. ", $link, $c->getCollectionName()));
        $d->setShortStatus(t("Pending Delete"));
        return $d;
    }
    
    public function getWorkflowRequestStyleClass() {
        return 'error';
    }
    
    public function getWorkflowRequestApproveButtonClass() {
        return 'error';
    }

    public function getWorkflowRequestApproveButtonInnerButtonRightHTML() {
        return '<i class="icon-white icon-trash"></i>';
    }   
    
    public function getWorkflowRequestApproveButtonText() {
        return t('Approve Delete');
    }

    public function approve(WorkflowProgress $wp) {
        $c = Page::getByID($this->getRequestedPageID());
        if ($c->getCollectionTypeHandle() == STACKS_PAGE_TYPE) {
            $c = Stack::getByID($this->getRequestedPageID());
            $c->delete();
            $wpr = new WorkflowProgressResponse();
            $wpr->setWorkflowProgressResponseURL(View::url('/dashboard/blocks/stacks', 'stack_deleted'));
            return $wpr;
        }

        $cParentID = $c->getCollectionParentID();
        if (ENABLE_TRASH_CAN) {
            $c->moveToTrash();
        } else {
            $c->delete();
        }
        $wpr = new WorkflowProgressResponse();
        $wpr->setWorkflowProgressResponseURL(BASE_URL . DIR_REL . '/' . DISPATCHER_FILENAME . '?cID=' . $cParentID);
        return $wpr;
    }

    
}