function FatalCheck() { $error = error_get_last(); if ($error['type'] == E_ERROR) { ErrorHandler($error['type'], $error['message'], $error['file'], $error['line']); } }
/** * Автозагрузка классов * @param $ClassName */ function __autoload($ClassName) { if (isset($GLOBALS['system_autoload'][$ClassName])) { require_once $GLOBALS['system_autoload'][$ClassName]; } else { ErrorHandler(E_USER_ERROR, 'Class not found: ' . $ClassName, __FILE__, __LINE__); } }
/** * Отправляет E-mail * @param $ToName * @param $ToEmail * @param $Subject * @param $Text * @param bool $Html * @param string $From * @param string $FromEmail */ function SendMail($ToName, $ToEmail, $Subject, $Text, $Html = false, $From = '', $FromEmail = '') { $mail = LmEmailExtended::Instance(); if ($From == '' && $FromEmail == '') { $mail->SetFrom(System::config('general/site_email'), Cp1251ToUtf8(System::config('general/site_name'))); } else { $mail->SetFrom($FromEmail, Cp1251ToUtf8($From)); } $mail->SetSubject(Cp1251ToUtf8($Subject)); if (!$Html) { $mail->AddTextPart(Cp1251ToUtf8($Text)); } else { $mail->AddHtmlPart(Cp1251ToUtf8($Text)); } $mail->AddTo($ToEmail, Cp1251ToUtf8($ToName)); if (!$mail->Send()) { ErrorHandler(USER_ERROR, 'Проблема при отправке E-mail "' . $Subject . '".', __FILE__); } }
/** * Создает новое изображение из файла * @param $ImgFileName * @param int $Width * @param int $Height * @return mixed */ public function CreateFromFile($ImgFileName, $Width = 0, $Height = 0) { if (!file_exists($ImgFileName)) { ErrorHandler(USER_NOTICE, 'Файл не найден', 'TPicture::CreateFromFile'); return; } if ($this->gd != null) { $this->Destruct(); } $size = getimagesize($ImgFileName); $format = strtolower(substr($size['mime'], strpos($size['mime'], '/') + 1)); $vformat = false; if ($format == 'jpg' || $format == 'jpeg') { $vformat = true; $this->Format = IMAGE_JPEG; $this->gd = ImageCreateFromJPEG($ImgFileName); } elseif ($format == 'png') { $vformat = true; $this->Format = IMAGE_PNG; $this->gd = ImageCreateFromPNG($ImgFileName); } elseif ($format == 'gif') { $vformat = true; $this->Format = IMAGE_GIF; $this->gd = ImageCreateFromGIF($ImgFileName); } elseif ($format == 'wbmp') { $vformat = true; $this->Format = IMAGE_WBMP; $this->gd = ImageCreateFromWBMP($ImgFileName); } if ($vformat) { $this->SaveFormat = $this->Format; $this->Width = $size[0]; $this->Height = $size[1]; $this->NewWidth = 0; $this->NewHeight = 0; $this->JpegQuality = 95; } }
public function testMain() { ob_start(); dump(['test' => rand()]); // это тест! expect('Функция дампа не отдает результат', ob_get_clean())->notEmpty(); $this->assertInstanceOf(yii\log\Dispatcher::class, YiiLog()); $this->assertInstanceOf(yii\db\Connection::class, DB()); $this->assertInstanceOf(yii\base\ErrorHandler::class, ErrorHandler()); $this->assertInstanceOf(yii\caching\Cache::class, Cache()); $this->assertInstanceOf(yii\i18n\Formatter::class, Formatter()); $this->assertInstanceOf(yii\base\View::class, View()); $this->assertInstanceOf(yii\i18n\I18N::class, I18N()); $this->assertInstanceOf(yii\rbac\ManagerInterface::class, AuthManager()); $this->assertInstanceOf(yii\web\AssetManager::class, AssetManager()); $this->assertInstanceOf(yii\web\User::class, User()); $this->assertInstanceOf(yii\base\Request::class, Request()); $this->assertInstanceOf(yii\base\Response::class, Response()); $this->assertInstanceOf(yii\web\Session::class, Session()); $this->assertInstanceOf(yii\web\UrlManager::class, UrlManager()); $this->assertInstanceOf(yii\mail\MailerInterface::class, Mailer()); $this->assertInstanceOf(services\File\Service::class, FileService()); $this->assertInstanceOf(services\Activity\Service::class, ActivityService()); }
/** * Вывод пользовательской ошибки через обработчик ошибок. * @static * @param $No * @param $Error * @param $File * @param $Line */ public static function error($No, $Error, $File, $Line = -1) { ErrorHandler($No, $Error, $File, $Line); }
/** * Для совместимости со старыми модулями. * @param $No * @param $Error * @param $File * @param $Line */ function error_handler($No, $Error, $File, $Line = -1) { ErrorHandler($No, $Error, $File, $Line); }
/** * Выводит форму добавления или редактирования комментария. * @param bool $Edit Метод редактирования * @param string $PostFormBlockName Имя блока для вывода формы */ public function RenderForm($Edit = false, $PostFormBlockName = 'postsform') { if ($this->DisableComments) { System::site()->AddBlock($PostFormBlockName, false, false, 'form', $this->PostFormTemplate); return; } else { System::site()->AddBlock($PostFormBlockName, true, false, 'form', $this->PostFormTemplate); } if ($Edit && isset($_GET['post_id'])) { $post_id = SafeEnv($_GET['post_id'], 11, int); } elseif ($Edit && !isset($_GET['post_id'])) { ErrorHandler(USER_ERROR, 'Posts::PostForm(): post_id не инициализирована.', __FILE__); return; } if (!$Edit && !$this->AlloyComments) { $this->Alert($PostFormBlockName, 'Обсуждение закрыто'); return; } if (!$Edit && !System::user()->Auth && !$this->GuestPost) { // Гость $this->Alert($PostFormBlockName, 'Гости не могут добавлять комментарии, войдите или зарегистрируйтесь.'); return; } System::site()->AddVars('template', array('lang_posts_username' => 'Имя', 'lang_posts_useremail' => 'E-mail', 'lang_posts_hideemail' => 'Скрыть E-mail', 'lang_posts_userhomepage' => 'Сайт', 'lang_posts_posttitle' => 'Заголовок', 'lang_posts_postmessage' => 'Сообщение', 'lang_posts_cancel' => 'Отмена', 'lang_posts_canceltitle' => 'Вернуться к теме без сохранения изменений')); $back = ''; if (!$Edit) { $back = '&back=' . SaveRefererUrl(); } $vars = array(); if ($Edit) { System::database()->Select($this->PostsTable, "`id`='{$post_id}'"); $post = System::database()->FetchRow(); if (System::user()->Auth) { $access = System::user()->Get('u_id') == $post['user_id'] || System::user()->isAdmin(); } else { $access = $post['user_id'] == '0' && $post['user_ip'] == getip(); } if (!$access) { $this->Alert($PostFormBlockName, 'У вас не достаточно прав!'); return; } $vars['form_title'] = 'Редактирование сообщения'; $vars['form_action'] = $this->PostFormAction . "&post_id={$post_id}" . $back; $vars['post_message'] = HtmlChars($post['post_message']); $vars['edit'] = true; System::site()->SetVar('template', 'lang_posts_submit', 'Сохранить'); System::site()->SetVar('template', 'lang_posts_submittitle', 'Сохранить изменения и вернуться'); $vars['visibility'] = 'visible'; } else { $vars['form_title'] = 'Добавить комментарий'; $vars['form_action'] = $this->PostFormAction . $back; $vars['post_title'] = ''; $vars['post_message'] = ''; $vars['edit'] = false; System::site()->SetVar('template', 'lang_posts_submit', 'Добавить'); System::site()->SetVar('template', 'lang_posts_submittitle', 'Добавить новое сообщение'); $vars['visibility'] = 'hidden'; } $vars['add'] = !$vars['edit']; $vars['add_guest'] = (System::user()->AccessLevel() == 3 || System::user()->AccessLevel() == 4) && $vars['add']; $vars['show_kaptcha'] = $vars['add_guest'] || !System::user()->isAdmin() && $this->ShowKaptchaForMembers; $vars['kaptcha_url'] = 'index.php?name=plugins&p=antibot'; $vars['kaptcha_width'] = '120'; $vars['kaptcha_height'] = '40'; // Подключаем BBCode редактор IncludePluginsGroup('bbcode_editors'); // Смайлики для формы $smilies = System::database()->Select('smilies', "`enabled`='1'"); $vars['is_smilies'] = System::database()->NumRows() != 0; if ($vars['is_smilies']) { System::site()->AddBlock('smilies', true, true, 'smile'); foreach ($smilies as $smile) { $smile['file'] = RealPath2(System::config('general/smilies_dir') . $smile['file']); $sub_codes = explode(',', SafeDB($smile['code'], 255, str)); $smile['code'] = $sub_codes[0]; System::site()->AddSubBlock('smilies', true, $smile); } } else { System::site()->AddBlock('smilies', true, false, 'smile', '', 'Смайликов пока нет.'); } System::site()->Blocks[$PostFormBlockName]['vars'] = $vars; }
protected function Error($msg) { $msg = '<p><b>' . $this->Method . '</b>: ' . $msg . '<p>'; $this->ErrorMsg = $msg; $this->AllErrors[] = $msg; $this->Error = true; if ($this->ErrorReporting) { ErrorHandler(USER_WARNING, $msg, __FILE__, __LINE__); } $this->EndQ(); }
function IndexFormSendMail($email, $form_name, $time, $user, $ip, $data_rows) { if ($user != 0) { $user_info = GetUserInfo($user); $user = SafeDB($user_info['name'], 255, str) . ' ( id:' . SafeDB($user_info['id'], 11, int) . ' )'; $from = $user_info['name']; $from_email = $user_info['email']; } else { $user = '******'; $from = System::config('general/site_name'); $from_email = System::config('general/site_email'); } $subject = 'Веб форма "' . SafeDB($form_name, 255, str) . '"'; $mail = LmEmailExtended::Instance(); $mail->SetSubject(Cp1251ToUtf8($subject)); $mail->SetFrom($from_email, Cp1251ToUtf8($from)); $mail->AddTo($email, Cp1251ToUtf8('Администратор')); $post_text = ''; foreach ($data_rows as $row) { if ($row[2] == 'file') { $mail->AddAttachmentPart(file_get_contents($row[1]), $row[3]); } else { $post_text .= '<b>' . SafeDB($row[0], 255, str) . ':</b><br />' . SafeDB($row[1], 0, str) . '<br />'; } } $text = Indent(' <html> <head> <title>Форма</title> </head> <body> <table cellspacing="2" cellpadding="10" border="1"> <tr> <th>Дата: ' . TimeRender($time, true, false) . '</th> <th>Пользователь: ' . $user . '</th> <th>IP: ' . $ip . '</th> </tr> <tr> <td colspan="3" style="text-align: left;">' . $post_text . '</td> </tr> </table> </body> </html> '); $mail->AddHtmlPart(Cp1251ToUtf8($text)); if (!$mail->Send()) { ErrorHandler(USER_ERROR, 'Проблема при отправке E-mail "' . $subject . '".', __FILE__); } }
/** * Обходит дерево с вызовом пользовательской функции * Пример пользовательской функции * function UserFunc($cat, $level){ * $cat - Текущий элемент дерева * $level - Уровень вложенности * } * * @param int $ParentId Идентификатор родительского объекта с которого нужно начинать обход * @param string|array $CallbackFunc Имя функции или массив с именем класса и метода * @param string|array $CallbackCatFinish Имя функции вызываемой при завершении обработки каждой категории. Параметры $Id, $Level. * @return bool Возвращает true в случае успешного обхода */ public function ListingTree($ParentId, $CallbackFunc, $CallbackCatFinish = null) { $tree = $this->GetChildTree($ParentId); if (!is_array($CallbackFunc) && !@function_exists($CallbackFunc) || is_array($CallbackFunc) && !@method_exists($CallbackFunc[0], $CallbackFunc[1])) { ErrorHandler(NOTICE, 'CallBack функция не предопределена.', 'Tree->ListingTree()'); return false; } else { if (count($tree) == 0) { return false; } $c = count($tree); foreach ($tree as $i => $tree_item) { if (call_user_func_array($CallbackFunc, array($tree_item, 0, $i, $c)) !== false) { $this->ToCatsTree($tree_item, 1, $CallbackFunc, $CallbackCatFinish); } } if (isset($CallbackCatFinish)) { call_user_func_array($CallbackCatFinish, array('0', 0)); } return true; } }
<?php $config = "WEB-INF/config.xml"; $xmlreader = new xmlreader($config); $xml = $xmlreader->parse(); $dbsetting = $xml["config"]["#"]["database"][0]["#"]; $dsn = "{$dbsetting['type'][0]['#']}://{$dbsetting['usr'][0]['#']}:{$dbsetting['pass'][0]['#']}@{$dbsetting['host'][0]['#']}/{$dbsetting['name'][0]['#']}"; $db = NewADOConnection($dsn); if (!$db) { ErrorHandler("Can not connet to {$dbsetting['type'][0]['#']} server", __FILE__, __LINE__); } $_SERVER['Magix_DB'] = $db; //add other configuer
function FatalErrorHandler() { if ($error = error_get_last()) { ErrorHandler($error['type'], $error['message'], $error['file'], $error['line']); } }