freelancer

делимся диким индусским кодом

Рекомендуемые сообщения

freelancer    1 418

при работе на тем или иным проектом каждый из нас наверняка натыкался на дикий индусский код от которого волосы встают дыбом.

вот этот код прислал мне товарищ, представившийся Julio/ кусок кода и сам файл в атаче

<!--?php
$conexion = mysql_connect("localhost", "xxxx", "xxxx");
mysql_select_db("spazioso_oc1", $conexion);
mysql_query("SET NAMES 'utf8';");
print $header;
$c1 = mysql_query("SELECT `rate` FROM `oc_tax_rate` WHERE `tax_rate_id` = '86';", $conexion);

if (mysql_num_rows($c1) --> 0) {
	$r1 = mysql_fetch_assoc($c1);
	$factor = (100 + $r1["rate"]) / 100;
}

print $column_right;
?><div id="content">
 <!--?php print $content_top; ?-->
 <!--
 <div class="clearfix cat-head">
  <div class="cat-nav">
	  <div class="cat-header clearfix">
		<h1 class="cat_heading"><?php print $heading_title; ?></h1>
	  </div>
  </div>

  <?php /*if ($categories) { ?>
  <h2 class="cat_refine clearfix"><?php print $text_refine; ?></h2>
  <?php } */?>

  <?php if ($products) {
		/*if (!$categories) { ?><div class="clearfix block"><?}*/?>
   <?php }?>
 </div>

--></div>

category(5).tpl.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ckopnio    47

при работе на тем или иным проектом каждый из нас наверняка натыкался на дикий индусский код от которого волосы встают дыбом.

вот этот код прислал мне товарищ, представившийся Julio/ кусок кода и сам файл в атаче

у меня сейчас три таких сайта, пару отрывков могу показать. есть файлы еще похуже

<?php  if (strpos($_SERVER['REQUEST_URI'], 'ncat=59' )>1) { ?>
<div class="product-grid3" style="float:left;">
<?php } else { ?>
<div class="product-grid2" style="float:left;">
<?php } ?>

<?php if ($_SERVER['REQUEST_URI'] == '/proizvodstvo' or  $_SERVER['REQUEST_URI'] == '/krasnaya-ikra' or  $_SERVER['REQUEST_URI'] == '/uslovija-ispolzovanija-informatsii' or  $_SERVER['REQUEST_URI'] == '/ikra-lososevaja-zernistaja') { ?>
<div style="padding:35px;color:#000;font-size:14px;"><span style="color:#00A4E4;font-size:18px;"><?php echo $heading_title; ?></span>
<br /><br />
 <?php echo $description; ?>
</div>
<?php } elseif ($_SERVER['REQUEST_URI'] == '/traditsii' ) { ?>
<div style="padding:35px;color:#000;font-size:14px;"><span style="color:#00A4E4;font-size:18px;"><?php echo $heading_title; ?></span><br /><br />  <?php echo $description; ?> </div>
<?php } elseif ($_SERVER['REQUEST_URI'] == '/kachestvo' ) { ?>
<div style="padding:35px;color:#000;font-size:14px;"><span style="color:#00A4E4;font-size:18px;"><?php echo $heading_title; ?></span><br /><br />  <?php echo $description; ?> </div>
<?php } elseif ($_SERVER['REQUEST_URI'] == '/oplata-kreditnoj-kartoj-cherez-internet' ) { ?>
 <style>
#content {
min-height: 10px !important;
}
#pol {
padding-bottom:0px;
 min-height: 1350px !important;
}
#shapka {

 min-height: 1320px !important;
}
#container {
min-height:0px !important;
}
</style>
<div style="padding:35px;color:#000;font-size:14px;"><span style="color:#00A4E4;font-size:18px;"><?php echo $heading_title; ?></span><br /><br />  <?php echo $description; ?> <div style="clear:both;">
 </div></div>
<?php } elseif ($_SERVER['REQUEST_URI'] == '/oplata-kurjeru' ) { ?>
 <style>
#content {
min-height: 10px !important;
}
#pol {
padding-bottom:0px;
 min-height: 1350px !important;
}
#shapka {

 min-height: 1320px !important;
}
#container {
min-height:0px !important;
}
</style>
<div style="padding:35px;color:#000;font-size:14px;"><span style="color:#00A4E4;font-size:18px;"><?php echo $heading_title; ?></span><br /><br />  <?php echo $description; ?> <div style="clear:both;">
 </div></div>
