- 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
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
<?
if( !defined("ADMIN") ) die("Access denied.");
// Получение новых сообщений
mysql_query('SET NAMES cp1251'); // Чертовы костыли!
if($messages_count_new>0) {
$sql = "SELECT * FROM " .PREFIX. "_messages WHERE to_uid = $manager_id AND is_read = 0";
$result = mysql_query($sql);
$messages_new = array();
while ($row = mysql_fetch_assoc($result)) {
$messages_new[] = $row;
}
}
// Получение прочитанных сообщений
$sql = "SELECT * FROM " .PREFIX. "_messages WHERE to_uid = $manager_id AND is_read = 1";
$result = mysql_query($sql);
$messages_read = array();
while ($row = mysql_fetch_assoc($result)) {
$messages_read[] = $row;
}
$OUT .= '
<table>
<tr><td><h1>Внутренняя почта</h1></td></tr>';
if(count($messages_new) > 0 OR count($messages_read) > 0):
if(count($messages_new) > 0):
$OUT .= '<tr><td><h2>У вас '.count($messages_new).' новых сообщений</h2></td></tr>
<tr><tr>
<table class="messages_list" width="100%">
<tr><th>Дата</th><th>Тема</th></tr>';
foreach($messages_new as $key=>$item):
$OUT .= '<tr>
<td class="date" width=20%">'.date('Y-m-d H:i', $item['created_date']).'</td>
<td class="subject"><a href="index.php?page=readmessage&id='.$item['id'].'">'.htmlspecialchars($item['subject']).'</a></td>
</tr>';
endforeach;
$OUT .= '</td></tr></table>';
endif;
if(count($messages_read) > 0):
$OUT .= '<tr><td><h2>У вас '.count($messages_new).' прочитанных сообщений</h2></td></tr>
<tr><tr>
<table class="messages_list" width="100%">
<tr><th>Дата</th><th>Тема</th></tr>';
foreach($messages_read as $key=>$item):
$OUT .= '<tr>
<td class="date" width=20%">'.date('Y-m-d H:i', $item['created_date']).'</td>
<td class="subject"><a href="index.php?page=readmessage&id='.$item['id'].'">'.htmlspecialchars($item['subject']).'</a></td>
</tr>';
endforeach;
$OUT .= '</td></tr></table>';
endif;
else:
$OUT .= '<tr><td>У вас нет сообщений</tr></td></table>';
endif;
guest 14.01.2010 16:10 # 0
...WHERE to_uid = $manager_id AND is_read = 0...
не айс
azzz 14.01.2010 16:46 # 0
Но ты только в этом заметил необычность и говнокод?
guest 14.01.2010 16:47 # 0
azzz 14.01.2010 16:51 # 0
guest 15.01.2010 10:47 # 0
Dreyk 14.01.2010 18:01 # 0
-вместо двух запросов можно сделать один, и распихать потом по двум массивам в одном цикле
-if(count($messages_new) > 0 OR count($messages_read) > 0): бесполезная строка
-count($messages_new) по-хорошему один раз вынести в переменную, чем каждый раз высчитывать
- ну и конечно, если следом за этим кодом идет что-то вроде echo $out; то это гониво, ну а если там еще какие-то операции над получившимся хмтлем, то конечно ничо
хз может еще чето я не заметил
stokito 15.01.2010 01:58 # +3
guest 15.01.2010 10:46 # 0
Это вот и будет говнокод.
>> if(count($messages_new) > 0 OR count($messages_read) > 0): бесполезная строка
Нет, к этому if-у приписан вполне используемый else.
>> count($messages_new) по-хорошему один раз вынести в переменную, чем каждый раз высчитывать
Есть такое дело. Но от этого код "говном" не является.
>> ну и конечно, если следом за этим кодом идет что-то вроде echo $out;
Темплейто-бой ? Вот как раз операции над html-ем и будут говнокодом.
Тут все нормально - получили данные, врисовали в шаблон, отдали клиенту.
Dreyk 15.01.2010 15:00 # 0
С if-ом согласен не заметил
Если там echo $out то это не темплейт. Все хтмл теги тогда можно просто писать хтмлем а не нагружать пхп.
guest 18.01.2010 11:01 # 0
Вот когда вылезет тормозящая на очередной тысяче клиентов база - тогда и начнем в угоду скорости жертвовать понятностью.
guest 18.01.2010 11:04 # 0
?>бла-бла<?php if ($a > 1) ?> 1 <?php endif; ?>
они не сильно лучше.
Задайся простым вопросом - если, к примеру, нужно будет сообщения в нормальный вид привести (а то счас будет "1 новых сообщений"), сколько времени будешь искать, где это сделать и сколько времени править. Если задачка на одну сигарету - то вроде все нормально и с кодом и с подходом к построению приложения, не ?
guest 14.01.2010 22:36 # +1
говнокодеры постят говнокод аааабасака
guest 15.01.2010 11:53 # −1
noisiaman 23.01.2010 23:33 # 0
stokito 15.01.2010 01:56 # −2
homakov 15.01.2010 13:32 # 0
плз в след. раз поменьше кода пость) Рефакторь чутка
guest 15.01.2010 17:47 # −3
Вот за такое убивать надо... а остальное с меньшим или большим успехом покатит...
Johnny 16.01.2010 00:06 # 0
guest 16.01.2010 03:43 # 0
guest 17.01.2010 16:08 # 0
guest 17.01.2010 16:17 # +8
Если дб рассчинана на работу с вебом - только юникоды, за любые другие кодировки - увольнять нафик таких умельцев.
guest 18.01.2010 10:59 # 0
MaEcTPo69 17.05.2010 18:04 # 0