* @license http://www.contenido.org/license/LIZENZ.txt * @link http://www.4fb.de * @link http://www.contenido.org * * {@internal * created 2003-07-18 * * $Id: class.workflowactions.php 128 2019-07-03 11:58:28Z oldperl $ * }} * */ if (!defined('CON_FRAMEWORK')) { die('Illegal call'); } /** * Class WorkflowActions * Class for workflow action collections * @author Timo A. Hummel * @version 0.2 * @copyright four for business 2003 */ class WorkflowActions extends ItemCollection { /** * Constructor Function * @param string $table The table to use as information source */ function __construct() { global $cfg; parent::__construct($cfg["tab"]["workflow_actions"], "idworkflowaction"); $this->_setItemClass("WorkflowAction"); } /** * * @param type $idworkflowitem * @param type $action * @return boolean */ function get($idworkflowitem, $action) { $this->select("idworkflowitem = '" . Contenido_Security::escapeDB($idworkflowitem, NULL) . "' AND action = '" . Contenido_Security::escapeDB($action, NULL) . "'"); if ($this->next()) { return true; } else { return false; } } function getAvailableWorkflowActions() { $availableWorkflowActions = array( "publish" => i18n("Publish article", "workflow"), "lock" => i18n("Lock article", "workflow"), "last" => i18n("Move back to last editor", "workflow"), "reject" => i18n("Reject article", "workflow"), "articleedit" => i18n("Edit article content", "workflow"), "propertyedit" => i18n("Edit article properties", "workflow"), "templateedit" => i18n("Edit template", "workflow"), "revise" => i18n("Revise article", "workflow")); return($availableWorkflowActions); } function set($idworkflowitem, $action) { $this->select("idworkflowitem = '" . Contenido_Security::escapeDB($idworkflowitem, NULL) . "' AND action = '" . Contenido_Security::escapeDB($action, NULL) . "'"); if (!$this->next()) { $newitem = parent::createNewItem(); $newitem->setField("idworkflowitem", $idworkflowitem); $newitem->setField("action", $action); $newitem->store(); } } function remove($idworkflowitem, $action) { $this->select("idworkflowitem = '$idworkflowitem' AND action = '$action'"); if ($item = $this->next()) { $this->delete($item->getField("idworkflowaction")); } } function select($where = "", $group_by = "", $order_by = "", $limit = "") { global $client; return parent::select($where, $group_by, $order_by, $limit); } } /** * Class WorkflowAction * Class for a single workflow action * @author Timo A. Hummel * @version 0.1 * @copyright four for business 2003 */ class WorkflowAction extends Item { /** * Constructor * @global type $cfg */ function __construct() { global $cfg; parent::__construct($cfg["tab"]["workflow_actions"], "idworkflowaction"); } } ?>