Пример #1
0
 /**
  * Сделать апдейт таймлайна прямого общения
  * 
  * @param string $name
  */
 public function directUpdate($name)
 {
     /**
      * Если пользователь имеет возможность работать с рабочим пространством
      */
     if ($this->acl->isAllowed($this->user['role'], ACL_RESOURCE_WORKSPACE, ACL_ACTION_WORK)) {
         $S =& $this->view->smarty;
         /**
          * Если данные не пришли, либо не верны
          */
         if (!(($direct = $this->input->post('direct')) !== FALSE && isset($direct['text']) && !empty($direct['text']))) {
             trigger500();
         }
         /**
          * Получаем и аутентифицируемся в модели
          */
         $M = TwitterModel::getInstance();
         $M->login($this->user['login']);
         $M->password($this->user['password']);
         /**
          * Запрос на добавление
          */
         $result = $M->directNew($name, $direct['text']);
         /**
          * Если код ответа на запрос более либо равен 300, то считаем это за ошибку
          */
         if ($M->isError()) {
             trigger500();
         }
     } else {
         trigger404();
     }
 }
Пример #2
0
 /**
  * 致命错误处理函数。
  * 该函数会接受所有类型的错误,应该只处理致命错误
  * @param type $errno
  * @param type $errstr
  * @param type $errfile
  * @param type $errline
  * @return type
  */
 function woniu_fatal_handler()
 {
     $system = WoniuLoader::$system;
     $errfile = "unknown file";
     $errstr = "shutdown";
     $errno = E_CORE_ERROR;
     $errline = 0;
     $error = error_get_last();
     $fatal_err = array(E_ERROR, E_USER_ERROR, E_COMPILE_ERROR, E_CORE_ERROR, E_PARSE, E_RECOVERABLE_ERROR);
     if ($error !== NULL && isset($error["type"]) && in_array($error["type"], $fatal_err)) {
         $errno = $error["type"];
         $errfile = $error["file"];
         $errline = $error["line"];
         $errstr = $error["message"];
         if ($system['log_error']) {
             $handle = $system['log_error_handle']['error'];
             if (!empty($handle)) {
                 if (is_array($handle)) {
                     $class = key($handle);
                     $method = $handle[$class];
                     $rclass_obj = new ReflectionClass($class);
                     $rclass_obj = $rclass_obj->newInstanceArgs();
                     if (method_exists($rclass_obj, $method)) {
                         $rclass_obj->{$method}($errno, $errstr, $errfile, $errline, get_strace());
                     }
                 } else {
                     if (function_exists($handle)) {
                         $handle($errno, $errstr, $errfile, $errline, get_strace());
                     }
                 }
             }
         }
         if ($system['debug']) {
             //@ob_clean();
             trigger500('<pre>' . format_error($errno, $errstr, $errfile, $errline) . '</pre>');
         }
         exit;
     }
 }