- 1
$dir = substr($path, 0, -strlen(basename($path)));
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 4
−22
$dir = substr($path, 0, -strlen(basename($path)));
Когда забыл о существовании basedir()
0
if (strpos($route, ':') !== false) {
$route = str_replace(':any', '([^/]+)', str_replace(':num', '([0-9]+)', str_replace(':all', '(.+)', $route)));
}
Очередная обезьяна села высерать свои мысли на PHP ... Уже много говорили тут о mpak и его "cms", вот вам еще одно "чудо": https://github.com/wolfcms/wolfcms
+5
<?
if($login=='')
{
global $APPLICATION;
$APPLICATION->ThrowException('Имя входа должно быть заполнено.');
return false;
}
// Получить последнее исключение можно методом
$APPLICATION->GetException()
?>
Bitrix. Лучшие стандарты веб-разработки и новое ядро! Создатели логики try-catch-throw наверное перевернулись бы 100500 раз в гробу увидев такую "реализацию". Пруф как "нужно делать": https://dev.1c-bitrix.ru/api_help/main/reference/cmain/throwexception.php
+2
<?php
/*
You can place here your functions and event handlers
AddEventHandler("module", "EventName", "FunctionName");
function FunctionName(params)
{
//code
}
*/
AddEventHandler('form', 'onBeforeResultAdd', 'my_onBeforeResultAdd');
CModule::IncludeModule('cleantalk.antispam');
function my_onBeforeResultAdd($WEB_FORM_ID, $arFields, $arrVALUES) {
$ct_status = COption::GetOptionString('cleantalk.antispam', 'status', '0');
if ($ct_status == 1) {
global $APPLICATION;
$aParams = array();
$aParams['type'] = 'comment';
$aParams['sender_email'] = isset($arrVALUES['email']) ? $arrVALUES['email'] : '';
$aParams['sender_nickname'] = isset($arrVALUES['nickname']) ? $arrVALUES['nickname'] : '';
$aParams['message_title'] = isset($arrVALUES['title']) ? $arrVALUES['title'] : '';
$aParams['message_body'] = isset($arrVALUES['message']) ? $arrVALUES['message'] : '';
$aResult = CleantalkAntispam::CheckAllBefore($aParams, FALSE);
if (isset($aResult) && is_array($aResult)) {
if ($aResult['errno'] == 0) {
if ($aResult['allow'] == 1) {
//Not spammer - just return;
return;
} else {
if (preg_match('//u', $aResult['ct_result_comment'])) {
$err_str=preg_replace('/^[^\*]*?\*\*\*|\*\*\*[^\*]*?$/iu','',$aResult['ct_result_comment']);
$err_str=preg_replace('/<[^<>]*>/iu', '', $err_str);
} else {
$err_str=preg_replace('/^[^\*]*?\*\*\*|\*\*\*[^\*]*?$/i','',$aResult['ct_result_comment']);
$err_str=preg_replace('/<[^<>]*>/i', '', $err_str);
}
$APPLICATION->ThrowException($err_str);
return false;
}
}
}
}
}
?>
Четкая конторка написала четкий антиспам-модуль для битрикса и показывает как его нужно использовать. Тут все в одном флаконе - от игнорирования всех стандартов PSR разом до иррациональной реализации ... Пост на хабре: https://habrahabr.ru/company/cleantalk/blog/302800/