Beispiel #1
0
 /**
  * running cron for updating tree changes into solr
  */
 public static function runCron()
 {
     if (\CB\Config::getFlag('disableTriggers') || \CB\Config::getFlag('disableSolrIndexing')) {
         return;
     }
     $solrClient = new \CB\Solr\Client();
     $solrClient->updateTree();
     unset($solrClient);
 }
Beispiel #2
0
 /**
  * delete an object from tree or marks it as deleted
  * @param boolean $permanent Specify true to delete the object permanently.
  *                            Default to false.
  * @return void
  */
 public function delete($permanent = false)
 {
     // we need to load this object before delete
     // for passing it to log and/or events
     if (!is_numeric($this->id)) {
         return;
     }
     if (!$this->loaded) {
         $this->load();
     }
     \CB\fireEvent('beforeNodeDbDelete', $this);
     if ($permanent) {
         DB\dbQuery('DELETE from tree WHERE id = $1', $this->id) or die(DB\dbQueryError());
         $solrClient = new \CB\Solr\Client();
         $solrClient->deleteByQuery('id:' . $this->id);
     } else {
         DB\dbQuery('UPDATE tree
             SET did = $2
                 ,dstatus = 1
                 ,ddate = CURRENT_TIMESTAMP
                 ,updated = (updated | 1)
             WHERE id = $1', array($this->id, $_SESSION['user']['id'])) or die(DB\dbQueryError());
         DB\dbQuery('CALL p_mark_all_childs_as_deleted($1, $2)', array($this->id, $_SESSION['user']['id'])) or die(DB\dbQueryError());
     }
     $this->deleteCustomData($permanent);
     \CB\fireEvent('nodeDbDelete', $this);
     //dont add log action if permanently deleted
     if (!$permanent) {
         $this->logAction('delete', array('old' => &$this));
     }
 }
Beispiel #3
0
 /**
  * delete an object from tree or marks it as deleted
  * @param boolean $persistent Specify true to delete the object permanently.
  *                            Default to false.
  * @return void
  */
 public function delete($persistent = false)
 {
     // we need to load this object before delete
     // for passing it to log and/or events
     if (!is_numeric($this->id)) {
         return;
     }
     if (!$this->loaded) {
         $this->load();
     }
     \CB\fireEvent('beforeNodeDbDelete', $this);
     DM\Tree::delete($this->id, $persistent);
     if ($persistent) {
         $solrClient = new \CB\Solr\Client();
         $solrClient->deleteByQuery('id:' . $this->id);
     }
     $this->deleteCustomData($persistent);
     \CB\fireEvent('nodeDbDelete', $this);
     //dont add log action if persistent deleted
     if (!$persistent) {
         $this->logAction('delete', array('old' => &$this));
     }
 }