public function process()
 {
     $language = $this->getProperty('language');
     $namespace = $this->getProperty('namespace');
     $topic = $this->getProperty('topic');
     $name = $this->getProperty('name');
     $value = $this->getProperty('value');
     $entries = $this->modx->lexicon->getFileTopic($language, $namespace, $topic);
     /* get entry */
     $this->entry = $this->modx->getObject('modLexiconEntry', array('name' => $name, 'namespace' => $namespace, 'language' => $language, 'topic' => $topic));
     /* if entry is same as file, remove db custom */
     if (!empty($entries[$name]) && $entries[$name] == $value) {
         if ($this->entry) {
             $this->entry->remove();
             $this->entry->clearCache();
         }
     } else {
         if ($this->entry == null) {
             $this->entry = $this->modx->newObject('modLexiconEntry');
             $this->entry->set('name', $name);
             $this->entry->set('namespace', $namespace);
             $this->entry->set('language', $language);
             $this->entry->set('topic', $topic);
         }
         $this->entry->set('editedon', date('Y-m-d h:i:s'));
         $this->entry->set('value', $value);
         if (!$this->entry->save()) {
             return $this->failure($this->modx->lexicon('entry_err_save'));
         }
         /* clear cache */
         $this->entry->clearCache();
     }
     $this->logManagerAction();
     return $this->success();
 }
Example #2
0
 public function process()
 {
     $language = $this->getProperty('language', 'en');
     $namespace = $this->getProperty('namespace', 'core');
     $topic = $this->getProperty('topic', 'default');
     $this->modx->lexicon->getFileTopic($language, $namespace, $topic);
     /* @var modLexiconEntry $entry */
     $this->entry = $this->modx->getObject('modLexiconEntry', array('name' => $this->getProperty('name'), 'namespace' => $namespace, 'language' => $language, 'topic' => $topic));
     if ($this->entry) {
         $this->entry->remove();
         $this->entry->clearCache();
     }
     $this->logManagerAction();
     return $this->success();
 }