<?php } elseif ($_SERVER['REQUEST_URI'] == '/oplata-po-schet-fakture' ) { ?>
 <style>
#content {
min-height: 10px !important;
}
#pol {
padding-bottom:0px;
 min-height: 1350px !important;
}
#shapka {

 min-height: 1320px !important;
}
#container {
min-height:0px !important;
}
</style>
<div style="padding:35px;color:#000;font-size:14px;"><span style="color:#00A4E4;font-size:18px;"><?php echo $heading_title; ?></span><br /><br />  <?php echo $description; ?> <div style="clear:both;">
 </div></div>
<?php } else { ?>
 <!--<br /><br /><br /><br />-->
<?php echo $description; ?>
<?php } ?>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
19th    211

Вопрос клиентов: нам сделали модуль, показывающий новинки каталога, но он как-то странно работает. Залажу, вижу:

$this->model_catalog_sidebarsslidershow->getRandomProduct()

Два года после сдачи прошло. Не индусский код, но порадовал :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
RGB    1 041

Переменная stock может быть "В наличии" и "Нет в наличии" :-)

<span class="{{if stock[0]=='Н'}}un{{/if}}available">${stock}</span>

Мне кажется, вышло по-дебильному, но как иначе сделать, я не догадался

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
freelancer    1 418

я бы перенес логику в контроллер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
rb2    407

Для меня самым индусским до сих пор остается перекладывание языковых переменных из одного массива в другой в контроллерах. В каждой функции! По несколько десятков раз.

И очень частое дублирование кода там, где прям само просится - вынеси в отдельные функции-хелперы и исправляй всё централизованно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
RGB    1 041

И очень частое дублирование кода там, где прям само просится - вынеси в отдельные функции-хелперы и исправляй всё централизованно.

Пардон за оффтоп, но сразу вспомнилось :-)

обсуждаем чей-то код на работе:

xxx: Так вы представляете, у него там фрагмент кода в 15 строк повторяется 37 раз. Если вынести в функцию можно сэкономить полтыщи строк!

yyy: это припев.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
TpyHT    38

при работе на тем или иным проектом каждый из нас наверняка натыкался на дикий индусский код от которого волосы встают дыбом.

вот этот код прислал мне товарищ, представившийся Julio/ кусок кода и сам файл в атаче

<!--?php
$conexion = mysql_connect("localhost", "xxxx", "xxxx");
mysql_select_db("spazioso_oc1", $conexion);
mysql_query("SET NAMES 'utf8';");
print $header;
$c1 = mysql_query("SELECT `rate` FROM `oc_tax_rate` WHERE `tax_rate_id` = '86';", $conexion);

if (mysql_num_rows($c1) --> 0) {
	$r1 = mysql_fetch_assoc($c1);
	$factor = (100 + $r1["rate"]) / 100;
}

print $column_right;
?><div id="content">
 <!--?php print $content_top; ?-->
 <!--
 <div class="clearfix cat-head">
  <div class="cat-nav">
	  <div class="cat-header clearfix">
		<h1 class="cat_heading"><?php print $heading_title; ?></h1>
	  </div>
  </div>

  <?php /*if ($categories) { ?>
  <h2 class="cat_refine clearfix"><?php print $text_refine; ?></h2>
  <?php } */?>

  <?php if ($products) {
		/*if (!$categories) { ?><div class="clearfix block"><?}*/?>
   <?php }?>
 </div>

--></div>

Это не индусский, а скорее, судя по "conexion", испанский код. Вообще конечно порадовало, но правлю магазины, которые делал два года назад и того хуже извороты есть ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 099

некий "magic toolbox"

интересно, seopro не совместим с magic toolbox. при активации seopro в "Тип ЧПУ:" получаем от magic toolbox в категориях сообщение "Notice: Undefined offset: 0 in /home/..../admin/controller/module/magictoolbox/module.php on line 471" и неактивный magic toolbox.

это кусок кода с модуля (471 строка), подскажите пожалуйста что нужно исправить что бы он был совместим с seopro?

		if (!strpos($link,'product_id')) { //SEO links fix
		$furl = substr($link, strrpos($link, '/') + 1);
		$currentController = $GLOBALS['magictoolbox']['currentController'];
		$query = $currentController->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `keyword` = '".$furl."'");
		$query = $query->rows[0]['query'];
		$id = preg_replace('/^.*?id=(\d+).*/is','$1',$query);
	}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 099

да простит меня @markimax... :unsure:

сказал, что исправлено с версии "4.18.7", но тем не менее...

Модуль Блог | Новости | Статьи | Отзывы | Галерея | Акции | FAQ версии 4.14.2

Ссылка в админку на редактирование "записи" блога (record).

catalog/view/theme/default/template/record/blog.tpl

	<?php
