public function delete(CAppUI $AppUI)
 {
     $perms = $AppUI->acl();
     if (canEdit('system')) {
         if ($msg = parent::delete()) {
             return $msg;
         }
         return true;
     }
     return false;
 }
Example #2
0
 public function delete(CAppUI $AppUI)
 {
     $perms = $AppUI->acl();
     $this->_error = array();
     if ($perms->checkModuleItem('resources', 'delete', $this->resource_id)) {
         if ($msg = parent::delete()) {
             return $msg;
         }
         return true;
     }
     return false;
 }
 public function delete(CAppUI $AppUI)
 {
     $perms = $AppUI->acl();
     $this->_error = $this->canDelete(null, $this->file_folder_id);
     if (count($this->_error)) {
         return $this->_error;
     }
     if ($perms->checkModuleItem('files', 'edit')) {
         if ($msg = parent::delete()) {
             return $msg;
         }
         return true;
     }
     return false;
 }
 /**
  *	Overloaded delete method
  *
  *	@author caseydk
  *	@return true if it worked, false if it didn't
  */
 public function delete(CAppUI $AppUI)
 {
     $perms = $AppUI->acl();
     $this->_error = array();
     if ($this->canDelete($msg) && $perms->checkModuleItem('events', 'delete', $this->event_id)) {
         if ($msg = parent::delete()) {
             return $msg;
         }
         $q = $this->_query;
         $q->setDelete('user_events');
         $q->addWhere('event_id = ' . (int) $this->event_id);
         $q->exec();
         return true;
     }
     return false;
 }
 public function delete(CAppUI $AppUI)
 {
     $perms = $AppUI->acl();
     /*
      * TODO: This should probably use the canDelete method from above too to 
      *     not only check permissions but to check dependencies... luckily the 
      *     previous version didn't check it either, so we're no worse off.
      */
     if ($perms->checkModuleItem('holiday', 'delete', $this->holiday_id)) {
         if ($msg = parent::delete()) {
             return $msg;
         }
         return true;
     }
     return false;
 }
Example #6
0
 public function delete()
 {
     if ($this->_perms->checkModuleItem($this->_tbl_module, 'delete', $this->{$this->_tbl_key})) {
         if ($msg = parent::delete()) {
             return $msg;
         }
         return true;
     }
     return false;
 }
Example #7
0
 public function delete()
 {
     if ($this->_perms->checkModuleItem($this->_tbl_module, 'delete', $this->{$this->_tbl_key})) {
         $rows = $this->loadAll(null, 'dept_parent = ' . (int) $this->dept_id);
         if (count($rows)) {
             $this->_error['deptWithSub'] = 'deptWithSub';
             return 'deptWithSub';
         }
         $q = $this->_getQuery();
         $q->addTable('project_departments', 'pd');
         $q->addQuery('pd.project_id');
         $q->addWhere('pd.department_id = ' . (int) $this->dept_id);
         $rows = $q->loadList();
         $q->clear();
         if (count($rows)) {
             $this->_error['deptWithProject'] = 'deptWithProject';
             return 'deptWithProject';
         }
         if ($msg = parent::delete()) {
             return $msg;
         }
         return true;
     }
     return false;
 }
Example #8
0
 public function delete()
 {
     global $helpdesk_available;
     $this->_error = array();
     if ($this->_perms->checkModuleItem($this->_tbl_module, 'delete', $this->{$this->_tbl_key})) {
         // remove the file from the file system
         if (!$this->deleteFile()) {
             $this->_error['file-delete'] = 'file-delete';
             return false;
         }
         if ($msg = parent::delete()) {
             return $msg;
         }
         // delete any index entries
         $q = $this->_query;
         $q->setDelete('files_index');
         $q->addQuery('*');
         $q->addWhere('file_id = ' . (int) $this->file_id);
         if (!$q->exec()) {
             $result = db_error();
             $this->_error['index-delete'] = $result;
             return $result;
         }
         if ($helpdesk_available && $this->file_helpdesk_item != 0) {
             $this->addHelpDeskTaskLog();
         }
         return true;
     }
     return false;
 }
 public function delete(CAppUI $AppUI = null)
 {
     global $AppUI;
     $perms = $AppUI->acl();
     $result = false;
     $this->_error = array();
     /*
      * TODO: This should probably use the canDelete method from above too to
      *   not only check permissions but to check dependencies... luckily the
      *   previous version didn't check it either, so we're no worse off.
      */
     if ($perms->checkModuleItem('projects', 'delete', $this->project_id)) {
         $q = $this->_query;
         $q->addTable('tasks');
         $q->addQuery('task_id');
         $q->addWhere('task_project = ' . (int) $this->project_id);
         $tasks_to_delete = $q->loadColumn();
         $q->clear();
         foreach ($tasks_to_delete as $task_id) {
             $q->setDelete('user_tasks');
             $q->addWhere('task_id =' . $task_id);
             $q->exec();
             $q->clear();
             $q->setDelete('task_dependencies');
             $q->addWhere('dependencies_req_task_id =' . (int) $task_id);
             $q->exec();
             $q->clear();
         }
         $q->setDelete('tasks');
         $q->addWhere('task_project =' . (int) $this->project_id);
         $q->exec();
         $q->clear();
         $q->addTable('files');
         $q->addQuery('file_id');
         $q->addWhere('file_project = ' . (int) $this->project_id);
         $files_to_delete = $q->loadColumn();
         $q->clear();
         foreach ($files_to_delete as $file_id) {
             $file = new CFile();
             $file->load($file_id);
             $file->delete($AppUI);
         }
         $q->setDelete('events');
         $q->addWhere('event_project =' . (int) $this->project_id);
         $q->exec();
         $q->clear();
         // remove the project-contacts and project-departments map
         $q->setDelete('project_contacts');
         $q->addWhere('project_id =' . (int) $this->project_id);
         $q->exec();
         $q->clear();
         $q->setDelete('project_departments');
         $q->addWhere('project_id =' . (int) $this->project_id);
         $q->exec();
         $q->clear();
         $q->setDelete('tasks');
         $q->addWhere('task_represents_project =' . (int) $this->project_id);
         $q->clear();
         if ($msg = parent::delete()) {
             return $msg;
         }
         return true;
     }
     return $result;
 }
