/** * Сделать апдейт таймлайна прямого общения * * @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(); } }
/** * 致命错误处理函数。 * 该函数会接受所有类型的错误,应该只处理致命错误 * @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; } }