require_once(DIR_SYSTEM . 'library/user.php');
// User
$this->registry->set('user', new User($this->registry));

  if ($this->user->isLogged())	 {
	  $userLogged = true;
	}
	else
	{
	  $userLogged = false;
	}

 if ($userLogged)  {
?>
<div class="blog-edit_container">
   <a class="zametki" target="_blank" href="/admin/index.php?route=catalog/record/update&token=<?php echo $this->session->data['token']; ?>&record_id=<?php echo $record['record_id']; ?>"><?php echo $this->language->get('text_edit');?></a>
 </div>
<?php
 }
?>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
freelancer    1 418

zametki =)

помнится markimax громче всех писал про кривую архитектуру OpenCart ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
markimax    1 548

Отвечу - давно исправлено.

И где здесь супер кривой код? Обычный Ctrl-V из opencart.

Вам придолбаться не к чему? К ссылке ...

Я наверно вас afwollis немного зацепил в ЛС, так вы решили объявить войну.

Занимайтесь лучше новой версией ocStore, не отвлекайтесь.

Это была фишка для использования в "личных" целях, о ней ни слова не было в описании модуля.

Вообще завели какую-то холиварную тему.

Скажу так никто не безгрешен, и если покопаться у каждого можно найти индусский код, написанный уставшим разрабом ночью или для быстрой проверки работоспособности кода.

Я не буду участвовать в ваших холиварных войнах, но видел и у ocStore не лучший код (поправьте наконец seo_pro.php).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
freelancer    1 418

markimax, не обижайтесь, эта тема была создана не для публичного высмеивания программистов, а для примеров как делать не надо. кстати, где в opencart библиотека подгружается в шаблоне?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 099
И где здесь супер кривой код? Обычный Ctrl-V из opencart.

Вам придолбаться не к чему? К ссылке ...

да отстаньте вы сами от ссылки :-) - сама ссылка здесь в самую последнюю очередь вспоминается.

речь про подключение и регистрацию библиотеки в шаблоне.

Я наверно вас afwollis немного зацепил в ЛС, так вы решили объявить войну.

не выдумывайте - никакой войны.

одно сообщение касаемо одного конкретного дикого участка кода.

ничего больше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
AlexFisher    195

Я и сам перманентный индус. Про код молчу - там либо копипаст с заменой буковок, либо обращение за помощью к адекватным и компетентным товарищам.

Но вот что касается верстки... то на начальном этапе у меня везде по коду можно обнаружить конструкцию типа:

<div style="position:absolute; top:10px; left:20px; padding:5px 10px 15px 5px; text-decoration:none;">12345</div>

:-) однако, при завершении проектов всегда привожу все к виду

<div id(or class(which not so useful 4 design in my case))="divname">12345</div>

Возможно, кто-нибудь поступает как-то иначе? Ну я не знаю, там.. подключение отладочного css etc.

Мне удобно именно так, как описано выше и за это меня недавно один авторитетный верстальщик, к мнению которого я склонен прислушиваться, обозвал индусом )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Einshtein    636

сам иногда так делаю если нужно отпозиционировать какой-нить маленький элемент, а создавать отдельный класс для float:left; например - лень. Лень потому что нужно лезть в кучу папок и открывать файл стилей :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
freelancer    1 418

русские индусы. файл category.tpl

    <?php if ($product['price']) { ?>
      
<?php
// начало
/*
$discounts = $this->model_catalog_product->getProductDiscounts($product['product_id']);
            
            $this->data['discounts'] = array();
            
            foreach ($discounts as $discount) {
                $this->data['discounts'][] = array(
                    'quantity' => $discount['quantity'],
                    'product_id' => $discount['product_id'],
                    'price'    => $this->currency->format($this->tax->calculate($discount['price'], $result['tax_class_id'], $this->config->get('config_tax')))
                );
            }
            
if ($discount['quantity']==9994)
    {
$podkl='
<div class="podkl">Цена при подключении '.$discount['price'].'</div>
';
    }
*/

// ===начало===

$q1='SELECT price,quantity FROM `oc_product_discount` where product_id="'.(int)$product['product_id'].'" and quantity="9999"';
$q2='SELECT price,quantity FROM `oc_product_discount` where product_id="'.(int)$product['product_id'].'"';
// echo $q2;
$res=mysql_query($q1);
if (mysql_num_rows($res) > 0)
    {
$disc = mysql_result($res, 0, 1);
$podkl_1 = mysql_result($res, 0, 0);
$podkl = $this->currency->format($this->tax->calculate($podkl_1, $this->config->get('config_tax')));
// (int)$podkl;
// if ($disc<>'') {echo (int)$podkl.' -полно- '.$disc;} else {echo'пусто';}
    }
// ===конец===


?>


 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
freelancer    1 418

заказчик и не подозревает о том, что творится в коде. он видит, что всё работает)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
RGB    1 041

