-
+162
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
function section($sct,$grp = 'all') {
global $g,$a,$d,$lists,$master_list,$currency;
$access = ac_section($sct,$this->adminmode);
if ($access['r'] == 'no' ) {header("Location: /errors/all/403");}
$master = q1("SELECT * FROM `_s` WHERE `_id`='".$sct."' AND `_l`='".GetLanguage()."'");
if (isset($_POST['pcounts'])) {
$_SESSION['_pcount']=(int)$_POST['pcounts'];
} elseif (isset($_GET['pcounts'])) {
$_SESSION['_pcount']=(int)$_GET['pcounts'];
}
if (isset($_SESSION['_pcount'])) $master['_pcount']=$_SESSION['_pcount'];
$master_struct = $this->Struct_fields(qa("SHOW COLUMNS FROM `_s`"));
$grps = qa("SELECT * FROM `_g` WHERE `_s`='".$sct."' AND `_g`='".$grp."' AND `_l`='".GetLanguage()."'".((!empty($a[0]['con']))?(" AND `header` LIKE '%".$a[0]['con']."%'"):('')).((!empty($a[0]['gby']))?(" ORDER BY `".$a[0]['gby']."`".((!empty($a[0]['gdir']))?(' DESC'):(' ASC'))):(" ORDER BY ".$master['_sorting'])).((!empty($a[0]['gfrom']))?(' LIMIT '.$a[0]['gfrom'].','.((!empty($a[0]['gper']))?($a[0]['gper']):((!empty($master['_gcount']))?($master['_gcount']):('10')))):(' LIMIT 0,'.((!empty($a[0]['gper']))?($a[0]['gper']):((!empty($master['_gcount']))?($master['_gcount']):('10'))))));
$this->cq++;
$grps_nav_count = qa("SELECT count(*) `c` FROM `_g` WHERE `_s`='".$sct."' AND `_g`='".$grp."' AND `_l`='".GetLanguage()."'".((!empty($a[0]['con']))?(" AND `header` LIKE '%".$a[0]['con']."%'"):('')));
$grps_len = sizeof($grps);
$grps_struct = $this->Struct_fields(qa("SHOW COLUMNS FROM `_g`"));
$pgs = qa("SELECT * FROM `_p` WHERE `_s`='".$sct."' AND `_g`='".$grp."' AND `_l`='".GetLanguage()."'".((!empty($a[0]['con']))?(" AND `header` LIKE '%".$a[0]['con']."%'"):('')).((!empty($a[0]['by']))?(" ORDER BY `".$a[0]['by']."`".((!empty($a[0]['dir']))?(' DESC'):(' ASC'))):(" ORDER BY ".$master['_sorting'])).((!empty($a[0]['from']))?(' LIMIT '.$a[0]['from'].','.((!empty($a[0]['per']))?($a[0]['per']):((!empty($master['_pcount']))?($master['_pcount']):('10')))):(' LIMIT 0,'.((!empty($a[0]['per']))?($a[0]['per']):((!empty($master['_pcount']))?($master['_pcount']):('10'))))));
$this->cq++;
$pgs_nav_count = qa("SELECT count(*) `c` FROM `_p` WHERE `_s`='".$sct."' AND `_g`='".$grp."' AND `_l`='".GetLanguage()."'".((!empty($a[0]['con']))?(" AND `header` LIKE '%".$a[0]['con']."%'"):('')));
$this->cq++;
$pgs_len = sizeof($pgs);
$pgs_struct = $this->Struct_fields(qa("SHOW COLUMNS FROM `_p`"));
$list_g = '';
$list_p = '';
// Дальше еще строк 200 подобного кода
Нашел бэкап сайта, который надо было дорабатывать
И это только одна функция одного из классов. Всего около 15 классов, в каждом по 30-40 функций.
При этом есть еще куча файлов вызываемых напрямую(отправка сообщений, добавление/редактирование/удаление данных в админке), хотя и используется mod_rewrite
долго думал, потом переписал нужные куски заново
Bagration,
11 Ноября 2011
-
+160
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
<?php
$lquery = mysql_query("SELECT * FROM language_settings ORDER BY language_id");
$llquery = mysql_query("SELECT * FROM language_settings ORDER BY language_id");
?>
<?php while($ldata = mysql_fetch_array($lquery)){ ?>
<a><?=$ldata['language_name'];?></a>
<?php } ?>
<?php while($lldata = mysql_fetch_array($llquery)){ // Language Loop
$lang_prefix = $lldata['language_prefix'];
language($lang_prefix);
$lang = strtolower($lldata['language_prefix']);
?>
....
<?php
$_lid = $lldata['language_id'];
$_nid = $_REQUEST['nid'];
if($_nid!=""){
// newsid=$_nid AND
$qry = "SELECT *
FROM tbl_products as pc JOIN tbl_products_content as pcc ON pc.product_id=pcc.product_id
WHERE pcc.lang_prefix='".strtolower($lldata['language_prefix'])."' AND pc.product_id='{$_nid}' ORDER BY product_order,product_cat_id";
$cquery = mysql_query($qry);
$cdata = @mysql_fetch_array($cquery);
}
...
}?>
Вот... попалось недавно такое произведение...
tsybulskyserg,
11 Ноября 2011
-
+161
- 1
- 2
- 3
- 4
if ($_POST["SAVE"]!="OK")
$this->IncludeComponentTemplate();
else
$_POST=Array()
оп оп
atarix12,
10 Ноября 2011
-
+158
- 1
- 2
- 3
- 4
- 5
- 6
- 7
public function addOffer($type='vendor.model', $values) {
switch ($type) {
case 'vendor.model': $offer = new yml_type_vendor_model(); break;
}
// Заполняем значениями
$offer->setValues($values);
......
jonnywalker,
10 Ноября 2011
-
+151
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
// $reg_date = "12.12.2007 15:41";
$this->reg_date = strptime($reg_date, "%d.%m.%Y %H:%M");
// и теперь обратно. Казалось бы, все просто, ан нет!
$rd = $this->reg_date;
$reg_date = mktime($rd['tm_hour'], $rd['tm_min'], 0, $rd['tm_mon']+1, $rd['tm_mday'], 1900+$rd['tm_year']); //как это???
$reg_date = strftime("%d.%m.%Y %H:%M", $reg_date);
// нормально, у strptime и strftime порядок аргументов разный
// $r_date == "12.12.2007 15:41"
Попытался написать на PHP простенькую штуку, глаза на лоб полезли от того как там делаются элементарнейшие вещи. Скажите, что все можно сделать проще и я просто плохо читал документацию!
hakimovis,
10 Ноября 2011
-
+160
- 1
- 2
unset($this->session->data['order_id']);
$this->data['pap4_orderid'] = $this->session->data['order_id'];
Не разбирался зачем сохраняется order_id, но в любом слусае - где логика?
opencart, /catalog/controller/checkout/success.php, 13-14 строки
antongorodezkiy,
09 Ноября 2011
-
+163
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
function implode_get($ar) {
$first = true;
$output = '';
foreach($ar as $key => $value) {
if ($first) {
$output = '?'.$key.'='.$value;
$first = false;
} else {
$output .= '&'.$key.'='.$value;
}
}
return $output;
}
function explode_get() {
$ar = array();
foreach ($_GET as $key => $value) {
$ar[$key] = $value;
}
return $ar;
}
после первой функции дурная голова сказала что нужна обратная функция.
LmSys,
08 Ноября 2011
-
+177
Что, правда?
striker,
08 Ноября 2011
-
+169
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
if($_POST['delNewsr'])
{
if (count($d=$_POST['d'])>0)
{
for($i=0;$i<=count($d);$i++)
{
mysql_query("DELETE FROM News where id=$d[$i]");
}
}
}
удаление отмеченных новостей
pahhan,
08 Ноября 2011
-
+174
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
$this->_filters = array(
"" => array("\\1".chr(28)."\\2", array(
"/({$_Jb}{$_M}{$_Je}{$_M}{$_Jh}{$_M})({$_Ja}{$_M}{$_Jv}{$_M}{$_Ji}{$_M}{$_Jo}{$_M}{$_Jr}{$_WS_OPT}{$_Jdd})/is",
"/({$_Jgav}{$_M}{$_Ji}{$_M}{$_Jm})({$_M}{$_Jp}{$_M}{$_Jo}{$_M}{$_Jr}{$_M}{$_Jt})/",
"/({$_Jgalka}{$_Jvopr}{$_M}{$_Ji}{$_M})({$_Jm}{$_M}{$_Jp}{$_M}{$_Jo}{$_M}{$_Jr}{$_M}{$_Jt})/is",
"/({$_Jj}{$_M3}{$_Ja}{$_M3}{$_Jv}{$_M3})({$_Ja}{$_M3}{$_Js}{$_M3}{$_Jc}{$_M3}{$_Jr}{$_M3}{$_Ji}{$_M3}{$_Jp}{$_M3}{$_Jt}{$_M3}{$_Jdd})/is",
"/({$_Jv}{$_M3}{$_Jb}{$_M3})({$_Js}{$_M3}{$_Jc}{$_M3}{$_Jr}{$_M3}{$_Ji}{$_M3}{$_Jp}{$_M3}{$_Jt}{$_M3}{$_Jdd})/is",
"/({$_Je}{$_M2}{$_Jx}{$_M2})({$_Jp}{$_M2}{$_Jr}{$_M2}{$_Je}{$_M2}{$_Js}{$_M2}{$_Js}{$_M2}{$_Ji}{$_M2}{$_Jo}{$_M2}{$_Jn}{$_M2}{$_Jss})/is",
/* + ещё строк двести зубодробительных регулярок, исполняющихся в каждом запросе */
);
/* а это подставляется в них */
$_M='(?:[\x09\x0a\x0d\\\\]*)';
$_M3='(?:[\x09\x0a\x0d\\\\\s]*)';
$_M2='(?:(?:[\x09\x0a\x0d\\\\\s]|(?:\/\*.*?\*\/))*)';
/* и это тоже подставляется */
$_Jv ="(?:v|(?:\\\\0*[75]6))";
$_Js ="(?:s|(?:\\\\0*[75]3))";
$_Jc ="(?:c|(?:\\\\0*[64]3))";
$_Jr ="(?:r|(?:\\\\0*[75]2))";
$_Ji ="(?:i|(?:\\\\0*[64]9))";
$_Jp ="(?:p|(?:\\\\0*[75]0))";
$_Jt ="(?:t|(?:\\\\0*[75]4))";
«Проактивная защита» - это принципиально новый подход к концепции веб-безопасности, при котором меняется само понятие реакции веб-приложения на попытки вторжения. Выпуск «Проактивной защиты» является продолжением многолетней работы компании по обеспечению безопасности интернет-проектов. Но впервые нам удалось настолько существенно усилить защищенность сайтов и снизить зависимость клиентов от наиболее частых ошибок веб-разработчиков».
Генеральный директор «1С-Битрикс» Сергей Рыжиков
actuator,
08 Ноября 2011