<?php if (!defined('W2P_BASE_DIR')) { die('You should not access this file directly.'); } // @todo convert to template $object_id = (int) w2PgetParam($_GET, 'link_id', 0); $task_id = (int) w2PgetParam($_GET, 'task_id', 0); $project_id = (int) w2PgetParam($_GET, 'project_id', 0); $object = new CLink(); $object->setId($object_id); $obj = $object; $canAddEdit = $obj->canAddEdit(); $canAuthor = $obj->canCreate(); $canEdit = $obj->canEdit(); $canDelete = $object->canDelete(); if (!$canAddEdit) { $AppUI->redirect(ACCESS_DENIED); } $obj = $AppUI->restoreObject(); if ($obj) { $object = $obj; $object_id = $object->getId(); } else { $object->load($object_id); } if (!$object && $object_id > 0) { $AppUI->setMsg('Link'); $AppUI->setMsg('invalidID', UI_MSG_ERROR, true); $AppUI->redirect('m=' . $m); }
$q = new DBQuery(); $q->addQuery('links.*'); $q->addQuery('user_username'); $q->addQuery('contact_first_name, contact_last_name'); $q->addQuery('project_id'); $q->addQuery('task_id, task_name'); $q->addTable('links'); $q->leftJoin('users', 'u', 'link_owner = user_id'); $q->leftJoin('contacts', 'c', 'user_contact = contact_id'); $q->leftJoin('projects', 'p', 'project_id = link_project'); $q->leftJoin('tasks', 't', 'task_id = link_task'); $q->addWhere('link_id = ' . $link_id); // check if this record has dependancies to prevent deletion $msg = ''; $obj = new CLink(); $canDelete = $obj->canDelete($msg, $link_id); // load the record data $obj = null; if (!db_loadObject($q->prepare(), $obj) && $link_id > 0) { $AppUI->setMsg('Link'); $AppUI->setMsg("invalidID", UI_MSG_ERROR, true); $AppUI->redirect(); } // setup the title block $ttl = $link_id ? "Edit Link" : "Add Link"; $titleBlock = new CTitleBlock($ttl, 'folder5.png', $m, "{$m}.{$a}"); $titleBlock->addCrumb("?m={$m}", "links list"); $canDelete = getPermission($m, 'delete', $link_id); if ($canDelete && $link_id > 0) { $titleBlock->addCrumbDelete('delete link', $canDelete, $msg); }