/** * 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); }
/** * 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)); } }
/** * 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)); } }