- 1
- 2
$.get( '/scripts/ajax/popup/add_to_favorite.php', { id: productID, ajax_call: 'Y' }, function ( data ) {
data = JSON.parse( data );
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 8
0
$.get( '/scripts/ajax/popup/add_to_favorite.php', { id: productID, ajax_call: 'Y' }, function ( data ) {
data = JSON.parse( data );
$.getJSON
http://www.sapato.ru/js/ajax/widgets/baseAjaxes.js?bust=208
0
// jquery required
function trim(str){
return str.replace(/^\s+/, "").replace(/\s+$/, "");
}
function round1000(val){
return Math.round(parseInt(val)/1000)*1000;
}
function floor1000(val){
return Math.floor(parseInt(val)/1000)*1000;
}
function ceil1000(val){
return Math.ceil(parseInt(val)/1000)*1000;
}
function setCookie(c_name,value,expiredays){
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+'='+escape(value)+((expiredays==null)?'':';expires='+exdate.toGMTString())+';path=/';
}
function resetCookie(c_name){
var exdate=new Date(0);
document.cookie = c_name + '=0;expires=' + exdate.toUTCString() + ';path=/';
}
function getCookie(name){
var cookies=document.cookie.split(";");
for(var i=0;i<cookies.length;i++){
var params=cookies[i].split("=");
if(trim(params[0])==name){
return unescape(params[1]);
}
}
return false;
}
function asyncScriptLoader(scriptUrl){
var d=document,
h=d.getElementsByTagName('head')[0],
s=d.createElement('script');
s.type='text/javascript';
s.async=true;
s.src=scriptUrl;
h.appendChild(s);
}
http://www.morton.ru/images/js/main.js
>> // jquery required
>> function asyncScriptLoader(scriptUrl){
+1
<?php
/*
> 60 seconds - "s"
> 60 minutes - "m"
> 24 hours - "h"
> 30 days - "d"
< 30 days - "5 sep 2010"
*/
class Date {
public static function DateAgo($DateTime) {
$s = s; $m = m; $h = h; $d = d;
$Now = date('Y-m-d H:i:s');
$Now = time();
$Year = substr($DateTime, 0, 4);
$Month = substr($DateTime, 5, 2);
$Day = substr($DateTime, 8, 2);
$Hour = substr($DateTime, 11, 2);
$Minute = substr($DateTime, 14, 2);
$Second = substr($DateTime, 17, 2);
$Time = mktime($Hour, $Minute, $Second, $Month, $Day, $Year);
$Difference = $Now - $Time;
if($Difference < 60) {
$Ago = $Difference.$s;
} elseif($Difference < (60 * 60)) {
$Ago = floor($Difference / 60).$m;
} elseif($Difference < (60 * 60 * 24)) {
$Ago = floor($Difference / (60 * 60)).$h;
} elseif($Difference < (60 * 60 * 24 * 30)) {
$Ago = floor($Difference / (60 * 60 * 24)).$d;
} else {
$Ago = $Day.'.'.$Month.'.'.$Year;
}
return $Ago;
}
} // End class
?>
Забирайте целиком! Нашёл в CMS от http://fn85.ru/ охрененный класс для работы с датами!
0
Нам нужно больше запросов в БД!!!!111 строим дерево меню:
private function Stack($PageCategory) {
$Menu = NULL;
$Q = 'SELECT * FROM '.$this->table.' WHERE pageCategory = '.$PageCategory.' ORDER BY pagePosition;';
$Result = $this->Result($Q);
while($Row = mysql_fetch_assoc($Result)) {
$Row['pageChilds'] = $this->Stack($Row['pageID']);
$Menu[$Row['pageID']] = $Row;
}
return $Menu;
}
AUTOINCREMENT PHP-way:
private function CurrentID() {
$Q = 'SELECT MAX(pageID) as maxID FROM '.$this->table.';';
$Row = $this->Row($Q);
return ++$Row['maxID'];
}
Так форматируем даты:
private function FormatDate() {
$Year = substr($this->publication['publicationDate'], 0, 4);
$Month = substr($this->publication['publicationDate'], 5, 2);
$Day = substr($this->publication['publicationDate'], 8, 2);
return $Day.'.'.$Month.'.'.$Year;
}
Просто контроллер:) А чо?
<?php
class Slider extends DataBase {
private $slides;
public function GetSlides() {
$Q = 'SELECT * FROM slide ORDER BY slidePosition;';
$this->slides = $this->Rows($Q);
}
public function ViewSlides() {
$Slides = '';
if($this->slides) {
foreach($this->slides as $SlideStack) {
$Slides .= $this->ViewSlide($SlideStack);
}
}
return $Slides;
}
private function ViewSlide($SlideStack) {
$A = '<a href="'.$SlideStack['slideLink'].'">';
$A .= ' <div class="BannerSlide">';
$A .= ' <img src="'.I.'/slides/'.$SlideStack['slideImage'].'.jpg">';
$A .= ' <div class="BannerSlideText">';
$A .= ' <div class="BannerSlideTextInner">'.$SlideStack['slideName'].'<br>';
$A .= ' <span>'.$SlideStack['slideText'].'</span>';
$A .= ' </div>';
$A .= ' </div>';
$A .= ' </div>';
$A .= '</a>';
return $A;
}
} // End class
?>
Окунулся в велосипедную CMS, на которой ваяет контора http://fn85.ru/
+2
function Show($aMenu, $level=0)
{
$scripts = '';
$bSubmenu = (isset($aMenu["items"]) && is_array($aMenu["items"]) && !empty($aMenu["items"])) || isset($aMenu["dynamic"]) && $aMenu["dynamic"] == true;
$bSectionActive = isset($aMenu["items_id"]) && (in_array($aMenu["items_id"], array_keys($this->aActiveSections)) || $this->IsSectionActive($aMenu["items_id"]));
$icon = isset($aMenu["icon"]) && $aMenu["icon"] <> ""
? '<span class="adm-submenu-item-link-icon '.$aMenu["icon"].'"></span>'
// : ($level < 1 ? '<span class="adm-submenu-item-link-icon" id="default_menu_icon"></span>' : '');
: '';
$id = 'menu_item_'.RandString(10);
?><div class="adm-sub-submenu-block<?=$level > 0 ? ' adm-submenu-level-'.($level+1) : ''?><?=$bSectionActive && isset($aMenu["items"]) && is_array($aMenu["items"]) && count($aMenu['items']) > 0 ? ' adm-sub-submenu-open' : ''?><?=$aMenu["_active"] ? ' adm-submenu-item-active' : ''?>"><?
?><div class="adm-submenu-item-name<?=!$bSubmenu ? ' adm-submenu-no-children' : ''?>" id="<?=$id?>" data-type="submenu-item"<?=isset($aMenu['fav_id']) ? ' data-fav-id="'.intval($aMenu['fav_id']).'"' : ''?>><?
$onclick = '';
if ($bSubmenu)
{
if(isset($aMenu["dynamic"]) && $aMenu["dynamic"] == true && (!$aMenu["items"] || count($aMenu["items"]) <= 0))
{
$onclick = "BX.adminMenu.toggleDynSection(".$this->_get_menu_item_width($level).", this.parentNode.parentNode, '".htmlspecialcharsbx(CUtil::JSEscape($aMenu["module_id"]))."', '".htmlspecialcharsbx(CUtil::JSEscape($aMenu["items_id"]))."', '".($level+1)."')";
}
elseif(!$aMenu["dynamic"] || !$bSectionActive || $aMenu['dynamic'] && $bSectionActive && isset($aMenu["items"]) && count($aMenu["items"]) > 0)
{
$onclick = "BX.adminMenu.toggleSection(this.parentNode.parentNode, '".htmlspecialcharsbx(CUtil::JSEscape($aMenu["items_id"]))."', '".($level+1)."')";
} //endif;
}
?><span class="adm-submenu-item-arrow"<?=$level > 0 ? ' style="width:'.$this->_get_menu_item_width($level).'px;"' : ''?><?=$onclick ? ' onclick="'.$onclick.'"' : ''?>><span class="adm-submenu-item-arrow-icon"></span></span><?
if(isset($aMenu["url"]) && $aMenu["url"] <> ""):
?><a class="adm-submenu-item-name-link<?=(isset($aMenu["readonly"]) && $aMenu["readonly"] == true? ' menutext-readonly':'')?>"<?=$level > 0 ? ' style="padding-left:'.$this->_get_menu_item_padding($level).'px;"' : ''?> href="<?=$aMenu["url"]?>"><?=$icon?><span class="adm-submenu-item-name-link-text"><?=$aMenu["text"]?></span></a><?
elseif ($bSubmenu):
if(isset($aMenu["dynamic"]) && $aMenu["dynamic"] == true && !$bSectionActive && (!$aMenu["items"] || count($aMenu["items"]) <= 0)):
?><a class="adm-submenu-item-name-link<?=(isset($aMenu["readonly"]) && $aMenu["readonly"] == true? ' menutext-readonly':'')?>"<?=$level > 0 ? ' style="padding-left:'.$this->_get_menu_item_padding($level).'px;"' : ''?> href="javascript:void(0)" onclick="BX.adminMenu.toggleDynSection(<?=$this->_get_menu_item_width($level)?>, this.parentNode.parentNode, '<?=htmlspecialcharsbx(CUtil::JSEscape($aMenu["module_id"]))?>', '<?=htmlspecialcharsbx(CUtil::JSEscape($aMenu["items_id"]))?>', '<?=$level+1?>')"><?=$icon?><span class="adm-submenu-item-name-link-text"><?=$aMenu["text"]?></span></a><?
elseif(!$aMenu["dynamic"] || !$bSectionActive || $aMenu['dynamic'] && $bSectionActive && isset($aMenu["items"]) && count($aMenu["items"]) > 0):
?><a class="adm-submenu-item-name-link<?=(isset($aMenu["readonly"]) && $aMenu["readonly"] == true? ' menutext-readonly':'')?>"<?=$level > 0 ? ' style="padding-left:'.$this->_get_menu_item_padding($level).'px;"' : ''?> href="javascript:void(0)" onclick="BX.adminMenu.toggleSection(this.parentNode.parentNode, '<?=htmlspecialcharsbx(CUtil::JSEscape($aMenu["items_id"]))?>', '<?=$level+1?>')"><?=$icon?><span class="adm-submenu-item-name-link-text"><?=$aMenu["text"]?></span></a><?
else:
?><span class="adm-submenu-item-name-link<?=(isset($aMenu["readonly"]) && $aMenu["readonly"] == true? ' menutext-readonly':'')?>"<?=$level > 0 ? ' style="padding-left:'.$this->_get_menu_item_padding($level).'px"' : ''?>><?=$icon?><span class="adm-submenu-item-name-link-text"><?=$aMenu["text"]?></span></span><?
endif;
else:
?><span class="adm-submenu-item-name-link<?=(isset($aMenu["readonly"]) && $aMenu["readonly"] == true? ' menutext-readonly':'')?>"<?=$level > 0 ? ' style="padding-left:'.$this->_get_menu_item_padding($level).'px"' : ''?>><?=$icon?><span class="adm-submenu-item-name-link-text"><?=$aMenu["text"]?></span></span><?
endif;
?></div><?
if(($bSubmenu || (isset($aMenu["dynamic"]) && $aMenu["dynamic"] == true)) && is_array($aMenu["items"]))
{
echo "<div class=\"adm-sub-submenu-block-children\">";
foreach($aMenu["items"] as $submenu)
{
if($submenu)
{
$scripts .= $this->Show($submenu, $level+1);
}
}
echo "</div>";
}
это между прочим метод класса CAdminPage административного интерфейса 1С Битрикс.
Адская смесь всех вэб-технологий, от которой лопаются глаза!
+1
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("Новости");
ob_start();
$APPLICATION->IncludeComponent("bitrix:news", "news-lenta", array(
"IBLOCK_TYPE" => "press",
"IBLOCK_ID" => "12",
# вырезано: просто вызывается компонент Битрикс "список новостей"
);
# веселье тут. Шах и мат, Битрикс!
$html_code = ob_get_contents();
ob_end_clean();
$doc = new DOMDocument();
$html_code = mb_convert_encoding('<meta charset="utf-8">'.$html_code, 'HTML-ENTITIES', "UTF-8");
if($doc->loadHTML($html_code))
{
$xpath = new DOMXpath($doc);
}
// Элемент
$element_list = $xpath->query(".//descendant::div[@id='element']");
if($element_list->length > 0)
{?>
<div class="container"><?
for($i=0;$i<$element_list->length;$i++)
{
echo $doc->saveHTML($element_list->item($i));
}
?></div><?}
// Новости
$blog_post_list = $xpath->query(".//descendant::div[@id='res']/div[@class='blog margin-bottom-40']");
if($blog_post_list->length > 0)
{
?><div class="container blog-full-width"><?
for($i=0;$i<$blog_post_list->length;$i++)
{
echo $doc->saveHTML($blog_post_list->item($i));
}
?></div><?
}
// Пагинатор
$pagination_list = $xpath->query(".//descendant::ul[@class='pagination']");
if($pagination_list->length > 0)
{
?><div class="text-center"><?
for($i=0;$i<$pagination_list->length;$i++)
{
echo $doc->saveHTML($pagination_list->item($i));
}
?></div><?
}
?>
<? require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>
Шах и мат, Битрикс!
−11
$soap_envelope = '<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<Create xmlns="http://schemas.microsoft.com/xrm/2011/Contracts/Services" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<entity xmlns:a="http://schemas.microsoft.com/xrm/2011/Contracts">
<a:Attributes xmlns:b="http://schemas.datacontract.org/2004/07/System.Collections.Generic">
<a:KeyValuePairOfstringanyType>
<b:key>subject</b:key>
<b:value i:type="c:string" xmlns:c="http://www.w3.org/2001/XMLSchema">Заказ обратного звонка от '.$fio.' ::: '.$subject.'</b:value>
</a:KeyValuePairOfstringanyType>
<a:KeyValuePairOfstringanyType>
<b:key>description</b:key>
<b:value i:type="c:string" xmlns:c="http://www.w3.org/2001/XMLSchema">'.$text.'</b:value>
</a:KeyValuePairOfstringanyType>
<a:KeyValuePairOfstringanyType>
<b:key>phonenumber</b:key>
<b:value i:type="c:string" xmlns:c="http://www.w3.org/2001/XMLSchema">'.$phone.'</b:value>
</a:KeyValuePairOfstringanyType>
<a:KeyValuePairOfstringanyType>
<b:key>scheduledend</b:key>
<b:value i:type="c:dateTime" xmlns:c="http://www.w3.org/2001/XMLSchema">'.$dateStr.'</b:value>
= вырезано =
<a:EntityState i:nil="true" />
<a:FormattedValues xmlns:b="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
<a:Id>00000000-0000-0000-0000-000000000000</a:Id>
<a:LogicalName>phonecall</a:LogicalName>
<a:RelatedEntities xmlns:b="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
</entity>
</Create>
</s:Body>
</s:Envelope>';
$soap_action = 'http://schemas.microsoft.com/xrm/2011/Contracts/Services/IOrganizationService/Create';
$req_location = 'http://XXXXX/YYYYY/XRMServices/2011/Organization.svc/web';
$headers = array(
'Method: POST',
'Connection: Keep-Alive',
'User-Agent: PHP-SOAP-CURL',
'Content-Type: text/xml; charset=utf-8',
'SOAPAction: "'.$soap_action.'"'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $req_location);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, true );
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_NTLM);
curl_setopt($ch, CURLOPT_USERPWD, $user.':'.$password);
curl_setopt($ch, CURLOPT_POSTFIELDS, $soap_envelope);
$response = curl_exec($ch);
if($response !== false)
От создателей "SOAP клиент своими руками"
+1
<?php
if(!isset($_GET['conn'])) { $conn = "yes";}
else {$conn = $_GET['conn'];}
if(!isset($_GET['kat'])) { $kat = $kateg[0];}
else {$kat = $_GET['kat'];}
if(!isset($_GET['start'])) $start = 0;
else $start = $_GET['start'];
if(isset($_GET['torgi_id'])) $torgi_id = $_GET['torgi_id'];
// Устанавливаем соединение с базой данныъ
require_once("../config.php");
// Формируем и выполянем SQL-запрос на удаление записи в таблице users
$query = "DELETE FROM torgi
WHERE torgi_id=".$_GET['torgi_id'];
mysql_query($query);
$query = "DELETE FROM news
WHERE torgi_id=".$_GET['torgi_id'];
if(mysql_query($query))
{
// Осуществляем автоматический переход на страницу администрирования
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php?conn=$conn&kat=$kat&start=$start'>
</HEAD>";
}
else puterror("Ошибка при обращении к таблице документов");
?>
в целом весь проект состоит из одних Injection. На последок автор демонстриует оригинальный редирект.
Проект очень известный и этот код до сих пор крутится в бою)