
|
EOMY.NET Хостинг EOMY.NET: Форум поддержки
|
|
Требуется помощь в php
|
| Автор |
Сообщение |
ch1t3r Хостинг — это наше всё!


Зарегистрирован: 05.10.2007 Сообщения: 111
1223 
|
Добавлено: Вт, 30 Окт, 2007 09:54 Заголовок сообщения: Требуется помощь в php |
|
|
Здраствуйте.
Есть такая CMS spaiz-nuke 1.4
Мой сайт rtfm.fsay.net
Заходишь в файлы>потом любая категория>страница номер 2 и !!! вылетаешь на новости
Дело в модуле вывода файлов. (читать ниже)
Поменял в нем News на Files и не помогает. Пытался пересобрать ручками ссылку - путаюсь в переменных...
Нужно откорректировать ссылочки. PLZ.
p.s. если ручками в браузере набираешь /modules.php?name=Files&file=show_cat&categories_i d=1&page=2
Попадаешь нормально на вторую страницу.
Есть такой файл отвечающий за вывод оформления файлов
| Код: |
откушен кусок для уменьшения!!!
OpenTable();
echo '<center>[ '.$m_lang[3].': '.$all_news.' ] [ '.$m_lang[4].': '.$numpages.' ]<br>';
if ($page > 1)
{
$prevpage = $page - 1 ;
echo '<a href="modules.php?name=News&page='.$prevpage.'">«</a>';
}
$right_side_num = $page+5;
$left_side_num = $page-5;
for ($i = 1; $i < $numpages+1; $i++)
{
if ($i == $page)
{
echo '<b>['.$i.']</b>';
}
else
{
if ((($i > $left_side_num) && ($i < $page)) || (($i > $page) && ($i < $right_side_num)))
{
echo ' [<a href="modules.php?name=News&page='.$i.'">'.$i.'</a>] ';
}
}
}
if ($page < $numpages)
{
$nextpage = $page + 1 ;
echo '<a href="modules.php?name=News&page='.$nextpage.'">»</a>';
}
echo '</center>';
CloseTable();
}
include_once 'footer.php';
}
else
{
error($m_lang[38]);
}
?> |
Пробовал делать так:
| Код: |
ткушен кусок для уменьшения!!!
$numpages = ceil($all_news/$on_page);
if ($numpages > 1)
{
OpenTable();
echo '<center>[ '.$m_lang[3].': '.$all_news.' ] [ '.$m_lang[4].': '.$numpages.' ]<br>';
if ($page > 1)
{
$prevpage = $page - 1 ;
echo '<a href="modules.php?name=Files&file=show_cat&categories_id='.$files_categories_id.'&page='.$prevpage.'">«</a>';
}
$right_side_num = $page+5;
$left_side_num = $page-5;
for ($i = 1; $i < $numpages+1; $i++)
{
if ($i == $page)
{
echo '<b>['.$i.']</b>';
}
else
{
if ((($i > $left_side_num) && ($i < $page)) || (($i > $page) && ($i < $right_side_num)))
{
echo ' [<a href="modules.php?name=Files&page='.$i.'">'.$i.'</a>] ';
}
}
}
if ($page < $numpages)
{
$nextpage = $page + 1 ;
echo '<a href="modules.php?name=Files&file=show_cat&categories_id='.$files_categories_id.'&page='.$nextpage.'">»</a>';
}
echo '</center>';
CloseTable(); |
Не помогает... Что делаю неправильно? |
|
| Вернуться к началу |
|
 |
ch1t3r Хостинг — это наше всё!


Зарегистрирован: 05.10.2007 Сообщения: 111
1223 
|
Добавлено: Вт, 30 Окт, 2007 09:58 Заголовок сообщения: |
|
|
т.е. насколько я понимаю дело в двух строках.
| Код: |
<a href="modules.php?name=Files&file=show_cat&categories_id='.$files_categories_id.'&page='.$prevpage.'">«</a>';
echo '<a href="modules.php?name=Files&file=show_cat&categories_id='.$files_categories_id.'&page='.$nextpage.'">»</a>';
|
|
|
| Вернуться к началу |
|
 |
madhamster Согнул ложку


Зарегистрирован: 09.10.2006 Сообщения: 902
432 
|
Добавлено: Вт, 30 Окт, 2007 16:10 Заголовок сообщения: |
|
|
Осмелюсь предположить что проблема кроется в глобальных переменных, точнее в их отсутствии на этом сервере...
Попробуй вставить в самое начало скрипта: import_request_variables('GP');
Повторимся что глобальные переменные не безопасны, если их не фильтровать.
ИМХО мы не видим, что творится выше, поэтому проблема может быть вовсе не в этом... _________________ NextStage - live music competition |
|
| Вернуться к началу |
|
 |
ch1t3r Хостинг — это наше всё!


Зарегистрирован: 05.10.2007 Сообщения: 111
1223 
|
Добавлено: Ср, 31 Окт, 2007 09:58 Заголовок сообщения: |
|
|
вот исходный неизмененный файл.
Здесь первое что меня смутило - в этих ссылках модуль стоит News а не Files.
| Код: | <?php
defined('SPAIZ_CODE') or die('Direct Access to this location is not allowed.');
isset($_GET['categories_id']) or die ('ID not found');
$module_name = basename(dirname(__FILE__));
get_lang($module_name);
global $m_lang;
$page_title = $m_lang[1];
$r_blocks = 1;
$categories_id = intval($_GET['categories_id']);
function getparentlink($parentid, $title)
{
global $prefix, $dbi;
$res = sql_query("select files_categories_id, files_categories_title, files_categories_parent_id from ".$prefix."_files_categories where files_categories_id='".intval($parentid)."'", $dbi);
list($categories_id, $categories_title, $categories_parent_id_) = sql_fetch_row($res);
if ($categories_title != "")
{
$title = '<a href=modules.php?name=Files&file=show_cat&categories_id='.$categories_id.'>'.$categories_title.'</a> » <a href=modules.php?name=Files&file=show_cat&categories_id='.$_GET['categories_id'].'>'.$title;
}
if ($categories_parent_id_ != 0)
{
$title = getparentlink($categories_parent_id_, $title);
}
return $title;
}
function convertorderbyin($orderby)
{
if ($orderby == "dateA")
{
$orderby = "a.files_date ASC";
}
else if ($orderby == "hitsA")
{
$orderby = "a.files_hits ASC";
}
else if ($orderby == "titleD")
{
$orderby = "a.files_title DESC";
}
else if ($orderby == "dateD")
{
$orderby = "a.files_date DESC";
}
else if ($orderby == "hitsD")
{
$orderby = "a.files_hits DESC";
}
else
{
$orderby = "a.files_title ASC";
}
return $orderby;
}
function convertorderbytrans($orderby)
{
global $m_lang;
if ($orderby == "a.files_hits ASC") $orderbyTrans = $m_lang[22];
if ($orderby == "a.files_hits DESC") $orderbyTrans = $m_lang[23];
if ($orderby == "a.files_title ASC") $orderbyTrans = $m_lang[18];
if ($orderby == "a.files_title DESC") $orderbyTrans = $m_lang[19];
if ($orderby == "a.files_date ASC") $orderbyTrans = $m_lang[20];
if ($orderby == "a.files_date DESC") $orderbyTrans = $m_lang[21];
return $orderbyTrans;
}
function convertorderbyout($orderby)
{
if ($orderby == "a.files_title ASC") $orderby = "titleA";
if ($orderby == "a.files_date ASC") $orderby = "dateA";
if ($orderby == "a.files_hits ASC") $orderby = "hitsA";
if ($orderby == "a.files_title DESC") $orderby = "titleD";
if ($orderby == "a.files_date DESC") $orderby = "dateD";
if ($orderby == "a.files_hits DESC") $orderby = "hitsD";
return $orderby;
}
function CoolSize($size)
{
$mb = 1024*1024;
if ($size > $mb)
{
$mysize = sprintf ("%01.2f",$size/$mb) . " GB";
}
else if( $size >= 1024 )
{
$mysize = sprintf ("%01.2f",$size/1024) . " Mb";
}
else
{
$mysize = $size . " Kb";
}
return $mysize;
}
global $prefix, $dbi, $theme;
include_once 'header.php';
modtitle($m_lang[6]);
include_once('themes/'.$theme.'/ThemeFileDetails.php');
if (!isset($_GET['orderby']))
{
$orderby = "a.files_title ASC";
}
else
{
$orderby = convertorderbyin($_GET['orderby']);
}
$categories_id = intval($_GET['categories_id']);
$res = sql_query("select files_categories_title, files_categories_parent_id from ".$prefix."_files_categories where files_categories_id='".$categories_id."'", $dbi);
echo '<table border="0" cellspacing="10" cellpadding="0" align="center"><tr>';
$res2 = sql_query("select files_categories_id, files_categories_title, files_categories_description, files_categories_files_counter from ".$prefix."_files_categories where files_categories_parent_id='".$categories_id."' order by files_categories_title", $dbi);
$count = 0;
$dum = 0;
while(list($files_categories_id, $files_categories_title, $categories_description, $categories_files_counter) = sql_fetch_row($res2))
{
echo '<td>» <a href="modules.php?name=Files&file=show_cat&categories_id='.$files_categories_id.'"><b>'.$files_categories_title.'</b></a> ['.$categories_files_counter.']';
if ($categories_description)
{
echo '<br>'.$categories_description.'<br>';
}
else
{
echo "<br>";
}
$res3 = sql_query("select files_categories_id, files_categories_title, files_categories_files_counter from ".$prefix."_files_categories where files_categories_parent_id='".$files_categories_id."' order by files_categories_title ASC", $dbi);
$space = 0;
while(list($_categories_id, $_categories_title, $_categories_files_counter) = sql_fetch_row($res3, $dbi))
{
if ($space > 0)
{
echo ", ";
}
echo '<a href="modules.php?name=Files&file=show_cat&categories_id='.$_categories_id.'">'.$_categories_title.'</a> ['.$_categories_files_counter.']';
$space++;
}
if ($count <1)
{
echo "</td><td> </td>";
$dum = 1;
}
$count++;
if ($count == 2)
{
echo '</td></tr><tr>';
$count = 0;
$dum = 0;
}
}
if ($dum == 1)
{
echo "</tr></table>";
}
else if ($dum == 0)
{
echo "<td></td></tr></table>";
}
if (sql_num_rows($res) > 0)
{
list($categories_title, $categories_parent_id) = sql_fetch_row($res);
OpenTable();
echo '[ <a href="modules.php?name=Files">'.$m_lang[4].'</a> ]<br>';
echo $m_lang[7].' » '.getparentlink($categories_parent_id, $categories_title);
CloseTable();
$on_page = 20;
$page = !empty($_GET['page']) ? intval($_GET['page']) : 1;
$offset = ($page-1)*$on_page;
$res = sql_query("select SQL_CALC_FOUND_ROWS a.files_id, a.files_title, a.files_image_url, a.files_description, DATE_FORMAT(a.files_date, '".$m_lang[8]."'), a.files_hits, a.files_comments_counter, a.files_size, a.files_version, a.files_homepage, a.files_admin_id, b.admins_login from ".$prefix."_files a, ".$prefix."_admins b where a.files_cat_id='".intval($categories_id)."' and a.files_admin_id=b.admins_id order by ".$orderby." limit ".$offset.", ".$on_page."", $dbi);
$orderbyTrans = convertorderbytrans($orderby);
echo '<center>'.$m_lang[9].': '.$m_lang[10].' (<a href="modules.php?name=Files&file=show_cat&categories_id='.$categories_id.'&orderby=titleA">'.$m_lang[14].'</a>\<a href="modules.php?name=Files&file=show_cat&categories_id='.$categories_id.'&orderby=titleD">'.$m_lang[15].'</a>) '
.$m_lang[11].' (<a href="modules.php?name=Files&file=show_cat&categories_id='.$categories_id.'&orderby=dateA">'.$m_lang[16].'</a>\<a href="modules.php?name=Files&file=show_cat&categories_id='.$categories_id.'&orderby=dateD">'.$m_lang[17].'</a>) '
.$m_lang[12].' (<a href="modules.php?name=Files&file=show_cat&categories_id='.$categories_id.'&orderby=hitsA">'.$m_lang[16].'</a>\<a href="modules.php?name=Files&file=show_cat&categories_id='.$categories_id.'&orderby=hitsD">'.$m_lang[17].'</a>)'
.'<br><b>'.$m_lang[13].': '.$orderbyTrans.'</b></center><br>';
while(list($files_id, $files_title, $files_image_url, $files_description, $files_date, $files_hits, $comments_counter, $files_size, $files_version, $files_homepage, $files_admin_id, $admins_login)=sql_fetch_row($res))
{
$seo_title = seo_clean($files_title);
if (!empty($files_size))
{
$files_size = size_from_kb($files_size);
}
else
{
$files_size = $m_lang[36];
}
if (!$files_version)
{
$files_version = $m_lang[36];
}
ThemeFileDetails($files_id, $files_title, $files_image_url, $files_description, $files_date, $files_hits, $comments_counter, $files_size, $files_version, $files_homepage, $files_admin_id, $admins_login, $seo_title);
if (is_admin())
{
echo '[ <a href="'._ADMINFILE.'?mod=Files&op=Files_Edit&files_id='.$files_id.'">'.$L['edit'].'</a> | <a href="'._ADMINFILE.'?mod=Files&op=Files_Remove&files_id='.$files_id.'">'.$L['del'].'</a> ]<br><br>';
}
}
# Pages
$res = sql_query("select FOUND_ROWS()", $dbi);
list($all_news) = sql_fetch_row($res);
$numpages = ceil($all_news/$on_page);
if ($numpages > 1)
{
OpenTable();
echo '<center>[ '.$m_lang[3].': '.$all_news.' ] [ '.$m_lang[4].': '.$numpages.' ]<br>';
if ($page > 1)
{
$prevpage = $page - 1 ;
echo '<a href="modules.php?name=News&page='.$prevpage.'">«</a>';
}
$right_side_num = $page+5;
$left_side_num = $page-5;
for ($i = 1; $i < $numpages+1; $i++)
{
if ($i == $page)
{
echo '<b>['.$i.']</b>';
}
else
{
if ((($i > $left_side_num) && ($i < $page)) || (($i > $page) && ($i < $right_side_num)))
{
echo ' [<a href="modules.php?name=News&page='.$i.'">'.$i.'</a>] ';
}
}
}
if ($page < $numpages)
{
$nextpage = $page + 1 ;
echo '<a href="modules.php?name=News&page='.$nextpage.'">»</a>';
}
echo '</center>';
CloseTable();
}
include_once 'footer.php';
}
else
{
error($m_lang[38]);
}
?> |
|
|
| Вернуться к началу |
|
 |
|
|