- 1
* @return boolean "No! Try not. Do. Or do not. There is no try." - Yoda
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+3
* @return boolean "No! Try not. Do. Or do not. There is no try." - Yoda
0
<?
//Ограничиваем время выполнения скрипта 3-мя минутами
set_time_limit(180);
//Подключаемся к MySQL, при неудаче выводим ошибку
mysql_connect("localhost", "torrent", "password") or die("Could not connect to MySQL");
//Выбираем БД, при неудаче выводим ошибку
mysql_select_db("torrent") or die("Could not select database");
//Переводим все общение с БД в кодировку utf8
mysql_query("SET NAMES utf8");
//Открываем файл указанный в url переменной "f"
$fp = fopen($_GET[f], "r");
//Запускаем цикл до конца строк в файле
while (!feof($fp)) {
//Считываем строку (да, функцию trim() выполнять не обязательно, но у каждого программиста свои "тараканы")
$tmp = trim(fgets($fp));
//Преобразуем строку в массив. За разделитель используем ";"
$torrent = explode('";"', $tmp);
//В первом и последнем элементе удаляем лишние символы "
$torrent[0] = substr($torrent[0], 1);
$torrent[6] = substr($torrent[6], 0, (strlen($torrent[6]) - 1));
//Если раскомментировать следующую строку, то можно увидеть как распарсился первый торрент в файле
//print '<pre>'; print_r($torrent); exit();
//Вставляем данные текущего торрента в таблицу
mysql_query("INSERT INTO `torrents`
(`name`,
`hash`,
`date`,
`size`,
`topic_id`,
`cat_id`,
`cat_name`)
VALUES
('" . mysql_real_escape_string($torrent[4]) . "',
'" . $torrent[3] . "',
'" . $torrent[6] . "',
'" . $torrent[5] . "',
'" . $torrent[2] . "',
'" . $torrent[0] . "',
'" . mysql_real_escape_string($torrent[1]) . "')
");
}
//Закрываем файл
fclose($fp);
//Выводим сообщение о завершении работы
print 'complete: ' . $_GET[f];
?>
Импорт CSV в MySQL. Со швабры.
0
if ($this->scenario == 'registration' || $this->scenario = 'changePassword') {
$this->password = HPasswordHelper::hashPassword($this->password);
}
Вот так сравнение сценарий в одном из проектов)))
И самое странное всегда при сохранении, сценарий "changePassword" )
+1
$product = ORM::factory('product');
// $product-> ... = ...;
$price = ORM::factory('price');
$price->save();
$product->price = $price->id;
$product->save();
$price->product = $product->id;
// $price-> ... = ...;
$price->save();
Для гарантии
+1
<?php
echo '<script type="text/javascript">';
echo 'var categories = new Array();';
if (count($categData)) {
foreach ($categData as $id => $name) {
echo ' categories[' . $id . '] = "' . $name . '";';
}
}
echo ' </script>';
?>
+1
select value, value_type from b_iblock_element_property WHERE id = **;
b_iblock_element_property.value: a:2:{s:4:"TYPE";s:4:"text";s:4:"TEXT";s:17:"Хорошее состояние";}
b_iblock_element_property.value_type: text
bitrix <3
+2
$model->attributes = $_POST[$class];
// костыль на ajax валидацию и отправку файлов
$save = isset($_GET['notsave']) ? false : true;
if ($save) {
видимо автор кода соглашается с "хорошим" решением...
0
$collections = Yii::app()->db->createCommand()
->selectDistinct('prod.product_id,cc.category_id AS id, cc.code AS code,cc.img AS '
. 'pic,cc.category_name AS name, pl.category_name AS ln_name, '
. 'fvs.value AS country,c2.category_name AS parent_category,'
. 'c2.category_id AS p_id, c2.code AS p_code')
// ->select()
->from('Products prod')
->join('Products_Categoryes pc', 'prod.product_id = pc.product_id')
->join('Categories c', 'c.category_id = pc.category_id')
->join('Products_Categoryes ppp', 'ppp.category_id = c.category_id')
->join('Products p', 'p.product_id = ppp.product_id')
->join('Products_Categoryes pppccc', 'pppccc.product_id = ppp.product_id ')
->join('Categories cc', 'cc.category_id = pppccc.category_id
AND cc.category_left > :cat_left
AND cc.category_right < :cat_right
AND cc.category_level = 3', array(':cat_left' => $brends['category_left'], ':cat_right' => $brends['category_right']))
->join('Categories c2', 'cc.category_left > c2.category_left
AND cc.category_right < c2.category_right
AND c2.category_level = cc.category_level - 1')
->leftJoin('kk_categories_ln pl', ' pl.ln_id = :ln '
. 'AND pl.category_id = cc.category_id', array(':ln' => $ln_id))
->leftJoin('Feature_Product_Values fpv', 'p.product_id = fpv.product_id '
. 'AND feature_id = :country_id ', array(':country_id' => $counrty_id))
->leftJoin('Feature_Values_string fvs', 'fvs.feature_id = fpv.feature_id')
->group('cc.category_id')
->where($where, $params)
->queryAll();
+7
//скрытно убираем левых гидов по их ид. Id с релиза.
$select->where('self.id NOT IN (
1054063,
1054065,
1054232,
1054233,
1054220,
1054213,
1054212,
1054201,
1054199,
1054198,
1054197,
1054053,
1054058,
1054395,
1054445,
1054069,
1055221,
1055241,
1055386,
1055405,
1055406,
1055407,
1055408,
1055409,
1055410,
1055411,
1055412,
1054279,
1055259,
1054066,
1054067,
1054068,
1054070,
1054072,
1054075,
1054064,
1054073,
1054059,
1054060,
1054061,
1054062,
1054071,
1054077,
1054078,
1054079,
1054080,
1054081,
1054187,
1054128,
1054144,
1054129,
1054082,
1054076,
1054119,
1054118,
1054117,
1054116,
1054108,
1054106,
1054103,
1054111,
1054113,
1054102,
1054100,
1054098,
1054096,
1054095,
1054094,
1054093,
1054092,
1054120,
1054152,
1054150,
1054149,
1054148,
1054142,
1054141,
1054140,
1054139,
1054143,
1054138,
1054137,
1054136,
1054130,
1054126,
1054125,
1054186,
1054185,
1054184,
1054158,
1054182,
1054181,
1054180,
1054179,
Это код из контроллера. И это примерно 1/20 всей простыни.
0
public function callCost($fromCity, $fromStreet, $fromHouse, $fromHousing, $fromBuilding, $fromPorch, $fromLat, $fromLon, $toCity, $toStreet, $toHouse, $toHousing, $toBuilding, $toPorch, $toLat, $toLon, $clientName, $phone, $priorTime, $customCarId, $customCar, $carType, $carGroupId, $tariffGroupId, $comment, $additional = '')
{
if ($json = $this->reqCache->getValue($fromLat . $fromLon . $toLat . $toLon . $phone . $priorTime . $tariffGroupId . $comment . $additional)) {
$data = json_decode($json);
return $data;
} else {
$tariffGroupId = $this->findTariffOnCarType($carType);
$additional = explode(';', $additional);
$route = new TaxiRouteAnalyzer($this->dbHost, $this->database, $this->dbLogin, $this->dbPass);
$this->writeLog($tariffGroupId);
$data = $route->analyzeRoute(1, $fromCity, $fromStreet, $fromHouse, $fromHousing, $fromLat, $fromLon, $toCity, $toStreet, $toHouse, $toHousing, $toLat, $toLon, $additional, $tariffGroupId, $this->isDay(), 1);
$res = json_encode($data);
$this->reqCache->setValue($fromLat . $fromLon . $toLat . $toLon . $phone . $priorTime . $tariffGroupId . $comment . $additional, $res, $this->cacheTime);
return $data;
}
}
человеку доверили сделать кэширование данных...