- 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
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
if (!isset($_GET['outbox']) and !isset($_GET['deleted']) and !isset($_GET['verification'])){
$res2 = mysql_query("SELECT l.* FROM letters l LEFT JOIN `customers` ct ON ct.id=l.from_user WHERE l.deleted<>1 AND ct.`Sex` = 'male' {$addon_sql} ORDER BY l.time_insert DESC");
for($arr=array(); $t = mysql_fetch_assoc($res2); $arr[]=$t);
smarty_put_var('zagolovok', 'Входящие письма');
}
if (isset($_GET['verification'])) {
$res2 = mysql_query("SELECT * FROM `letters` where `deleted` != 1 AND `checked` = 'N' {$addon_sql} order by `time_insert` DESC");
for($arr = array(); $t = mysql_fetch_assoc($res2); $arr[] = $t);
smarty_put_var('zagolovok', 'Ожидающие проверку');
}
if (isset($_GET['outbox'])) {
$res2 = mysql_query("SELECT l.* FROM `letters` l
LEFT JOIN `customers` ct ON ct.`id`=l.from_user
WHERE l.deleted != 1 AND ct.`Sex` = 'female' {$addon_sql}
ORDER BY l.time_insert DESC LIMIT 200");
for ($arr = array(); $t = mysql_fetch_assoc($res2); $arr[]=$t);
smarty_put_var('zagolovok', 'Исходящие письма');
}
if (isset($_GET['deleted'])){
$res2 = mysql_query("SELECT * FROM `letters` WHERE `deleted` = 1
{$addon_sql} ORDER BY `time_insert` DESC");
for($arr=array(); $t=mysql_fetch_assoc($res2); $arr[]=$t);
smarty_put_var('deleted', true);
smarty_put_var('zagolovok', 'Удаленные письма');
}
$letters = array_slice($arr, $first, $limit);
foreach ($letters as &$letter) {
$letter['from_user_details'] = Model_Table_Customers::model()
->fetchByPk($letter['from_user']);
$letter['to_user_details'] = Model_Table_Customers::model()
->fetchByPk($letter['to_user']);
}
if (isset($_GET['outbox'])){smarty_put_var('pages', pages_admin("?module=admin_letters&outbox&page=", $arr, $page, $limit)); smarty_put_var('type', 'outbox');}
elseif (isset($_GET['verification'])){smarty_put_var('pages', pages_admin("?module=admin_letters&verification&page=", $arr, $page, $limit)); smarty_put_var('type', 'verification');}
elseif (isset($_GET['deleted'])){smarty_put_var('pages', pages_admin("?module=admin_letters&deleted&page=", $arr, $page, $limit)); smarty_put_var('type', 'deleted');}
else {smarty_put_var('pages', pages_admin("?module=admin_letters&page=", $arr, $page, $limit)); smarty_put_var('type', '');}
...
function pages_admin($link, $arr, $page, $vis)
{
$radius=4;
$pages=floor(count($arr)/$vis);
$return="";
$str='<table cellpadding="0" cellspacing=3 border="0">
<tr><td height=7></td></tr>
<tr>';
if ($pages > 1) {
$first = 'First';
$prev = 'Prev';
$next = 'Next';
$last = 'Last';
if($page<$radius*2){
.....
трэшак в том же духе
Очередной шедевр с сохранением авторского стиля и табуляции. Это подготовка для smarty представления таблицы с постраничной разбивкой. Возможны 4 типа писем - 4 вкладки. pages_admin() - возвращает пагинатор в виде готового html кода.
Клиент жаловался, что страница сильно тормозит. Там более 150 000 писем. Я догадывался, что код можно чутка оптимизирвоать, но не думал, что существенно. А когда посмотрел вижу - п-ц ))) Интересно насколько получить ускорить?