zentaomax.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. /**
  3. * 将交付物配置项渲染成可读的变更记录。
  4. * Process deliverable json.
  5. *
  6. * @param string $objectType
  7. * @param int $objectID
  8. * @param object $history
  9. * @access public
  10. * @return string
  11. */
  12. public function processDeliverableJson($objectType, $objectID, $history)
  13. {
  14. return $this->loadExtension('zentaomax')->processDeliverableJson($objectType, $objectID, $history);
  15. }
  16. /**
  17. * 恢复被删除对象的关联数据。
  18. * Recover related data of deleted object.
  19. *
  20. * @param object $action
  21. * @param object $object
  22. * @access protected
  23. * @return void
  24. */
  25. protected function recoverRelatedData($action, $object)
  26. {
  27. parent::recoverRelatedData($action, $object);
  28. if($action->objectType == 'reporttemplate')
  29. {
  30. $module = $this->dao->select('id,deleted')->from(TABLE_MODULE)->where('id')->eq($object->module)->fetch();
  31. if($module->deleted != '0')
  32. {
  33. $this->dao->update(TABLE_MODULE)->set('deleted')->eq(actionModel::BE_UNDELETED)->where('id')->eq($object->module)->exec();
  34. $this->dao->update(TABLE_ACTION)->set('extra')->eq(actionModel::BE_UNDELETED)->where('objectType')->eq('reporttemplatecategory')->andWhere('objectID')->eq($object->module)->exec();
  35. $this->create('reporttemplatecategory', $object->module, 'undeleted');
  36. }
  37. $files = $this->loadModel('file')->getByObject('reportTemplate', $action->objectID);
  38. if($files) $this->dao->update(TABLE_FILE)->set('deleted')->eq(actionModel::BE_UNDELETED)->where('id')->in(array_keys($files))->exec();
  39. }
  40. if($action->objectType == 'weekly')
  41. {
  42. $module = $this->dao->select('id,deleted')->from(TABLE_MODULE)->where('id')->eq($object->module)->fetch();
  43. if($module && $module->deleted != '0')
  44. {
  45. $this->dao->update(TABLE_MODULE)->set('deleted')->eq(actionModel::BE_UNDELETED)->where('id')->eq($object->module)->exec();
  46. $this->dao->update(TABLE_ACTION)->set('extra')->eq(actionModel::BE_UNDELETED)->where('objectType')->eq('reportcategory')->andWhere('objectID')->eq($object->module)->exec();
  47. $this->create('reportcategory', $object->module, 'undeleted');
  48. }
  49. $files = $this->loadModel('file')->getByObject('weekly', $action->objectID);
  50. if($files) $this->dao->update(TABLE_FILE)->set('deleted')->eq(actionModel::BE_UNDELETED)->where('id')->in(array_keys($files))->exec();
  51. }
  52. }