Example #1
0
 private function executeRule(Rulerz $rule, sfDoctrineRecord $entity, $eventName)
 {
     $execution = new RulerzExecution();
     $execution->setRulerz($rule);
     $execution->setEvent($eventName);
     $execution->setEntityUid($entity->getPrimaryKey());
     try {
         ob_start();
         $lua = new Lua();
         $lua->assign('entity', $entity->toArray());
         $this->registerLuaApi($lua);
         $result = $lua->eval($rule->getAction());
         $print = ob_get_contents();
         ob_end_clean();
         $execution->setStatus('SUCCESS');
         $execution->setExecutionData(sprintf("%s\n\nResult : %s", $print, $result));
     } catch (Exception $e) {
         $execution->setStatus('FAILED');
         $execution->setExecutionData($e->__toString());
     }
     $execution->save();
 }
 public function toArray()
 {
     $array = parent::toArray();
     $i18n = $this->getCurrentI18nObject();
     $i18nArray = $i18n ? $i18n->toArray() : array();
     return array_merge($array, $i18nArray);
 }