- 1
- 2
- 3
if (strpos($route, ':') !== false) {
$route = str_replace(':any', '([^/]+)', str_replace(':num', '([0-9]+)', str_replace(':all', '(.+)', $route)));
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
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
0
public function actionView($id = null) {
$user = Yii::$app->user->identity;
$id = isset($_REQUEST['id']) ? $_REQUEST['id'] : $id;
$new_model = 0;
if (empty($id)) {
$draft_model = Applicant::find()->where(['draft' => 1, 'created_by' => $user->id])->one();
if (empty($draft_model)) {
$draft_model = new Applicant();
$new_model = 1;
$draft_model->draft = 1;
$draft_model->save();
}
if (!empty($draft_model->id)) {
$id = $draft_model->id;
}
}
$model = $this->findModel($id);
$allow_sections = [];
if (empty($model->draft)) {
$updateRequest = \app\models\UserRequest::find()->where(['user_id' => $user->id, 'object_id' => $id, 'status' => 2])->one();
if (!empty($updateRequest)) {
$allow_sections = explode(";", $updateRequest->additional_info);
}
}
if (isset($_GET['done']) && $_GET['done'] == 1) {
$result['success'] = false;
$userRequest = \app\models\UserRequest::find()->where(['user_id' => $user->id, 'object_id' => $id, 'status' => 2])->one();
if (!empty($userRequest)) {
$userRequest->status = 3;
if ($userRequest->save()) {
$result['success'] = true;
} else {
$error = \yii\widgets\ActiveForm::validate($userRequest);
if ($error != '[]') {
$result['msg'] = $error;
}
}
}
echo(json_encode($result));
exit;
} elseif (isset($_FILES['files']['name'][0]) && isset($_FILES['files']['type'][0]) && isset($_FILES['files']['tmp_name'][0]) && isset($_FILES['files']['size'][0])) {
$result['success'] = false;
$filename = strtotime("now") . "_" . $_FILES['files']['name'][0];
$size = $_FILES['files']['size'][0];
$uploaddir = realpath('../web') . '/images/applicant/';
if (!file_exists($uploaddir)) {
mkdir($uploaddir);
}
$uploadfile = $uploaddir . basename($filename);
$path_image = '/images/applicant/' . basename($filename);
if (move_uploaded_file($_FILES['files']['tmp_name'][0], $uploadfile)) {
if (!empty($model->photo_id)) {
$photo_model = \app\models\File::findOne($model->photo_id);
}
if (empty($photo_model->id)) {
$photo_model = new \app\models\File();
}
$photo_model->original = $filename;
$photo_model->name = $filename;
$photo_model->size = $size;
$photo_model->mime = $_FILES['files']['type'][0];
$photo_model->hash = $photo_model->generateHash();
if ($photo_model->save()) {
$model->photo_id = $photo_model->id;
if ($model->save()) {
$result['img'] = $filename;
$result['success'] = true;
}
}
$image = new Image();
$image->load($uploadfile);
if($image->getWidth()>640){
$image->resizeToWidth(640);
$image->save($uploadfile);
}
}
echo(json_encode($result));
exit;
} elseif (isset($_REQUEST['name'])) {
$result['success'] = false;
$model_attributes = $model->getAttributes();
$model_attributes['education'] = '';
unset($model_attributes['id']);
if ($_REQUEST['name'] == 'address_properties') {
$values = json_decode($_REQUEST['value'], true);
$names_values = ['address_region', 'address_city', 'address_street', 'address_house'];
yii 2
+2
/***
*assert.h - define the assert macro
*
* Copyright (c) Microsoft Corporation. All rights reserved.
*
*Purpose:
* Defines the assert(exp) macro.
* [ANSI/System V]
*
* [Public]
*
****/
/*
#include <crtdefs.h>
#undef assert
#ifdef NDEBUG
#define assert(_Expression) ((void)0)
#else
#ifdef __cplusplus
extern "C" {
#endif
_CRTIMP void __cdecl _wassert(_In_z_ const wchar_t * _Message, _In_z_ const wchar_t *_File, _In_ unsigned _Line);
#ifdef __cplusplus
}
#endif
#define assert(_Expression) (void)( (!!(_Expression)) || (_wassert(_CRT_WIDE(#_Expression), _CRT_WIDE(__FILE__), __LINE__), 0) )
#endif */
#pragma once
#ifdef NDEBUG
#define assert(expr)
#else
inline void CheckExpression_(bool expr)
{
if (!expr)
{
expr=true; // put breakpoint here, happy user;
CheckExpression_(expr);
}
}
inline void CheckExpression_(void* expr)
{
if (!expr)
{
expr=(void*)(1); // put breakpoint here, happy user;
CheckExpression_(expr);
}
}
#define assert(expr) CheckExpression_(expr);
#endif
Сука я не знаю, почему в студии-2008 родной ассерт показывает не ту строку, на которой он произошёл и в стеке вызовов хуйня какая-то, и как подключить DebugBreak я тоже не знаю, потому что в windef.h куча хуеты, выдающей 100500 ошибок компиляции. Чтобы хоть как-то можно было жить, пришлось сделать так.
+64
XmlWriter<xhtml11::XHtmlDocument>(stream)
<html
<head
<title
<"Hello world!"
>title
>head
<body
<p
<"Some nice paragraph text."
>p
<img(src="http://example.com/hello.jpg",alt="Hello")>img
>body
>html;
кресты в квадрате. любителям темплейтов посвящается.
http://www.vandenoever.info/blog/2015/07/05/literal-xml-in-c++.html
Creating and processing XML feels awkward in most programming languages. With Blasien, a tiny C++11 header library, XML in C++ feels easy and natural. As an extra the XML that is written is mostly validated at compile time.
−180
max(0, 0, *list)
Костыль, чтобы в случае пустого списка возвращало 0
−113
arp_monitor() {
echo "ARP monitor started on $LAN_IFACE..."
tcpdump -l -n -i $LAN_IFACE ether src not $LAN_MAC 2>/dev/null | awk 'BEGIN{FS="[ ,]"}{if ($2 == "ARP" && $4 == "Request") print $6, $8;}' | while read GATEWAY CLIENT; do
if [ "$GATEWAY" == "$CLIENT" ]; then
echo "Got ARP collision probe gw=$GATEWAY client=$CLIENT"
else
echo "Got ARP request gw=$GATEWAY client=$CLIENT"
ip addr add "$GATEWAY/32" dev "$LAN_IFACE" 2>/dev/null
ip route add "$CLIENT/32" dev "$LAN_IFACE" 2>/dev/null
fi
done
}
Фрагмент моего magic router'а, который раздаёт инет любому воткнутому в него компу (ну кроме совсем паталогических случаев).
+136
len += sprintf(event_xml_msg, XML_TAG_START, XML_KOKOKO_HTTP_PROTOCOL);
// Set <monitor-event>
len += sprintf(strend_ptr(event_xml_msg), XML_TAG_START, XML_MONITOR_EVENT_NODE_TREE);
// Set <date>
len += xml_string_add_tag(event_xml_msg, XML_MONITOR_EVENT_NODE_DATE, dt.date_b);
// Set <time>
len += xml_string_add_tag(event_xml_msg, XML_MONITOR_EVENT_NODE_TIME, dt.time_b);
// Set <product> Ex. "VersAtive"
len += xml_string_add_tag(event_xml_msg, XML_MONITOR_EVENT_NODE_PRODUCT, product_type);
// Set <entity code>
// Supposed to work for all union types
len += xml_int_add_tag(event_xml_msg, XML_MONITOR_EVENT_NODE_CODE, event_code);
// Set <severity>
// len += xml_int_add_tag(event_xml_msg, XML_MONITOR_EVENT_NODE_SEVERITY, severity);
memset(severity_str, 0, sizeof(severity_str));
get_severity_string(severity, severity_str);
len += xml_string_add_tag(event_xml_msg, XML_MONITOR_EVENT_NODE_SEVERITY, severity_str);
// Set event entity name
len += xml_string_add_tag(event_xml_msg, XML_MONITOR_EVENT_NODE_ENTITY_TYPE, entity_name);
// Set event description
if((len + strlen(description)) > (payload_size - footer_size))
{
// TODO HANDLE
printf("Message description overflows buffer size.\n");
return false;
}
len += xml_cdata_string_add_tag(event_xml_msg, XML_MONITOR_EVENT_NODE_DESCRIPTION, description);
// Set params
add_xml_entity_params(event_xml_msg, entity_params);
// Close <monitor-event>
sprintf(strend_ptr(event_xml_msg), XML_TAG_END, XML_MONITOR_EVENT_NODE_TREE);
// Close <HTTPProtocol>
len += sprintf(strend_ptr(event_xml_msg), XML_TAG_END, XML_KOKOKO_HTTP_PROTOCOL);
В проекте широко используется libmxml, а вот блять использовать его по назначению велосипедики не могут.
+145
//bytes 0-13
bmp.push_back('B'); bmp.push_back('M'); //0: bfType
bmp.push_back(0); bmp.push_back(0); bmp.push_back(0); bmp.push_back(0); //2: bfSize; size not yet known for now, filled in later.
bmp.push_back(0); bmp.push_back(0); //6: bfReserved1
bmp.push_back(0); bmp.push_back(0); //8: bfReserved2
bmp.push_back(54 % 256); bmp.push_back(54 / 256); bmp.push_back(0); bmp.push_back(0); //10: bfOffBits (54 header bytes)
//bytes 14-53
bmp.push_back(40); bmp.push_back(0); bmp.push_back(0); bmp.push_back(0); //14: biSize
bmp.push_back(width % 256); bmp.push_back(width / 256); bmp.push_back(0); bmp.push_back(0); //18: biWidth
bmp.push_back(height % 256); bmp.push_back(height / 256); bmp.push_back(0); bmp.push_back(0); //22: biHeight
bmp.push_back(1); bmp.push_back(0); //26: biPlanes
bmp.push_back(outputChannels * 8); bmp.push_back(0); //28: biBitCount
bmp.push_back(0); bmp.push_back(0); bmp.push_back(0); bmp.push_back(0); //30: biCompression
bmp.push_back(0); bmp.push_back(0); bmp.push_back(0); bmp.push_back(0); //34: biSizeImage
bmp.push_back(0); bmp.push_back(0); bmp.push_back(0); bmp.push_back(0); //38: biXPelsPerMeter
bmp.push_back(0); bmp.push_back(0); bmp.push_back(0); bmp.push_back(0); //42: biYPelsPerMeter
bmp.push_back(0); bmp.push_back(0); bmp.push_back(0); bmp.push_back(0); //46: biClrUsed
bmp.push_back(0); bmp.push_back(0); bmp.push_back(0); bmp.push_back(0); //50: biClrImportant
+17
template<class Container>
void COW_guard(Container& forUnCow){
const Container c={};
cc+=c;
}
+128
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<dict>
<key>author</key>
<string>Nobody</string>
<key>name</key>
<string>my-theme</string>
<key>settings</key>
<array>
<!-- ... -->
<dict>
<key>name</key>
<string>Attribute</string>
<key>scope</key>
<string>entity.other.attribute-name</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#006E28</string>
</dict>
</dict>
<!-- ... -->
</array>
</dict>
</plist>
XML. Такой загадочный и энтерпрайзный.
// Цветовая схема для Sublime Text (или TextMate)