Example #10
0
 public function delete(CAppUI $AppUI = null)
 {
     global $AppUI;
     $perms = $AppUI->acl();
     $this->_error = array();
     if ($perms->checkModuleItem('forums', 'delete', $this->forum_id)) {
         $q = $this->_query;
         $q->setDelete('forum_visits');
         $q->addWhere('visit_forum = ' . (int) $this->forum_id);
         $q->exec();
         // No error if this fails, it is not important.
         $q->clear();
         $q->setDelete('forum_messages');
         $q->addWhere('message_forum = ' . (int) $this->forum_id);
         if (!$q->exec()) {
             return db_error();
         }
         if ($msg = parent::delete()) {
             return $msg;
         }
         return true;
     }
     return false;
 }
Example #11
0
 public function delete(CAppUI $AppUI = null)
 {
     global $AppUI;
     $perms = $AppUI->acl();
     $this->_error = array();
     if ($perms->checkModuleItem('departments', 'delete', $this->dept_id)) {
         $q = new w2p_Database_Query();
         $q->addTable('departments', 'dep');
         $q->addQuery('dep.dept_id');
         $q->addWhere('dep.dept_parent = ' . (int) $this->dept_id);
         $rows = $q->loadList();
         $q->clear();
         if (count($rows)) {
             //return 'deptWithSub';
             return false;
         }
         $q->addTable('project_departments', 'pd');
         $q->addQuery('pd.project_id');
         $q->addWhere('pd.department_id = ' . (int) $this->dept_id);
         $rows = $q->loadList();
         $q->clear();
         if (count($rows)) {
             //return 'deptWithProject';
             return false;
         }
         if ($msg = parent::delete()) {
             return $msg;
         }
         return true;
     }
     return false;
 }
Example #12
0
 /**
  * Deletes the current task log from the database. Then updated total hours
  * worked cache on task.
  *
  * @return void
  *
  * @access public
  */
 public function delete(CAppUI $AppUI = null)
 {
     global $AppUI;
     $perms = $AppUI->acl();
     $this->_error = array();
     $this->load($this->task_log_id);
     //$task_log_task = $this->task_log_task;
     if ($perms->checkModuleItem('task_log', 'delete', $this->task_log_id)) {
         if ($msg = parent::delete()) {
             return $msg;
         }
         $this->updateHoursWorked($this->task_log_task);
         return true;
     }
     return false;
 }
Example #13
0
 public function delete($unused = null)
 {
     $result = false;
     if ($this->canDelete()) {
         $q = $this->_getQuery();
         $q->setDelete('forum_messages');
         $q->addWhere('message_forum = ' . (int) $this->forum_id);
         if (!$q->exec()) {
             $this->_error['delete-messages'] = db_error();
             return false;
         }
         $result = parent::delete();
     }
     return $result;
 }
Example #14
0
 public function delete(CAppUI $AppUI = null)
 {
     global $AppUI;
     $perms = $AppUI->acl();
     $canDelete = (int) $this->canDelete();
     $this->_error = array();
     if ($perms->checkModuleItem('users', 'delete', $this->user_id) && $canDelete) {
         $perms->deleteLogin($this->user_id);
         $q = new w2p_Database_Query();
         $q->setDelete('user_preferences');
         $q->addWhere('pref_user = ' . $this->user_id);
         $q->exec();
         if ($msg = parent::delete()) {
             return $msg;
         }
         return true;
     }
     return false;
 }