sql-запрос в файле шаблона, даже я так не делаю  :-D

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
freelancer    1 418

как вам такое, товарищи разработчики ?

 <file name="admin/controller/extension/module.php">
        <operation error="skip">
            <search position="after" offset="6"><![CDATA[public function uninstall() {]]>
            </search>
            <add><![CDATA[                        //farid-------
                        if ($this->request->get['extension'] == 'labelimage') {
                            if (isset($this->request->get['store_id'])) {
                                $store_id = $this->request->get['store_id'];
                            } else {
                                $store_id = 0;
                            }
                            $this->load->model('setting/labelimage');
                            if (!$this->model_setting_labelimage->uninstall()){
                                $this->session->data['error'] = 'Error Uninstall Module';
                                $this->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL'));
                            }
                         }
                        //end-------            
]]>
            </add>
        </operation>
        <operation error="skip">
            <search position="after" offset="6"><![CDATA[public function install() {]]>
            </search>
            <add><![CDATA[                        //farid-------
                        if ($this->request->get['extension'] == 'labelimage') {
                            if (isset($this->request->get['store_id'])) {
                                $store_id = $this->request->get['store_id'];
                            } else {
                                $store_id = 0;
                            }
                            $this->load->model('setting/labelimage');
                            if (!$this->model_setting_labelimage->install()){
                                $this->session->data['error'] = 'Error Install Module';
                                $this->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL'));
                            }
                        }
                        //end-------            
]]>
            </add>
        </operation>

    </file>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
LTN    37

					<?php foreach ($event_day as $place) {

if ($this->intgrt) {

foreach ($this->menucl as $mcl) {

if (($mcl->showcat==1)&&($place->cat_id==$mcl->cat)) { $ItemId = $mcl->id; $fl=1; }

elseif ($mcl->showcat==0) { $ItemId = $mcl->id; $fl=1; }

} } else {$ItemId = $this->Itemid;}

?>

<tr>

<td><a href="<?php echo JRoute::_('index.php?option='.$this->lnkint.'&task=place&pid='.$place->places_id.$date_link.'&Itemid='.$ItemId)?>"><?php echo $place->place_name?></a></td>

<!--TIME-->

<td><?php

for ($i=0;$i<=count($place->times)-1;$i++) {

switch ($place->fformats[$i]) {

case '3D': $this->ddd .= "<span class='{$place->classes[$i]}'>{$place->times[$i]}</span>     "; break;

case 'IMAX_3D': $this->imaxddd .= "<span class='{$place->classes[$i]}'>{$place->times[$i]}</span>     "; break;

case '4D': $this->dddd .= "<span class='{$place->classes[$i]}'>{$place->times[$i]}</span>     "; break;

case '5D': $this->ddddd .= "<span class='{$place->classes[$i]}'>{$place->times[$i]}</span>     "; break;

case 'DEFAULT': $this->d .= "<span class='{$place->classes[$i]}'>{$place->times[$i]}</span>     "; break;

} } echo $this->ddd ? '<span class="seanses_times_3d">3D сеансы: </span>'.$this->ddd.'<br />' : '';

echo $this->imaxddd ? '<span class="seanses_times_i3d">IMAX 3D сеансы: </span>'.$this->imaxddd.'<br />' : '';

echo $this->dddd ? '<span class="seanses_times_4d">4D сеансы: </span>'.$this->dddd.'<br />' : '';

echo $this->ddddd ? '<span class="seanses_times_5d">5D сеансы: </span>'.$this->ddddd.'<br />' : '';

echo $this->d ? $this->d : '';

$this->ddd='';$this->imaxddd=''; $this->dddd='';$this->ddddd='';$this->d='';

?>

</td>

<!--END TIME-->

<!--PRICE-->

<td><div style="float:left;"><?php $flagc=0;$baylnk=''; for ($i=0;$i<=count($place->prices)-1;$i++) {if ($place->prices[$i]!='') { $flagc=1;}} if ($flagc==1) { for ($i=0;$i<=count($place->prices)-1;$i++) { /**/if (isset($place->baylnks[$i])) {$baylnk=$place->baylnks[$i];} /**/ echo "<span class='{$place->classes[$i]}'>{$place->prices[$i]}</span>    "; } }

else {echo "<span>{$place->plprice}</span>";}if ($baylnk!='') {echo '  <a href="'.$baylnk.'" title="Купить билеты" target="_blank"><img src="/components/com_afisha/images/price.png" alt="Купить билеты"></a>';}

?></div><div style="float:right;">

</div>

</td>

<!--END PRICE-->

</tr>

<?php } ?>

Это типа контроллер, если на первый взгляд не понятно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 099

тут и "на второй взгляд", мягко говоря, диву даешься  :ugeek:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу