- 1
^[\s\u200c]+|[\s\u200c]+$
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+3
^[\s\u200c]+|[\s\u200c]+$
Стековерфло не могут в регулярные выражения или регулярные выражения не могут в простейшую задачу?
http://stackstatus.net/post/147710624694/outage-postmortem-july-20-2016
+7
github.com/natribu/natribu.org
Исходники официального сайта нахуй, жесть
0
function CheckPropertyForSend(&$fields) {
if ($fields["IBLOCK_ID"] == CATALOG_ID) {
$arFilter = array("IBLOCK_ID" =>CATALOG_ID, "ID"=>$fields["ID"], "PROPERTY_NOT_ALLOWED" =>92);
$res = CIBlockElement::GetList(Array(), $arFilter);
if($res->SelectedRowsCount() == 1){
$GLOBALS['NEED_CHECK'] = true;
}else{
$GLOBALS['NEED_CHECK'] = false;
}
$prod = LenalHelp::getProductInfo($fields["ID"]);
$count = 0;
$cheked = ( $fields["PROPERTY_VALUES"][580][0]["VALUE"] == 92 ) ? true : false;
foreach ( $prod["STORES"] as $item ) {
if ( $item["PRODUCT_AMOUNT"] ) {
$count += $item["PRODUCT_AMOUNT"];
}
}
// -- убираем фдаг "нет в наличии" ---
if ( $count > 0 && $cheked ) {
$fields["PROPERTY_VALUES"][580] = "";
}
// -- устанавливаем фдаг "нет в наличии" ---
if ( $count == 0 && !$cheked ) {
$fields["PROPERTY_VALUES"][580][0]["VALUE"] = 92;
}
}
}
Платформа Битрикс, Lenal гребанные ублюдки
+2
<?if( $arResult['PROPERTIES']['NOT_ALLOWED']['VALUE'] == 'да' || $arItem["PROPERTIES"]["NOT_ALLOWED"]["VALUE_XML_ID"] == "Y" ) { ?>
<div class="alert-empty alert--licence">
<?$APPLICATION->IncludeComponent(
"bitrix:main.include",
"",
Array(
"AREA_FILE_SHOW" => "file",
"PATH" => SITE_DIR."/inc/card_not_allowed.php",
"EDIT_TEMPLATE" => ""
)
);?>
Платформа Битрикс, очередное творение Lenal в шаблоне компонента.
Сравнение значения с КИРИЛИЦЕЙ в template.php.
+3
#include <windows.h>
int main() {
HDC dc = CreateCompatibleDC (NULL);
SetLayout (dc, LAYOUT_RTL);
ScaleWindowExtEx (dc, -2147483647 - 1, -1, 1, 1, NULL);
}
bsod
+4
void delslovo(char *a)
{
static int i = 0;
static bool j = false;
if (a[i++] != '\0') delslovo(a);
else i--;
if (!j)
{
if (a[i] != ' '&&a[i] != '\n'&&a[i] != '\0')
{
j = true;
i++;
}
}
if (j)
{
if (a[i - 1] == ' ') return;
a[i - 1] = a[i];
}
i--;
}
вот так надо удалять последнее слово из строки
−3
<?php
if(!class_exists('avia_breadcrumb'))
{
class avia_breadcrumb
{
var $options;
function __construct($options = ""){
$this->options = array( //change this array if you want another output scheme
'before' => '<span class="arrow"> ',
'after' => ' </span>',
'delimiter' => '»'
);
if(is_array($options))
{
$this->options = array_merge($this->options, $options);
}
$markup = $this->options['before'].$this->options['delimiter'].$this->options['after'];
global $post;
echo '<p class="breadcrumb"><span class="breadcrumb_info">'.__('You are here:','avia_framework').'</span> <a href="'.get_bloginfo('url').'">';
bloginfo('name');
echo "</a>";
if(!is_front_page()){echo $markup;}
$output = $this->simple_breadcrumb_case($post);
echo "<span class='current_crumb'>";
if ( is_page() || is_single()) {
the_title();
}else{
echo $output;
}
echo " </span></p>";
}
function simple_breadcrumb_case($der_post)
{
global $post;
$markup = $this->options['before'].$this->options['delimiter'].$this->options['after'];
if (is_page()){
if($der_post->post_parent) {
$my_query = get_post($der_post->post_parent);
$this->simple_breadcrumb_case($my_query);
$link = '<a href="';
$link .= get_permalink($my_query->ID);
$link .= '">';
$link .= ''. get_the_title($my_query->ID) . '</a>'. $markup;
echo $link;
}
return;
}
if(is_single())
{
$category = get_the_category();
if (is_attachment()){
$my_query = get_post($der_post->post_parent);
$category = get_the_category($my_query->ID);
if(isset($category[0]))
{
$ID = $category[0]->cat_ID;
$parents = get_category_parents($ID, TRUE, $markup, FALSE );
if(!is_object($parents)) echo $parents;
previous_post_link("%link $markup");
}
}else{
$postType = get_post_type();
if($postType == 'post')
{
$ID = $category[0]->cat_ID;
echo get_category_parents($ID, TRUE, $markup, FALSE );
}
else if($postType == 'portfolio')
{
$terms = get_the_term_list( $post->ID, 'portfolio_entries', '', '$$$', '' );
$terms = explode('$$$',$terms);
echo $terms[0].$markup;
}
}
return;
}
Собственно вся суть, 2а раза генерируются, смотрел в функшин где написан код, все чисто, но все равно 2а раза генерируется
Получается грубо говоря:
You here: Home / <b>Hello world</b> / %category% / <b>Hello world</b>
Не могли бы помочь. Или куда смотреть, был бы благодарен.
+12
return isValidYear(args[4]) ?
(isValidMonth(args[3]) ?
(isValidDayOfMonth(args[2]) ?
(isValidDayOfWeek(args[1]) ?
(isValidTime(args[0]) ? true
: false)
: false)
: false)
: false)
: false;
Не знал, что последовательность && выполняется до первого false, хотел избежать вызова лишних методов при первом ложном результате.
+4
#include <IO/Stream.h>
#include "Algorithms/Range.h"
#include "Algorithms/RangeConstruct.h"
#include "Algorithms/RangeIteration.h"
#include "Algorithms/RangeMutation.h"
using namespace IO;
using namespace Range;
int main()
{
Console.PrintLine("Есть нормальная поддержка Юникода в консоли, даже на винде.");
Console.PrintLine("Тестируется текст с кириллицей, греческим алфавитом αβγδεζηθικλμνξο, а также с иероглифами ㈇㌤㈳㌛㉨.");
Console.PrintLine("Иероглифы не отображаются в консоли, потому что консольный шрифт их не содержит, но копируются оттуда нормально.");
StringView strs[] = {"hello", "world"};
StringView strs1[] = {"range", "testing", "program"};
StringView strs2[] = {"C++", "крут"};
Console.PrintLine("В тесте используются три массива:", endl, strs, endl, strs1, endl, strs2);
Console.PrintLine(endl, "Пример вывода initializer list:", endl, AsRange<double>({4353.435, 3243.23, 21.421, 12355.5, 64532}));
auto fib = Recurrence(Algo::Op::Add<int>, 1, 1);
Array<int> fibArr;
fibArr.SetCountUninitialized(15);
auto copyResult = fib.Take(15).Copy(fibArr());
Console.PrintLine(endl, "Последовательность Фибоначчи в массиве: ", endl, fibArr());
Console.PrintLine(endl, "Вторая половина того же массива задом наперёд: ", endl, fibArr($/2, $).Retro());
fib.Drop(5).Take(15).Copy(fibArr.Insert($));
Console.PrintLine(endl, "Добавляем 15 чисел Фибоначчи, начиная с пятого, в конец. Новое содержимое массива: ");
Console.PrintLine(fibArr());
Console.PrintLine(endl, "Объединяем элементы различных диапазонов в диапазоне кортежей: ", endl, ToString(
Zip(
fib.Take(30),
Chain(AsRange(strs), AsRange(strs1), AsRange(strs2)).Cycle().Take(20),
Recurrence([](int a, int b){return a*2+b;}, 1, 1).Take(17).Cycle().Drop(3).Take(22),
fib.Take(19).Cycle().Drop(5).Take(50).Stride(3),
Recurrence(Algo::Op::Mul<ulong64>, 2ull, 3ull).Take(9)
),
",\n ", "[\n ", "\n]"));
static const StringView pattern[] = {"pattern", "fills", "range"};
Chain(AsRange(strs), AsRange(strs1), AsRange(strs2)).FillPattern(AsRange(pattern));
Console.PrintLine(endl, "Поменяли сразу три массива одним вызовом FillPattern: ");
Console.PrintLine(strs, endl, strs1, endl, strs2, endl);
Console.PrintLine("11-й элемент зацикленного массива строк: ", endl, AsRange(strs).Cycle().Take(11).Tail(1), endl);
Console.PrintLine("Перевёрнутый массив строк: ", endl, AsRange(strs).Retro(), endl);
Console.PrintLine("Зациклили первые два элемента массива и взяли 10 из них:");
Console.PrintLine(AsRange(strs1).Take(2).Cycle().Take(10) );
Console.PrintLine("Между массивом строк и 5 числами Фибоначчи выбрали второе в рантайме: ");
Console.PrintLine(Choose(AsRange(strs1), fib.Take(5).Map([](int x){return ToString(x);}), true) );
static const size_t indices[] = {1,1,1,2,2,0,2,1,0};
Console.PrintLine(
RoundRobin(
AsRange(strs1).Indexed(AsRange(indices)),
Repeat(StringView("Test"), 5),
AsRange(strs1),
AsRange(strs2)
));
Console.PrintLine(endl, "Введите строки, которые войдут в диапазон строк. В конце введите \"end\".");
Console.PrintLine("Вы ввели следующие строки:", endl, ToString(Console.ByLine("end")) );
int arr[]={1, 4, 11, 6, 8};
Console.PrintLine("max{1, 4, 11, 6, 8} = ", AsRange(arr).Reduce(Algo::Op::Max<int>));
Console.PrintLine("Генерация 100 случайных чисел от 0 до 999 и вывод квадратов тех из них, которые делятся на 7: ", endl,
Generate([](){return math::urandom()%1000;}).Take(100)
.Filter([](uint x) {return x%7==0;})
.Map(math::sqr<uint>)
);
return 0;
}
Давно здесь не было моих велосипедов. А они с тех пор сильно эволюционировали, я даже многие фичи из языка D смог перенести в C++.
Вывод в консоль и обсуждение здесь: http://www.gamedev.ru/flame/forum/?id=216045&page=99#m1481
+2
public function addBankAccount(
$firstName, $lastName, $companyName, $phone, $addressId, $bankName, $bankSwiftCode, $bankStreet,$bankCity, $bankCountry, $bankState, $bankPostalCode,
$bankAccountNumber, $currency, $bankRoutingCode, $accountType, $bankAccountType, $intermediaryName, $intermediaryStreet,
$intermediaryCountry, $intermediaryState, $intermediaryCity, $intermediaryPostalCode, $intermediarySwift, $intermediaryCodeBank, $intermediaryFurtherAccount, $intermediaryBank
)
{
$key = md5(sprintf("%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
$this->encryptedPassword, $firstName, $lastName, $companyName,
$phone, $addressId, $bankName, $bankSwiftCode, $bankStreet, $bankCity,
$bankState, $bankCountry, $bankPostalCode, $bankAccountNumber,
$currency, $bankRoutingCode, $bankAccountType, $accountType,
$intermediaryName, $intermediaryStreet, $intermediaryCountry,
$intermediaryState, $intermediaryCity, $intermediaryPostalCode,
$intermediarySwift, $intermediaryCodeBank, $intermediaryFurtherAccount, $intermediaryBank
));
// Prepare the request
$req = sprintf("method=%s", urlencode("addBankAccount"));
$req .= sprintf("&fromEmail=%s", urlencode($this->fromEmail));
$req .= sprintf("&firstName=%s", urlencode($firstName));
$req .= sprintf("&lastName=%s", urlencode($lastName));
$req .= sprintf("&companyName=%s", urlencode($companyName));
$req .= sprintf("&phone=%s", urlencode($phone));
$req .= sprintf("&addressId=%s", urlencode($addressId));
$req .= sprintf("&bankName=%s", urlencode($bankName));
$req .= sprintf("&bankSwiftCode=%s", urlencode($bankSwiftCode));
$req .= sprintf("&bankStreet=%s", urlencode($bankStreet));
$req .= sprintf("&bankCity=%s", urlencode($bankCity));
$req .= sprintf("&bankCountry=%s", urlencode($bankCountry));
$req .= sprintf("&bankState=%s", urlencode($bankState));
$req .= sprintf("&bankPostalCode=%s", urlencode($bankPostalCode));
$req .= sprintf("&bankAccountNumber=%s", urlencode($bankAccountNumber));
$req .= sprintf("¤cy=%s", urlencode($currency));
$req .= sprintf("&bankRoutingCode=%s", urlencode($bankRoutingCode));
$req .= sprintf("&accountType=%s", urlencode($accountType));
$req .= sprintf("&bankAccountType=%s", urlencode($bankAccountType));
$req .= sprintf("&intermediaryName=%s", urlencode($intermediaryName));
$req .= sprintf("&intermediaryStreet=%s", urlencode($intermediaryStreet));
$req .= sprintf("&intermediaryCountry=%s", urlencode($intermediaryCountry));
$req .= sprintf("&intermediaryState=%s", urlencode($intermediaryState));
$req .= sprintf("&intermediarySwift=%s", urlencode($intermediarySwift));
$req .= sprintf("&intermediaryCodeBank=%s", $intermediaryCodeBank);
$req .= sprintf("&intermediaryFurtherAccount=%s", urlencode($intermediaryFurtherAccount));
$req .= sprintf("&intermediaryBank=%s", $intermediaryBank);
$req .= sprintf("&key=%s", urlencode($key));
// the following two lines are for testing only (in production they should be commented out)
//$req .= sprintf("&sandbox=ON");
//$req .= sprintf("&return=%s", urlencode("51"));
$res = $this->process($req);
// TODO: Parse the response from server and return error code
printf("<textarea cols=\"60\" rows=\"10\" wrap=\"off\">\n%s\n</textarea>\n", $res);
}
protected function process($req)
{
$header = "POST /payment/api/paymentAPI.php HTTP/1.0\r\n";
$header .= "Host: www.paxum.com\r\n";
$header .= "Accept: */*\r\n";
$header .= "User-Agent: php-agent/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Connection: close\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
// Make the request to the server
// If possible, securely post using HTTPS, your PHP server will need to be SSL enabled
$fp = fsockopen ("ssl://www.paxum.com", 443, $errno, $errstr, 30);
if (!$fp)
{
// HTTP ERROR
return -1;
}
//echo $req;exit;
fputs ($fp, sprintf("%s%s", $header, $req));
// Read the server response
$res = "";
$headerdone = false;
while (!feof($fp))
{
$line = fgets ($fp, 1024);
if (strcmp($line, "\r\n") == 0)
{
// read the header
$headerdone = true;
}
else if ($headerdone)
{
// header has been read. now read the contents
$res .= $line;
}
}
}
hardcode = true;