Example #15
0
 public function delete(CAppUI $AppUI = null)
 {
     global $AppUI;
     global $helpdesk_available;
     $perms = $AppUI->acl();
     $this->_error = array();
     if ($perms->checkModuleItem('files', 'delete', $this->file_id)) {
         // remove the file from the file system
         if (!$this->deleteFile($AppUI)) {
             return false;
         }
         if ($msg = parent::delete()) {
             return $msg;
         }
         // delete any index entries
         $q = new w2p_Database_Query();
         $q->setDelete('files_index');
         $q->addQuery('*');
         $q->addWhere('file_id = ' . (int) $this->file_id);
         if (!$q->exec()) {
             $q->clear();
             return db_error();
         }
         if ($helpdesk_available && $this->file_helpdesk_item != 0) {
             $this->addHelpDeskTaskLog();
         }
         return true;
     }
     return false;
 }
Example #16
0
 /**
  * Deletes the current task log from the database. Then updated total hours
  * worked cache on task.
  *
  * @return void
  *
  * @access public
  */
 public function delete()
 {
     $this->_error = array();
     $this->load($this->task_log_id);
     $task_id = $this->task_log_task;
     if ($this->_perms->checkModuleItem($this->_tbl_module, 'delete', $this->{$this->_tbl_key})) {
         if ($msg = parent::delete()) {
             return $msg;
         }
         $this->updateTaskSummary(null, $task_id);
         return true;
     }
     return false;
 }
