# # Free Software Foundation, Inc., # 59 Temple Place, # Suite 330, # Boston, MA 02111-1307 USA # # $Id: delete.php,v 1.3 2005/03/29 16:56:26 filetreefrog Exp $ ################################################## if (!defined("PATHOS")) { exit(""); } $resource = $db->selectObject("resourceitem", "id=" . $_GET['id']); if ($resource != null) { $loc = unserialize($resource->location_data); $iloc = pathos_core_makeLocation($loc->mod, $loc->src, $resource->id); if (pathos_permissions_check("delete", $loc) || pathos_permissions_check("delete", $iloc)) { foreach ($db->selectObject("resourceitem_wf_revision", "wf_original=" . $resource->id) as $wf_res) { $file = $db->selectObject("file", "id=" . $wf_res->file_id); file::delete($file); $db->delete("file", "id=" . $file->id); } $db->delete("resourceitem", "id=" . $resource->id); $db->delete("resourceitem_wf_revision", "wf_original=" . $resource->id); $db->decrement('resourceitem', 'rank', 1, "location_data='" . $resource->location_data . "' AND rank >= " . $resource->rank); pathos_flow_redirect(SYS_FLOW_SECTIONAL); } else { echo SITE_403_HTML; } } else { echo SITE_404_HTML; }
$original = $db->selectObject('imageworkshop_image', 'id=' . $_POST['id']); if ($original) { $working = $db->selectObject('imageworkshop_imagetmp', 'original_id=' . $original->id); if ($working) { $original->file_id = $working->file_id; } $file = $db->selectObject('file', 'id=' . $original->file_id); $file->_path = BASE . $file->directory . '/' . $file->filename; $wfile = null; if ($working == null) { $working = imageworkshopmodule::createWorkingCopy($original, $file); $wfile = $working->_file; unset($working->_file); } else { $wfile = $db->selectObject('file', 'id=' . $working->file_id); } $wfile->_path = BASE . $wfile->directory . '/' . $wfile->filename; if (!defined('SYS_IMAGE')) { require_once BASE . 'subsystems/image.php'; } $newimg = pathos_image_scaleManually($file->_path, $_POST['width'], $_POST['height']); if (is_resource($newimg)) { pathos_image_output($newimg, pathos_image_sizeinfo($file->_path), $wfile->_path); pathos_flow_redirect(); } else { echo $newimg; } } else { echo SITE_404_HTML; } // END PERM CHECK
function pathos_workflow_post($object, $table, $loc, $userdata = null) { global $db, $user; $policy = pathos_workflow_getPolicy($loc->mod, $loc->src); $is_post = false; if (isset($object->id)) { // Updating an existing $object->approved = 2; $fake = null; $fake->approved = 2; $fake->id = $object->id; $db->updateObject($fake, $table); $object->wf_original = $object->id; // SET ACTIONTYPE FOR RUNACTIONS $object->wf_type = SYS_WORKFLOW_ACTION_EDITED; } else { $is_post = true; $object->approved = 0; $object->wf_original = $db->insertObject($object, $table); $object->wf_type = SYS_WORKFLOW_ACTION_POSTED; } $object->wf_major = $db->max($table . "_wf_revision", "wf_major", "wf_original", "wf_original=" . $object->wf_original); if ($object->wf_major == null) { $object->wf_major = 0; } $object->wf_minor = 1; $state = array(array($user->id + 0), array($user->id => 1)); $object->wf_state_data = serialize($state); $object->wf_user_id = $user->id; // Now check approval right off the bat. Admin is always exempt from workflow if (pathos_workflow_checkApprovalState($state, $policy) || $user->is_acting_admin == 1) { $object->wf_major++; $object->wf_minor = 0; $real_object = pathos_workflow_convertToObject($object); $real_object->approved = 1; $object->wf_updated = time(); $db->updateObject($real_object, $table); // Call spidering for implicit / admin approval. if (is_callable(array($loc->mod, "spiderContent"))) { call_user_func(array($loc->mod, "spiderContent"), $real_object); } if ($user->is_acting_admin == 1) { $object->wf_type = SYS_WORKFLOW_ACTION_POSTED_ADMIN; } else { $object->wf_type = SYS_WORKFLOW_ACTION_IMPLICIT_APPROVAL; } } else { $info = pathos_workflow_updateInfoFromRevision($object, null); $info->location_data = $object->location_data; $info->policy_id = $policy->id; $info->open_slots = $policy->max_approvers; $info->updated = time(); $db->insertObject($info, $table . "_wf_info"); $object->wf_updated = time(); } unset($object->id); $db->insertObject($object, $table . "_wf_revision"); pathos_workflow_deleteOldRevisions($table, $object->wf_original); // Now that we are almost done, we need to call the onWorkflow stuff. if (is_callable(array($table, 'onWorkflowPost'))) { if (!isset($real_object)) { $real_object = pathos_workflow_convertToObject($object); $real_object->id = $object->wf_original; } call_user_func(array($table, 'onWorkflowPost'), $real_object, $is_post, $userdata); } if ($policy != null) { // run actions, either EDIT or POST or IMPLICIT_APPROVAL pathos_workflow_runActions($policy, $object->wf_type, $object); } else { // Catch-all redirect - in case its a new post, implicitly approved, with no policy pathos_flow_redirect(); } }