Example #1
0
 /**
  * Metoda do logowania zdarzenia zadanego priorytetu wraz z danymi dodatkowymi 
  * @param string $priority
  * @param array $extras
  */
 public function log($priority, $extras)
 {
     $dict = new Base_Dictionary();
     $dict->setSource('log_messages');
     $entries = $dict->getDictionary();
     if (isset($extras['old']) && isset($extras['new'])) {
         if ($extras['old'] instanceof Zend_Db_Table_Row_Abstract && $extras['new'] instanceof Zend_Db_Table_Row_Abstract) {
             $diff = array_diff_assoc($extras['old']->toArray(), $extras['new']->toArray());
             if (count($diff) == 0) {
                 return;
             }
             // no changes, nothing to log
         }
     }
     switch ($priority) {
         case self::USEREDIT:
         case self::USERDELETE:
         case self::USERLOCK:
         case self::USERUNLOCK:
             $extras['id_user_affected'] = $extras['old']->id;
             break;
         case self::PROFILEDELETE:
             $extras['id_user_affected'] = $extras['old']->id_user;
             break;
         case self::PROFILEADD:
             $extras['id_user_affected'] = $extras['new']->id_user;
             break;
         case self::ROLEDELETE:
             $extras['id_user_affected'] = $extras['old']->findParentRow('profile')->id_user;
             break;
         case self::ROLEADD:
             $extras['id_user_affected'] = $extras['new']->findParentRow('profile')->id_user;
             break;
     }
     if (isset($extras['old'])) {
         $extras['old'] = str_replace("", "~~~NULLBYTE~~~", serialize($extras['old']));
     }
     if (isset($extras['new'])) {
         $extras['new'] = str_replace("", "~~~NULLBYTE~~~", serialize($extras['new']));
     }
     parent::log($entries[$priority], $priority, $extras);
 }