Не устраивает одно вид ссылок на статью имеет http://001.lc/catalog/ext/7/ вот эта часть "/ext/7/" откуда взялась не понятно совсем, в то время вид ссылок на каталог http://001.lc/catalog/date/housing/ и под каталог http://001.lc/catalog/date/housing/pets/ хотелось бы сделать так чтобы ссылка на статью имела дружественный вид http://001.lc/catalog/date/housing/pets/7/ хотя бы так, то есть статья находится в каталоге дом и квартира, подкаталог домашние животные и номер статьи в каталоге на худой конец порядковый номер статьи!
CMS можно скачать с Оф сайта http://www.cn-software.com/ru/cncat/download/
Версия 3.1 - http://www.cn-software.com/ru/cncat/downlo....1-src-free.zip
Надеюсь на помощь!
Спустя 1 день, 2 часа, 22 минуты, 55 секунд (4.06.2011 - 16:17) ssvih написал(а):
Ребят ну помогите нубам ) Не ужели так сложно? Я решил предположить что вид ссылки такой как он есть зависит от mod_rewrite, в файле .htaccess нашел следующее
Но снова ступор, не могу разобраться, что делать с sefriendly.php
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^catalog/(.*) sefriendly.php
</IfModule>
Но снова ступор, не могу разобраться, что делать с sefriendly.php
Спустя 14 минут, 21 секунда (4.06.2011 - 16:31) Игорь_Vasinsky написал(а):
у тя гдето есть функция или класс построения ссылок - вот она то и делает такие линки. Поищи.
Спустя 24 минуты, 27 секунд (4.06.2011 - 16:56) ssvih написал(а):
Да я понимаю что это где-то есть, а где и как это выглядит а тем более работает не знаю, читаю форумы ищу в нете что да как, на данный момент ничего не смог найти, вот пишу здесь тем кто знает, если не трудно посмотреть и подсказать что да как.
Спустя 4 минуты, 34 секунды (4.06.2011 - 17:00) Игорь_Vasinsky написал(а):
ну а как ты хотел, если явно не видно где директория с классами или функциями - стало быть - нужно открыть файл где есть вывод подобной ссылки - посмотреть что где и как инклудится, во так вот и найдётся (в названии может присутствовать _links_)
Спустя 8 минут, 13 секунд (4.06.2011 - 17:09) ssvih написал(а):
Ну вот смотри в .htaccess из того что ниже
Понятно что перед тем самым зловестным /ext/ идет /catalog а далее идет обращение к sefriendly.php
Его содержимое что описано ниже
Из файла видно что инклюдится _funct.php, ext.php и index.php
Так же трудно не заметить
Это все что я смог найти, а что теперь? (((
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^catalog/(.*) sefriendly.php
</IfModule>
Понятно что перед тем самым зловестным /ext/ идет /catalog а далее идет обращение к sefriendly.php
Его содержимое что описано ниже
<?php
include_once ("./_funct.php");
$cat["seabs"]=substr($_SERVER["PHP_SELF"],0,-14);
while (substr($cat["seabs"],-1)=="/") $cat["seabs"]=substr($cat["seabs"],0,-1);
$url=$_SERVER["REQUEST_URI"];
if (substr($url,0,strlen($cat["seabs"]))==$cat["seabs"]) $url=substr($url,strlen($cat["seabs"]));
$url=explode("/",$url);
$seFriendlyOrder=$url[2];
if (substr($url[count($url)-1],-5)==".html")
{
$seFriendlyPage=intval(substr($url[count($url)-1],0,-5));
unset($url[count($url)-1]);
}
else
$seFriendlyPage = 0;
unset($url[0]);
unset($url[1]);
unset($url[2]);
// External link info
if ($seFriendlyOrder=="ext")
{
$_SERVER["QUERY_STRING"] = $url[3];
include "./ext.php";
}
else
// Category
{
$seFriendlyUrl=implode("/",$url);
if (substr($seFriendlyUrl,-1)=="/") $seFriendlyUrl=substr($seFriendlyUrl,0,-1);
$_GET=Array();
if (empty ($cid))
{
$r=mysql_query("SELECT cid FROM ".$db["prefix"]."cat_linear WHERE url='".mysql_escape_string($seFriendlyUrl)."';") or die(mysql_error());
if ($a=mysql_fetch_assoc($r))
$_GET["c"]=$a["cid"];
}
else
$_GET["c"] = $cid;
$_GET["o"] = getOrderStrId($seFriendlyOrder);
$_GET["start"]=intval($seFriendlyPage);
include "./index.php";
}
?>
Из файла видно что инклюдится _funct.php, ext.php и index.php
Так же трудно не заметить
// External link info
if ($seFriendlyOrder=="ext")
Это все что я смог найти, а что теперь? (((
Спустя 1 минута, 25 секунд (4.06.2011 - 17:10) ssvih написал(а):
Да когда меняю здесь ext сайт перестает показывать статьи, и кидает на главную!
// External link info
if ($seFriendlyOrder=="ext")
Спустя 1 минута, 56 секунд (4.06.2011 - 17:12) Игорь_Vasinsky написал(а):
вот этот код - даёт обратный эффект мод реврайт
а есть где то которая формирует линки в мод реврайт.
а есть где то которая формирует линки в мод реврайт.
Спустя 2 минуты, 19 секунд (4.06.2011 - 17:14) ssvih написал(а):
Содержимое _funct.php
Содержимое ext.php
Ну и содержимое индекса
А где эта самая может быть?
Свернутый текст
<?php
// SSCat root directory
$INCLUDE_ROOT = dirname (__FILE__)."/";
// Initialization
include $INCLUDE_ROOT."admin/_init.php";
header ("Content-Type: text/html; charset=".$LANG["charset"]);
/** Display menu from "bmenu" template */
function displayMenu()
{
GLOBAL $TMPL, $LANG, $cat, $db;
$template=$TMPL["bmenu"];
$template=str_replace("%MODERATORSTEXT",$LANG["moderators"],$template);
$template=str_replace("%ADDLINKTEXT",$LANG["addlink"],$template);
$template=str_replace("%MAINTEXT",$LANG["main"],$template);
print $template;
}
function displayBrokenScript()
{
GLOBAL $TMPL, $LANG, $cat, $db;
$template=$TMPL["brokenscript"];
$template=str_replace("%YESTEXT",$LANG["yes"],$template);
$template=str_replace("%NOTEXT",$LANG["no"],$template);
$template=str_replace("%BROKENSURETEXT",$LANG["brokensure"],$template);
print $template;
}
function displaySearchForm($q="")
{
GLOBAL $TMPL, $LANG, $cat, $db;
$sform=$TMPL["searchform"];
$sform=str_replace("%SEARCHTEXT",$LANG["search"],$sform);
$sform=str_replace("%QUERYTEXT",$q,$sform);
print $sform;
}
/** Display links from mysql result. Used in index.php and search.php */
function displayLinks(&$r, $search="")
{
GLOBAL $LANG, $TMPL, $cat;
$cnt=mysql_num_rows($r);
while ($ar=mysql_fetch_array($r))
{
$best = $ar["moder_vote"]==10;
$admin="";
if (isAdmin())
{
$admin.="<font color=gray size=-3> [<a href=".mp("%ABS/admin/edit.php?lid=".$ar["lid"]."&type=255")." class=slink>".$LANG["edit"]."</a>]";
$admin.="[<a href=".mp("%ABS/admin/moveto.php?lid=".$ar["lid"]."&type=1&to=2 class=slink.").">".$LANG["delete"]."</a>] [";
for ($j=1;$j<11;$j++)
{
if ($j==$ar["moder_vote"]) $admin.="<B>".$j."</B> ";
else $admin.="<a href=".mp("%ABS/admin/vote.php?lid=".$ar["lid"]."&vote=$j&type=255")." class=slink>".$j."</a> ";
}
$admin.="]";
$admin.=" [<a href='".mp("%ABS/admin/docheck.php?t=2&lid=".$ar["lid"])."&back=".urlencode($_SERVER["REQUEST_URI"])."'>".$LANG["check_docheck"]. "</a>]";
$admin.="</font>";
}
$template=($best==1)?$TMPL["bestlinksbit"]:$TMPL["linksbit"];
if ($cat["showextinfolink"]==1)
$template=str_replace("%EXTINFOLINK",$TMPL["extinfolink"],$template);
else
$template=str_replace("%EXTINFOLINK","",$template);
$template=str_replace("%ID",$ar["lid"],$template);
$template=str_replace("%EXTENDEDINFOURL",getExtendedInfoUrl($ar["lid"]),$template);
if (!empty ($search))
{
$template=str_replace("%TITLE", hl($ar["title"], $search),$template);
$template=str_replace("%DESC",hl(rehtml($ar["description"]), $search),$template);
}
else
{
/* $parseUrl = parse_url($ar["url"]);
$favicon = "<img border=0 width=16 height=16 src=\"http://favicon.yandex.net/favicon/".$parseUrl["host"]."\"> ";
$template=str_replace("%TITLE",$favicon.$ar["title"],$template);
*/
$template=str_replace("%TITLE",rehtml($ar["title"], false),$template);
$template=str_replace("%DESC",rehtml($ar["description"]),$template);
}
$template=str_replace("%URL",$ar["url"],$template);
$template=str_replace("%FULLDESC",rehtml($ar["fulldesc"]),$template);
$template=str_replace("%KEYWORDS",rehtml($ar["keywords"], false),$template);
$template=str_replace("%GIN",$ar["gin"],$template);
$template=str_replace("%GOUT",$ar["gout"],$template);
$template=str_replace("%MODERVOTE",$ar["moder_vote"],$template);
$template=str_replace("%RATINGPR",$ar["pr"]>=0 ? $ar["pr"] : "?",$template);
$template=str_replace("%RATINGCY",$ar["cy"]>=0 ? $ar["cy"] : "?",$template);
$template=str_replace("%BEST","<img src=".mp("%ABS/cat/star.gif")." width=15 height=16 hspace=3>",$template);
$template=str_replace("%BROKENTEXT",$LANG["broken"],$template);
$template=str_replace("%RESFIELD1",$ar["resfield1"],$template);
$template=str_replace("%RESFIELD2",$ar["resfield2"],$template);
$template=str_replace("%RESFIELD3",$ar["resfield3"],$template);
$template=str_replace("%ADMINIFACE",$admin,$template);
print $template;
}
}
/**
* Creates SQL query condition for search string
* @param q query string
* @return SQL string
*/
function createSearchCondition($q)
{
$q=trim($q);
$lq=strtolower($q);
$uq=strtoupper($q);
$is=0;
/* ID Search */
if (substr($q,0,3)=="id:")
{
$likes="m.lid=".intval(substr($uq,3));
$is=1;
}
/* URL Search */
if (substr($q,0,4)=="url:")
{
$tq=trim(substr($uq,4));
if (substr($tq,0,7)!="http://") $tq="http://".$tq;
$likes="UPPER(m.url) like '".$tq."%'";
$is=1;
}
/* REGEXP */
if (substr($q,0,6)==""" && substr($q,-6)==""")
{
$uq=trim(substr($uq,6,-6));
$lq=trim(substr($lq,6,-6));
$likes.=" OR UPPER(m.description) regexp '[[:<:]]".$uq."[[:>:]]'";
$likes.=" OR UPPER(m.title) regexp '[[:<:]]".$uq."[[:>:]]'";
$likes.=" OR UPPER(m.url) regexp '[[:<:]]".$uq."[[:>:]]'";
$likes.=" OR UPPER(m.fulldesc) regexp '[[:<:]]".$uq."[[:>:]]'";
$likes.=" OR UPPER(m.keywords) regexp '[[:<:]]".$uq."[[:>:]]'";
$likes=substr($likes,4);
$is=1;
}
/* Simple search */
if ($is==0)
{
$likes="";
$ph=explode(" ",$uq);
for ($i=0;$i<count($ph);$i++)
{
if (!empty ($ph[$i]))
{
$pq="%".$ph[$i]."%";
$likes.=" OR UPPER(m.description) like '$pq'";
$likes.=" OR UPPER(m.title) like '$pq'";
$likes.=" OR UPPER(m.url) like '$pq'";
$likes.=" OR UPPER(m.fulldesc) like '$pq'";
$likes.=" OR UPPER(m.keywords) like '$pq'";
}
}
$likes=substr($likes,4);
}
return $likes;
}
function qp_enc( $input = "", $line_max = 1000, $space_conv = true )
{
$hex = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
$lines = preg_split("/(?:\r\n|\r|\n)/", $input);
$eol = "?=\r\n\t";
$escape = "=";
$output = "";
$charset = "=?Windows-1251?Q?";
while( list(, $line) = each($lines) ) {
$linlen = strlen($line);
$newline = "";
for($i = 0; $i < $linlen; $i++) {
$c = substr( $line, $i, 1 );
$dec = ord( $c );
if ( ( $i == 0 ) && ( $dec == 46 ) ) {
$c = "=2E";
}
if ( $dec == 32 ) {
if ( $i == ( $linlen - 1 ) ) {
$c = "_";
} else if ( $space_conv ) {
$c = "_";
}
} elseif ( ($dec == 61) || ($dec < 32 ) || ($dec > 126) ) {
$h2 = floor($dec/16);
$h1 = floor($dec%16);
$c = $escape.$hex["$h2"].$hex["$h1"];
}
if ( (strlen($newline) + strlen($c)) >= $line_max ) {
$output .= $charset.$newline.$eol;
$newline = "";
if ( $dec == 46 ) {
$c = "=2E";
}
}
$newline .= $c;
} // end of for
$output .= $charset.$newline.$eol;
} // end of while
return trim(str_replace("\r\n","\n",$output));
}
?>
Содержимое ext.php
Свернутый текст
<?php
include_once "./_funct.php";
$r=mysql_query("SELECT name,html FROM ".$db["prefix"]."templates;") or die(mysql_error());
while ($a=mysql_fetch_assoc($r)) $TMPL[$a["name"]]=$a["html"];
foreach ($TMPL as $t=>$v) $TMPL[$t]=mp($v);
$COPY=mp($COPY);
$lid=intval($_SERVER["QUERY_STRING"]);
$r=mysql_query("SELECT * FROM ".$db["prefix"]."main WHERE lid='$lid' and type<=1;") or die(mysql_error());
if ($link = mysql_fetch_array($r))
{
if ($link["type"]==1)
{
$title = rehtml($link["title"], false);
$keywords = rehtml($link["keywords"], false);
include "./_top.php";
?>
<STYLE>
h1{
font: 20px sans-serif;
padding: 5px;
}
</STYLE>
<table border=0 width=100%>
<tr>
<td valign=top width=15%></td>
<td width=70%><center><a href="<?php echo mp("%ABS/jump.php?".$link["lid"]) ?>"><B><?php echo rehtml($link["title"], false)?></B></a></center></td>
<td ROWSPAN=4 widht=15%><?php echo ($link["reklama"]) ?><!-- правое меню рекламы--></td>
</tr>
<tr><td valign=top></td><td><a href="<?php echo $link["url"] ?>"></a></td></tr>
<tr><td valign=top></td><td></td></tr>
<?php
if (!empty ($link["fulldesc"]))
{
?><HTML><tr><td valign=top></td><td><BODY><?php echo ($link["fulldesc"]) ?></td></tr><?php
}
if (!empty ($link["keywords"]))
{
?><tr><td valign=top><?php $LANG["keywords"]?></td><td><?php rehtml($link["keywords"], false) ?></td></tr><?php
}
?>
<tr>
<td valign=top><b><?php echo $LANG["category"]?>:</b></td>
<td valign=top>
<?php
$query = "select cl.cid, cl.name, cl.url from ".$db["prefix"]."lincat lc left join ".$db["prefix"]."cat_linear cl on lc.cid=cl.cid WHERE lid='".$lid."' order by priority";
$rcats = mysql_query($query) or die (mysql_error());
while ($category = mysql_fetch_array ($rcats, MYSQL_ASSOC))
{
?><a href="<?php echo getCatUrl($category["cid"], $category["url"])?>"><?php echo $category["name"]?></a><br><?php
}
?>
</td>
</tr>
<tr><td valign=top><b><?php echo $LANG["author"]?>:</b></td><td><?php echo $link["author"]?></td></tr>
<tr><td valign=top><b><?php echo $LANG["email"]?>:</b></td><td><?php echo $link["email"]?></td></tr>
<tr><td valign=top><b><?php echo $LANG["tosite"]?>:</b></td><td><?php echo $link["gout"]?></td></tr>
</table>
<?php
include "./_bottom.php";
}
else
{
$title = $CATNAME;
$keywords = "";
include "./_top.php";
?><?php echo $LANG["link_not_submitted"] ?><?php
include "./_bottom.php";
}
}
else
{
die("URL not found.");
}
?>
Ну и содержимое индекса
Свернутый текст
<?php
// Initialization
if (!is_file("config.php"))
{
?>
<HTML>
<a href="install/">Please click here to install SSCat.</a> <br><font size=small>Do not forget to create files config.php, _top.php and _bottom.php after installation.</font><br>
Documentation: <a href="man/en/index.htm">English</a>, <a href="man/ru/index.htm">Russian</a>.
<BODY>
<?php
die;
}
if (!is_file("_top.php"))
{
?>
<HTML>
Please create the file "_top.php".<br>
Documentation: <a href="man/en/index.htm">English</a>, <a href="man/ru/index.htm">Russian</a>.
<BODY>
<?php
die;
}
if (!is_file("_bottom.php"))
{
?>
<HTML>
Please create the file "_bottom.php".<br>
Documentation: <a href="man/en/index.htm">English</a>, <a href="man/ru/index.htm">Russian</a>.
<BODY>
<?php
die;
}
include_once "./_funct.php";
// Check if install.php exists
if (is_dir("install"))
{
// Check if install is not completed (previous version installed)
$oldVer = true;
$res = mysql_query ("show columns from ".$db["prefix"]."cat") or die (mysql_error());
while ($row = mysql_fetch_assoc ($res))
{
// field "disableadd" in table "cncat_cat" was added in version 0.1
if ($row["Field"]=="disableadd")
{
$oldVer = false;
break;
}
}
if ($oldVer)
{
// Old version is installed - please install.
?>
<HTML>
<a href="install/">Please click here to install SSCat.</a> <br><font size=small>Do not forget to create files config.php, _top.php and _bottom.php after installation.</font><br>
Documentation: <a href="man/en/index.htm">English</a>, <a href="man/ru/index.htm">Russian</a>.
<BODY>
<?php
die;
}
else
{
// 0.1 is installed. Remove the "install" directory.
echo $LANG["remove_install"];
?><br>Documentation: <a href="man/en/index.htm">English</a>, <a href="man/ru/index.htm">Russian</a>.<?php
die;
}
}
/* Request parameters */
// category ID
$c=intval($_GET["c"]);
// page
$start=intval($_GET["start"]);
// sort order
$o=$_GET["o"];
$defaultorder=intval($cat["defaultorder"]);
if ($defaultorder<0 || $defaultorder>5) $defaultorder=0;
if (($o<0 && $o>5) || !isset($o)) $o=$defaultorder;
$ostr=getOrderStr($o);
/* Rendering page */
// Get info for current and parent categories
$parentLinks="";
$url="";
$title="";
getCategoryInfo($c, $title, $url, $parentLinks);
// Page title
if (!empty($title))
$title .= " / ".$CATNAME;
else
$title = $CATNAME;
include "./_top.php";
// Initialization warnings
displayWarnings();
// Block from template "Menu" (Directory index | Submit a site | Administration)
displayMenu();
// JavaScript for broken links ("brokenscript" template);
displayBrokenScript();
// Block from template "Search form"
displaySearchForm();
// Directory title and path to the current category
displayCategoryPath($c, $parentLinks);
// List of child categories
displayCategories($c);
// New links
displayNewLinks($c);
// Sort order
displaySortOrderCat($c, $o, $url);
// Links in the current category
$total = displayCategoryLinks($c, $o, $start);
// Page navigation
displayPages($c, $o, $url, $total, $start);
// Block from template "Menu" (Directory index | Submit a site | Administration)
displayMenu();
// Page bottom
include "./_bottom.php";
/***********************************************
* Service functions
***********************************************/
function getCategoryInfo($c, &$title, &$url, &$parentLinks)
{
GLOBAL $TMPL, $LANG, $cat, $db;
$cid=$c;
do
{
$r=mysql_query("SELECT c.parent,c.name,c.cid,l.url FROM ".$db["prefix"]."cat c,".$db["prefix"]."cat_linear l WHERE c.cid='$cid' AND c.cid=l.cid;") or die(mysql_error());
if (mysql_num_rows($r)==1)
{
$ct = mysql_fetch_assoc($r);
if ($cid==$c)
{
$title = $ct["name"];
$url = $ct["url"];
$parentLinks = $ct["name"];
}
else
$parentLinks="<a class=bold href=\"".getCatUrl ($ct["cid"], $ct["url"])."\">".$ct["name"]."</a> » ".$parentLinks;
$cid=$ct["parent"];
}
else $cid=0;
} while ($cid!=0);
};
/***********************************************
* Display functions
***********************************************/
function displayWarnings()
{
GLOBAL $warning;
if (!empty($warning))
{
print "<div align=\"center\"><div style='padding:5px;border: solid 1px red;width:500px;background-color:white;'>";
print "<B>Warning:</B> ".$warning;
print "</div></div>";
}
}
function displayCategoryPath($c, $parents)
{
GLOBAL $TMPL, $LANG, $cat, $db;
if ($cat["showpathonmain"]==1 || $c!=0)
{
$template=$TMPL["catname"];
$template=str_replace("%MAINTEXT",$cat["catname"],$template);
$template=str_replace("%OTHERTEXT",$parents,$template);
if (isAdmin() && $c>0)
$edit = "<a href='".mp("%ABS/admin/cat.php?mode=edit&cid=".$c)."&back=".urlencode($_SERVER["REQUEST_URI"])."'><img border=0 width=16 height=16 src=\"".mp("%ABS/cat/cat_edit.gif")."\"></a> ".
"<a href='".mp("%ABS/admin/cat.php?mode=add&cid=".$c)."&back=".urlencode($_SERVER["REQUEST_URI"])."'><img border=0 width=16 height=16 src=\"".mp("%ABS/cat/cat_new.gif")."\"></a>";
else
$edit="";
$template=str_replace("%ADMINIFACE",$edit,$template);
print $template;
}
}
function displayCategories($cid)
{
GLOBAL $cat,$TMPL,$db;
$showsubcats = $cat["showsubcats"]==2 || $cat["showsubcats"]==1 && $cid==0;
$catOrder = $cat["catsort"]==0 ? "c.name" : "c.sortorder, c.name";
$query = "SELECT c.name,c.cid,c.count,l.url FROM ".$db["prefix"]."cat c,".$db["prefix"]."cat_linear l WHERE c.parent='$cid' AND c.cid=l.cid ORDER BY ".$catOrder;
$r=mysql_query($query) or die(mysql_error());
$num=0;
$cnt=mysql_num_rows($r);
if ($cnt==0) return;
$cats = array();
$catIds = array();
while ($c = mysql_fetch_array($r))
{
$cats1[$c[1]] = count ($cats);
$cats[] = $c;
$catIds[] = $c[1];
}
if ($showsubcats)
{
$query = "SELECT c.name,c.cid,c.count,l.url,c.parent FROM ".$db["prefix"]."cat c,".$db["prefix"]."cat_linear l WHERE c.parent in (".join (",",$catIds).") AND c.cid=l.cid ORDER BY ".$catOrder;
$r1 = mysql_query($query) or die(mysql_error());
while ($c1 = mysql_fetch_array($r1))
$cats[$cats1[$c1[4]]]["subcats"][] = $c1;
};
print $TMPL["partstop"];
$rows = $cat["rows"];
// Auto row count - priority to columns
if ($rows==0) $rows = intval (ceil(sqrt($cnt)));
// Auto row count - priority to rows
//if ($rows==0) $rows = intval (floor(sqrt($cnt)));
$width = intval (100/ceil($cnt/$rows));
for ($i=0;$i<$cnt;$i++)
{
$num++;
if ($num==1) print str_replace("%WIDTH",$width."%",$TMPL["partsdelimtop"]);
$template=$TMPL["partsbit"];
$template=str_replace("%CTITLE",$cats[$i][0],$template);
$catUrl = getCatUrl($cats[$i][1], $cats[$i][3]);
$template=str_replace("%URL",$catUrl,$template);
$template=str_replace("%CID",$cats[$i][1],$template);
$template=str_replace("%CCOUNT",$cats[$i][2],$template);
// Sub-categories
$subcats = "";
$subCnt = count ($cats[$i]["subcats"]);
if ($showsubcats && $subCnt>0)
{
$subMore = 0;
$subcats .= $TMPL["subpartstop"];
if ($subCnt>$cat["showsubcatcount"])
{
$subCnt=$cat["showsubcatcount"];
$subMore=1;
}
for ($j=0; $j<$subCnt; $j++)
{
$template1 = $TMPL["subpartsbit"];
$catUrl = getCatUrl($cats[$i]["subcats"][$j][1], $cats[$i]["subcats"][$j][3]);
$template1=str_replace("%URL",$catUrl,$template1);
$template1=str_replace("%CTITLE",$cats[$i]["subcats"][$j][0],$template1);
$template1=str_replace("%CCOUNT",$cats[$i]["subcats"][$j][2],$template1);
if ($j>0) $subcats .= $TMPL["subpartsdelim"];
$subcats .= $template1;
};
if ($subMore)
$subcats .= $TMPL["subpartsmore"];
$subcats .= $TMPL["subpartsbottom"];
};
$template=str_replace("%SUBPARTS",$subcats,$template);
print $template;
if ($num==$rows)
{
print $TMPL["partsdelimbottom"];
$num=0;
}
}
print $TMPL["partsbottom"];
}
function displayNewLinks($c)
{
GLOBAL $TMPL, $LANG, $cat, $db;
if (intval($c)==0 && $cat["shownew"]==1)
{
$newlinkstop=$TMPL["newlinkstop"];
$newlinkstop=str_replace("%NEWLINKSTEXT",$LANG["newlinks"],$newlinkstop);
print $newlinkstop;
$r=mysql_query("SELECT lid,title,description,resfield1,resfield2,resfield3 FROM ".$db["prefix"]."main WHERE type=1 ORDER by insert_date DESC LIMIT ".$cat["shownewcount"].";");
while ($ar=mysql_fetch_array($r))
{
if (substr($ar["description"], 0, 6)!="[html]" && strlen($ar["description"])>75)
$ar["description75"]=substr($ar["description"],0,75)."...";
else
$ar["description75"]=$ar["description"];
$template=$TMPL["newlinkstbit"];
$template=str_replace("%ID",$ar["lid"],$template);
$template=str_replace("%EXTENDEDINFOURL",getExtendedInfoUrl($ar["lid"]),$template);
$template=str_replace("%TITLE",$ar["title"],$template);
$template=str_replace("%GIN",$ar["gin"],$template);
$template=str_replace("%GOUT",$ar["gout"],$template);
$template=str_replace("%MODERVOTE",$ar["moder_vote"],$template);
$template=str_replace("%DESC75",rehtml($ar["description75"]),$template);
$template=str_replace("%DESC",rehtml($ar["description"]),$template);
$template=str_replace("%URL",$ar["url"],$template);
$template=str_replace("%RESFIELD1",$ar["resfield1"],$template);
$template=str_replace("%RESFIELD2",$ar["resfield2"],$template);
$template=str_replace("%RESFIELD3",$ar["resfield3"],$template);
print $template;
}
print $TMPL["newlinkstbottom"];
}
}
function displaySortOrderCat($c, $o, $url)
{
GLOBAL $TMPL, $LANG, $cat, $db;
if ($cat["linksatmain"]==1 || $c!=0)
{
if ($o==0) $sortbypop="<B>".$LANG["popuarity"]."</B>"; else $sortbypop="<a href=\"".getCatUrl($c, $url, 0)."\">".$LANG["popuarity"]."</a>";
if ($o==1) $sortbytitle="<B>".$LANG["title"]."</B>"; else $sortbytitle="<a href=\"".getCatUrl($c, $url, 1)."\">".$LANG["title"]."</a>";
if ($o==2) $sortbymoder="<B>".$LANG["modervote"]."</B>"; else $sortbymoder="<a href=\"".getCatUrl($c, $url, 2)."\">".$LANG["modervote"]."</a>";
if ($o==3) $sortbyin="<B>".$LANG["sortbyin"]."</B>"; else $sortbyin="<a href=\"".getCatUrl($c, $url, 3)."\">".$LANG["sortbyin"]."</a>";
if ($o==4) $sortbypr="<B>".$LANG["sortbypr"]."</B>"; else $sortbypr="<a href=\"".getCatUrl($c, $url, 4)."\">".$LANG["sortbypr"]."</a>";
if ($o==5) $sortbycy="<B>".$LANG["sortbycy"]."</B>"; else $sortbycy="<a href=\"".getCatUrl($c, $url, 5)."\">".$LANG["sortbycy"]."</a>";
$template=$TMPL["sortby"];
$template=str_replace("%SORTBYPOP",$sortbypop,$template);
$template=str_replace("%SORTBYTITLE",$sortbytitle,$template);
$template=str_replace("%SORTBYMODER",$sortbymoder,$template);
$template=str_replace("%SORTBYIN",$sortbyin,$template);
$template=str_replace("%SORTBYPR",$sortbypr,$template);
$template=str_replace("%SORTBYCY",$sortbycy,$template);
$template=str_replace("%SORTBYTEXT",$LANG["sortby"],$template);
print $template;
}
}
function displayCategoryLinks($c, $o, $start)
{
GLOBAL $TMPL, $LANG, $cat, $db;
$pp=$cat["linksperpage"];
if ($cat["linksatmain"]==1 || $c!=0)
{
print $TMPL["linkstop"];
dislpayCategoryLinksByRank($c,$o, $start, 1);
print str_replace("%NUM",($start*$pp)+1,$TMPL["linksmiddle"]);
$total = dislpayCategoryLinksByRank ($c, $o, $start, 0);
print $TMPL["linksbottom"];
if ($total>0)
print "<P>".$LANG["linkcount"].": <B>$total</B></P>";
}
return $total;
}
function dislpayCategoryLinksByRank($cid, $o, $start, $best=0)
{
GLOBAL $TMPL, $LANG, $cat, $db;
$pp=$cat["linksperpage"];
if ($best==1) $bestsql="AND moder_vote=10"; else $bestsql="AND moder_vote!=10";
if ($o==0) $order="ORDER BY gin DESC,gout DESC";
if ($o==1) $order="ORDER BY title";
if ($o==2) $order="ORDER BY moder_vote DESC, gout DESC";
if ($o==3) $order="ORDER BY insert_date DESC";
if ($o==4) $order="ORDER BY pr DESC";
if ($o==5) $order="ORDER BY cy DESC";
if ($cid!=0)
$Q="SELECT m.lid,url,title,description,fulldesc,keywords,gin,gout,moder_vote,pr,cy,resfield1,resfield2,resfield3 FROM ".$db["prefix"]."lincat lc left join ".$db["prefix"]."main m on lc.lid=m.lid WHERE type=1 $bestsql AND lc.cid=$cid $order LIMIT ".($start*$pp).",$pp;";
else
$Q="SELECT lid,url,title,description,fulldesc,keywords,gin,gout,moder_vote,pr,cy,resfield1,resfield2,resfield3 FROM ".$db["prefix"]."main WHERE type=1 $bestsql $order LIMIT ".($start*$pp).",$pp;";
$r=mysql_query($Q) or die(mysql_error());
if ($best!=1)
{
$cnt=mysql_num_rows($r);
if ($cnt==0) print $LANG["linksnotfound"];
}
displayLinks ($r);
if ($best!=1)
{
if ($cid!=0)
$Q="SELECT count(*) FROM ".$db["prefix"]."lincat lc left join ".$db["prefix"]."main m on lc.lid=m.lid WHERE type=1 $bestsql AND lc.cid=$cid;";
else
$Q="SELECT count(*) FROM ".$db["prefix"]."main WHERE type=1 $bestsql;";
return(mysql_result(mysql_query($Q),0,0));
}
}
function displayPages($c, $o, $url, $total, $start)
{
GLOBAL $TMPL, $LANG, $cat, $db;
$pp=$cat["linksperpage"];
if ($pp>0)
{
if ($cat["sefriendly"]==1 && !empty ($url) && substr($url, -1)!="/")
print "<center>".uniLeftRight(ceil($total/$pp),$start,getCatUrl($c, $url, $o),1,".html")."</center>";
else
print "<center>".uniLeftRight(ceil($total/$pp),$start,getCatUrl($c, $url, $o)."&start=",1)."</center>";
}
}
?>
А где эта самая может быть?
Спустя 4 минуты, 26 секунд (4.06.2011 - 17:19) ssvih написал(а):
Вот нашел такое вот выражение
Возможно здесь надо юзать?
$r=mysql_query("SELECT * FROM ".$db["prefix"]."main WHERE lid='$lid' and type<=1;") or die(mysql_error());
Возможно здесь надо юзать?
Спустя 3 минуты, 30 секунд (4.06.2011 - 17:22) Игорь_Vasinsky написал(а):
хз
// Links in the current category
// Links in the current category
Цитата |
$total = displayCategoryLinks($c, $o, $start); |
может она...

Спустя 13 минут, 16 секунд (4.06.2011 - 17:35) Игорь_Vasinsky написал(а):
это помоему всё к разделу админа относится, а нужно общее, есть ещё файлы с функциями? папка lib или что то ещё такое?
Спустя 1 час, 43 секунды (4.06.2011 - 18:36) ssvih написал(а):
Есть папка admin с множеством файлов! Если не сложно то можешь скачать движок и посмотреть, так будет лучше!
Спустя 5 минут, 22 секунды (4.06.2011 - 18:42) Игорь_Vasinsky написал(а):
качать я не буду, я вообще фильм смотрю, так время от времени обновляю.
ВОт если вы ни чё не умеете и не знаете - так хотяб учитесь, или не ставьте перед собой такой задачи.
Это форум - здесь помогут доработать, подсказать, а не всё за вас делать будут.
Какая разница какя CMS - php он и в африке php.
кусок кода покажи где выводятся твои не правильные ссылки
ВОт если вы ни чё не умеете и не знаете - так хотяб учитесь, или не ставьте перед собой такой задачи.
Это форум - здесь помогут доработать, подсказать, а не всё за вас делать будут.
Какая разница какя CMS - php он и в африке php.
кусок кода покажи где выводятся твои не правильные ссылки
Спустя 27 минут, 56 секунд (4.06.2011 - 19:10) ssvih написал(а):
Столько всего описал и не выложилось (((
В общем структура корня следующая
Папки
admin - без комментариев
cat - картинки
lang - языки
man - мануал
sample - xml фаилы
В общем структура корня следующая
Папки
admin - без комментариев
cat - картинки
lang - языки
man - мануал
sample - xml фаилы
Спустя 4 минуты, 59 секунд (4.06.2011 - 19:14) ssvih написал(а):
$template=($best==1)?$TMPL["bestlinksbit"]:$TMPL["linksbit"];
if ($cat["showextinfolink"]==1)
$template=str_replace("%EXTINFOLINK",$TMPL["extinfolink"],$template);
else
$template=str_replace("%EXTINFOLINK","",$template);
вот тут в файле _funct.php когда здесь $template=($best==1) заменяю 1 на 0 то исчезает ссылка
Спустя 8 часов, 23 минуты, 40 секунд (5.06.2011 - 03:38) ssvih написал(а):
Вот нашел кое что не знаю оно ли это!
В общем .htaccess ссылается на sefriendly.php тот в свою очередь на _funct.php и от суда я забрел в admin/_init.php где я нашел связь с
В файле admin/_init.php с 216 строки нашел это ext
Пробовал менять на другие значения это самое ext менял на extp в admin/_init.php и в sefriendly.php все работает ссылка меняет вид, теперь вопрос как добиться того чтобы поменять вид ссылки
с http://домен/catalog/ext/порядковый_номер/
на http://домен/catalog/ссылка_категории/порядковый_номер/
В БД есть 3 таблицы 2 из них cat и cat_linear отвечают за категории а main где хранятся статьи есть сортировка cat1 то есть в каждой категории есть свои name, url и cid где cat1 из main=cid из cat и cat_linear как из этого можно получить url из cat или cat_linear если каждая статья имеет свой порядковый номер lid
В общем .htaccess ссылается на sefriendly.php тот в свою очередь на _funct.php и от суда я забрел в admin/_init.php где я нашел связь с
из sefriendly.php
// External link info
if ($seFriendlyOrder=="ext")
{
$_SERVER["QUERY_STRING"] = $url[3];
include "./ext.php";
В файле admin/_init.php с 216 строки нашел это ext
GLOBAL $cat;
if ($cat["sefriendly"]==1)
return $cat["seabs"]."/".$cat["seprefix"]."/ext/".$resId."/&quo t;;
Пробовал менять на другие значения это самое ext менял на extp в admin/_init.php и в sefriendly.php все работает ссылка меняет вид, теперь вопрос как добиться того чтобы поменять вид ссылки
с http://домен/catalog/ext/порядковый_номер/
на http://домен/catalog/ссылка_категории/порядковый_номер/
В БД есть 3 таблицы 2 из них cat и cat_linear отвечают за категории а main где хранятся статьи есть сортировка cat1 то есть в каждой категории есть свои name, url и cid где cat1 из main=cid из cat и cat_linear как из этого можно получить url из cat или cat_linear если каждая статья имеет свой порядковый номер lid