Example #17
0
 /**
  * @todo Parent store could be partially used
  * @todo Can't delete a task with children
  */
 public function delete($unused = null)
 {
     $result = false;
     $this->clearErrors();
     $taskclass = get_class($this);
     if ($this->canDelete()) {
         //load it before deleting it because we need info on it to update the parents later on
         $this->load($this->task_id);
         $task = new $taskclass();
         $task->overrideDatabase($this->_query);
         // delete children
         $childrenlist = $this->getChildren();
         foreach ($childrenlist as $child) {
             $task->task_id = $child;
             $task->delete($this->_AppUI);
         }
         $taskList = $childrenlist + array($this->task_id);
         $implodedTaskList = implode(',', $taskList);
         $q = $this->_getQuery();
         // delete linked user tasks
         $q->setDelete('user_tasks');
         $q->addWhere('task_id IN (' . $implodedTaskList . ')');
         if (!$q->exec()) {
             $this->_error['delete-user-assignments'] = db_error();
             return false;
         }
         $q->clear();
         // delete affiliated task_dependencies
         $q->setDelete('task_dependencies');
         $q->addWhere('dependencies_task_id IN (' . $implodedTaskList . ') OR
             dependencies_req_task_id IN (' . $implodedTaskList . ')');
         if (!$q->exec()) {
             $this->_error['delete-dependencies'] = db_error();
             return false;
         }
         $q->clear();
         // delete affiliated contacts
         $q->setDelete('task_contacts');
         $q->addWhere('task_id = ' . $this->task_id);
         if (!$q->exec()) {
             $this->_error['delete-contacts'] = db_error();
             return false;
         }
         $result = parent::delete();
     }
     return $result;
 }
 public function delete($unused = null)
 {
     $result = false;
     if ($this->canDelete()) {
         $q = $this->_getQuery();
         $q->addTable('forum_messages');
         $q->addQuery('message_forum');
         $q->addWhere('message_id = ' . (int) $this->message_id);
         $forumId = $q->loadResult();
         $q->clear();
         $q->setDelete('forum_messages');
         $q->addWhere('message_id = ' . (int) $this->message_id);
         $result = parent::delete();
         $q->addTable('forum_messages');
         $q->addQuery('COUNT(message_id)');
         $q->addWhere('message_forum = ' . (int) $forumId);
         $messageCount = $q->loadResult();
         $q->clear();
         $q->addTable('forums');
         $q->addUpdate('forum_message_count', $messageCount);
         $q->addWhere('forum_id = ' . (int) $forumId);
         $q->exec();
     }
     return $result;
 }
Example #19
0
 public function delete($unused = null)
 {
     $result = false;
     $this->_error = array();
     if ($this->canDelete()) {
         // remove the file from the file system
         if (!$this->deleteFile()) {
             $this->_error['file-delete'] = 'file-delete';
             return false;
         }
         $result = parent::delete();
     }
     return $result;
 }
Example #20
0
 /**
  * @todo Parent store could be partially used
  * @todo Can't delete a task with children
  */
 public function delete(CAppUI $AppUI = null)
 {
     global $AppUI;
     $perms = $AppUI->acl();
     $this->_error = array();
     if ($perms->checkModuleItem('tasks', 'delete', $this->task_id)) {
         //load it before deleting it because we need info on it to update the parents later on
         $this->load($this->task_id);
         // delete children
         $childrenlist = $this->getChildren();
         foreach ($childrenlist as $child) {
             $task = new CTask();
             $task->task_id = $child;
             $task->delete($AppUI);
         }
         $taskList = $childrenlist + array($this->task_id);
         $implodedTaskList = implode(',', $taskList);
         $q = new w2p_Database_Query();
         // delete linked user tasks
         $q->setDelete('user_tasks');
         $q->addWhere('task_id IN (' . $implodedTaskList . ')');
         if (!$q->exec()) {
             return db_error();
         }
         $q->clear();
         // delete affiliated task_dependencies
         $q->setDelete('task_dependencies');
         $q->addWhere('dependencies_task_id IN (' . $implodedTaskList . ') OR
             dependencies_req_task_id IN (' . $implodedTaskList . ')');
         if (!$q->exec()) {
             return db_error();
         }
         $q->clear();
         // delete affiliated task_dependencies
         $q->setDelete('task_contacts');
         $q->addWhere('task_id = ' . $this->task_id);
         if (!$q->exec()) {
             return db_error();
         }
         if ($msg = parent::delete()) {
             return $msg;
         }
         if ($this->task_parent != $this->task_id) {
             $this->updateDynamics();
         }
         $last_task_data = $this->getLastTaskData($this->task_project);
         CProject::updateTaskCache($this->task_project, $last_task_data['task_id'], $last_task_data['last_date'], $this->getTaskCount($this->task_project));
         return true;
     }
     return false;
 }
Example #21
0
 public function delete()
 {
     if ($this->_perms->checkModuleItem($this->_tbl_module, 'delete', $this->{$this->_tbl_key})) {
         $q = $this->_getQuery();
         $q->setDelete('forum_visits');
         $q->addWhere('visit_forum = ' . (int) $this->forum_id);
         $q->exec();
         // No error if this fails, it is not important.
         $q->clear();
         $q->setDelete('forum_messages');
         $q->addWhere('message_forum = ' . (int) $this->forum_id);
         if ($q->exec()) {
             $result = null;
         } else {
             $result = db_error();
             $this->_error['delete-messages'] = $result;
             return $result;
         }
         $q->clear();
         if ($msg = parent::delete()) {
             return $msg;
         }
         return true;
     }
     return false;
 }
 public function delete(CAppUI $AppUI = null)
 {
     global $AppUI;
     $this->_error = array();
     if ($msg = parent::delete()) {
         return $msg;
     }
     return true;
 }
Example #23
0
 public function delete()
 {
     $result = false;
     if ($this->_perms->checkModuleItem($this->_tbl_module, 'delete', $this->{$this->_tbl_key})) {
         $q = $this->_getQuery();
         $q->addTable('tasks');
         $q->addQuery('task_id');
         $q->addWhere('task_project = ' . (int) $this->project_id);
         $tasks_to_delete = $q->loadColumn();
         $q->clear();
         $task = new CTask();
         $task->overrideDatabase($this->_query);
         foreach ($tasks_to_delete as $task_id) {
             $task->task_id = $task_id;
             $task->delete();
         }
         $q->clear();
         $q->addTable('files');
         $q->addQuery('file_id');
         $q->addWhere('file_project = ' . (int) $this->project_id);
         $files_to_delete = $q->loadColumn();
         $q->clear();
         $file = new CFile();
         $file->overrideDatabase($this->_query);
         foreach ($files_to_delete as $file_id) {
             $file->file_id = $file_id;
             $file->delete();
         }
         $q->clear();
         $q->addTable('events');
         $q->addQuery('event_id');
         $q->addWhere('event_project = ' . (int) $this->project_id);
         $events_to_delete = $q->loadColumn();
         $q->clear();
         $event = new CEvent();
         $event->overrideDatabase($this->_query);
         foreach ($events_to_delete as $event_id) {
             $event->event_id = $event_id;
             $event->delete();
         }
         $q->clear();
         // remove the project-contacts and project-departments map
         $q->setDelete('project_contacts');
         $q->addWhere('project_id =' . (int) $this->project_id);
         $q->exec();
         $q->clear();
         $q->setDelete('project_departments');
         $q->addWhere('project_id =' . (int) $this->project_id);
         $q->exec();
         $q->clear();
         $q->setDelete('tasks');
         $q->addWhere('task_represents_project =' . (int) $this->project_id);
         $q->clear();
         if ($msg = parent::delete()) {
             return $msg;
         }
         return true;
     }
     return $result;
 }