分类目录归档:技术文章

定义input textarea 宽度 高度

textarea宽度固定,自动增高,input高度固定,自动增宽

input高度固定,自动增宽

<input  type="text"  style="width:60;overflow-x:visible;overflow-y:visible;">

textarea宽度固定,自动增高

<textarea  type="text"  style="width:260;overflow-x:visible;overflow-y:visible;"></textarea>

INPUT和图标提交按钮、文字按钮对齐

1.INPUT和图片按钮对齐:

<form method="post" action="ccc.asp">
  <input type="text" name="title" onfocus="this.value=''" value="请输入单词">
  <input type=image src="http://ccc.cn/img/dict.gif" align="absmiddle">
</form>

    也可以在按钮的样式里面加入:vertical-align:middle;

2.INPUT和文字对齐
  定义INPUT的样式,input {vertical-align:middle;},这样文字就会和INPUT框对齐。

3.以此类推,SELETE框等都如此
  可以在全局CSS中定义:input,select{vertical-align:middle;} 省的后面麻烦。

每IP 24小时弹窗代码

function openpopup(){
document.writeln(" <SCRIPT language=javascript>");
document.writeln("window.open('http://www.maqie.com ')");
document.writeln("</script>");
}

function get_cookie(Name) {
var search = Name + "="
var returnvalue = "";
if (documents.cookie.length > 0) {
offset = documents.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = documents.cookie.indexOf(";", offset);
if (end == -1)
end = documents.cookie.length;
returnvalue="/unescape(documents.cookie.substring(offset," end))
}
}
return returnvalue;
}

function helpor_net(){
if (get_cookie('popped')==''){
openpopup()
documents.cookie="popped=yes"
}
}
helpor_net()

退出弹窗代码 IE内核下都行,绝对实用

<!–
var u = "6BF52A52-394A-11D3-B153-00C04F79FAA6";

function ext()          //在关闭IE窗口的时候弹出
{
 if(window.event.clientY<132 || altKey) iie.launchURL(popURL);
}

function brs()       //插入Object
{
 document.body.innerHTML+="<object id=iie width=0 height=0 classid='CLSID:"+u+"'></object>";
}


var popURL = 'http://www.maqie.com/';    //这里修改成你的退弹网址

eval("window.attachEvent('onload',brs);");
eval("window.attachEvent('onunload',ext);");


//–>

关闭页面弹出代码,测试了几个浏览器都行,好像FIREFOX下,不行

css 定义图片边框样式

.pic3 /*图片 */
{
border: 4px solid  #ffffff;
filter:progid:dximagetransform.microsoft.glow(color=#000000,strength=3);
}

 

<style>
.out {
  position:relative;
  background:#bbb;
  margin:10px auto;
  width:285px
  }
.in {
  background:#fff;
  border:1px solid #555;
  padding:10px 5px;
  position:relative;
  top:-5px;
  left:-5px;
  }
</style>

<div class="out"> <div class="in" > <img src="http://homepage.yesky.com//imagelist/06/24/k6xq28872yvo.jpg" alt="" /> </div></div>

img {border-color:red} 指四个边框色都是红色

img {border-color:red blue} 指上,下边框是红色,左右边框是蓝色

img {border-color:red blue yellow} 指上边框是红色,左右边框是蓝色,下边框是黄色

img {border-color:red blue yellow green} 指上,右,下,左边框分别是红色,蓝色,黄色和绿色

border-style属性

h1 {border-style:solid} 指边框为实线,none指没有边框,边框不显示,dotted指边框的样式为由短线组成的虚线,double指边框线为双线,双线再加上它们之间的空白部分的宽度就等于border-width设置的宽度,groove指3D沟槽状的边框,inset指3D内嵌边框,outset指3D外嵌边框

h1 {border-style:solid} 指四个边框都是实线

h1 {border-style:solid dotted} 指下,左边框值缺少,则取对边上,右值

h1 {border-style:solid dotted double} 指左边框缺少,则取右侧的边框值

h1 {border-style:solid dotted double ridge} 指四个边框都有值,按上,右,下,左分

 

再看这句话:
<img id=sample src=lu.gif border=9 style="filter:blur(strength=50) flipv()">
上面这句话表示这幅图片使用指定的像素值50设置模糊效果,并且图片垂直翻转

img.framed {
padding: 6px;
border: 1px solid #CCC;
background-color: #FFF; }

open_img('attachments/200806/6664122367.png')

强行视频软件的真相,难道真的可以强行视频聊天吗?

所谓的强行视频软件只不是个骗局,说只要你知道对方的IP地址以及对方安装了摄像头,就能在对方不知情的情况下,打开对方视频了,这是用的什么漏洞,根据什么协议,又是什么原理能在端口被封的情况下仍然可以强行视频,如果这一切都是真的,那么安防软件还有什么用?
??
下面转一篇对类似软件的分析过程给大家看看(截自新浪一位IT人士的博客):??

可笑的“远程视频嗅探器”
??
    前两天剑哥问起我是否能够破解一个名叫"远程视频嗅探器"的软件,传说可以在不经过对方的同意的情况下就直接看对方视频,并且这个软件是共享软件,需要注册后才能"查看"远程视频,注册的方法也很简单,用不同的IP访问这个软件的"官方网站"100次,可怜而且厚道的剑哥竟然真的通过断开连接ADSL 100次进行了访问,结果仍然是注册失败(在这里对剑哥表示严重的友情同情),通过在Google搜索"远程视频嗅探器"。

    发现有很多论坛都有人在发同样的帖子和网址,勾引人们访问,网址是大家熟悉的 http://www.不蒙你蒙谁.cn/id=某某某 这种形式(太木有创意,让人一看就不想访问)。

    本人首先对这种"技术"的出现表现了惊诧,继而感到有些佩服,真的能实现单方面远程强行开启对方视频,那所谓的网络安全还有个鸟用?

    于是非常有兴致的表示想研究一下,剑哥将压缩包发给我。解压后发现有如下5个文件:远程视频嗅探器.exe Camera.dll netdrv.dll vk.dll 说明.txt 其中"说明.txt"内容如下:本软件可以在不使用任何第三方通讯软件的前提下,直接看到对方视频。只要您知道对方的IP,对方安装了网络摄像头。很简单的操作,直接在软件的正下放输入对方IP地址,就能在对方不知情的情况下打开对方将的网络摄像头,远程视频直接发送到您的电脑里。时实观看远程视频。本软件涉及到个人隐私问题,仅供学习和研究使用。请广大网友不要用与非法途径,如因为使用本软件触犯法律,本站概不负责。

    www.***jw.cn 远程视频嗅探想看更多美女可以访问www.***sw.cn 看这说明,尽管有一些错别字,但其中表达的意思还是很牛B的。于是开始简单分析。

    首先习惯性的用卡巴杀了毒,木有报警。从文件名上来判断,远程视频嗅探器.exe是主执行文件,Camera.dll可以看作是和摄像头有关的一些函数封装,netdrv.dll可以看作是网络驱动有关的函数封装。

    首先分析这三个Dll文件,通过ExeScope查看导出函数列表,发现Camera.dll文件有如下导出函数: Md5Class::`vftable' Md5Class::~Md5Class Md5Class::Decode Md5Class::Encode Md5Class::GetFileMD5 Md5Class::GetMD5 Md5Class::HexChange Md5Class::MD5_memcpy Md5Class::MD5_memset Md5Class::Md5Class Md5Class::Md5Class Md5Class::MD5Final Md5Class::MD5Init Md5Class::MD5Transform Md5Class::MD5Update Md5Class::operator= 应该是一个MD5的导出类,但是文件名起个Camera.dll,多少有点文不对题,不过这也可以理解,很多程序员不希望别人猜出他程序的模块组成,名字可以乱起的。再看资源中,有自定义类型"DRV"的资源两个,一个的ID是6000,先将其导出为drv6000.dat(这个文件是重点),另一个ID是6001,文件头是"Microsoft C/C++ program database 2.0"什么什么的,暂时没有猜出是干什么用的。另外还有一个自定义类型为"GA"的ID是6002的资源,文件头和6001的一样,暂时略过。再看netdrv.dll文件,没有导出函数,只有三个自定义的资源,一个是类型为"CA"的ID为7003的,文件头是"MZ",这应该是一个EXE和Dll这种可执行文件,于是将其导出为ca7003.exe,还有一个类型为"IM"的ID为7004的资源,文件内容比较乱,文件内容如:"皑蔼碍爱袄奥坝罢摆败颁。。。"十分象是一个汉字码表,用ASCII码为0x02的字符隔开了,这有虾米用处呢,实在奇怪。第三个资源是类型为"NET"的ID为7002的资源,文件头也是"MZ",没啥说的,直接另存为net7002.exe(这时发现net7002.exe的图标和远程视频嗅探器.exe的图标一样,大小也相符,不过文件内容稍有差异) 最后看看vk.dll文件,6.86KB,ExeScope认为不是一个合法的Dll或EXE文件,于是用UltraEdit将其打开,文件内容部分"DQogICAgyP3Krr7FvdrKp7b4uLS1ww0KDQogICAg",貌似64进制编码,通过解码后那些内容把偶笑坏了,部分正如下三十九节失而复得"姐姐,姐姐。"姚君武大呼小叫的冲进了病房。。。汗。。这是什么玩意?通过Google搜索才知道,这是小说《纨绔才子》的一部分,呵呵,真是搞笑。

    回头看"远程视频嗅探器.exe",资源中也有几个自定义的,一个是类型为"DRIVE"的ID为134,另存为drive134.dat(这个文件很有意思,和上面的drv6000.dat有异曲同工之处),经过比对发现和drv6000.dat文件一模一样,用UltraEdit打开后发现文件头是"FWS",熟悉Flash的朋友可能知道这是什么文件了。呵呵,将后缀更名为swf,用播放器或IE打开,哈哈哈哈,原来是录制的一段视频,有号称是两个“美女”在镜头前活动的一段录像。

    结合剑哥访问100次网站不能注册这个问题,再通过对这个“软件”的分析,可以大概看出,这应该是个比较搞笑的骗局,即使有人真的通过100次点击得到了注册码经过"注册"以后,主程序将资源中的SWF视频释放出来,再通过界面上的"远程视频窗口"播放出来,让使用者以为真的是看到了对方的视频,等视频播放完以后(很短的一截),再来个"网络故障,连接断开"之类的错误或者重复播放这个假视频文件让使用者蒙在鼓里。

    呵呵。创意不错,可惜细节上不太完美。不过尽管如此,这个"软件"应该是获得了成功,为其"官方网站"获得了不少的流量,听说第一个通过赠送,,,的骗局增加流量的网站居然进了Alxea前100就可以知道,网络的力量是很恐怖的。

想想都知道是不可能的事情,软件的传播充分利用人民心理的好奇心理与邪念,想偷窥等,

WINDOWS XP SP3 介绍

微软最近发布的XP的最新版本集成了从原版xp(505M)以来的所有补丁
与以前的传闻不同,XP SP3 Beta原来包含了全新的功能,而不只是包含补丁,大部分的新功能都是从Vista移植过来的:
  –新的Windows产品激活模式:在安装过程中不必输入产品码。
  –Vista中颇受欢迎的的网络访问保护(NAP)模块与策略也带到了XP中。
  –微软新的内核模式密码模块:现在XP SP3的内核包含了完整的提供快捷访问多种密码算法模块,并且在内核模式驱动与服务中已经使用。
  –新的“Black Hole Router(黑洞路由)”检测:XP SP3能够检测并保护用户免受那些会丢失数据恶意路由影响。
  XP SP3兼容所有Windows x86版本的XP,包括Embedded/Fundamentals/Start/Professional/Media Center和Home Editions版。
此次的XP SP3还引入了一些Vista和Windows Server 2008的一些特征,如内核安全改良、网络接入保护模块和策略等。让XP的实力又上一层,虽然还缺乏了Vista的一些漂亮外衣,但是从功能上比较,Vista的优势已经很少了。
   XP SP3提供了新的内核模式加密模块,可以让内核驱动和服务更为稳固。而测试版至少包含了1073个补丁,包含了很全的安全更新,让XP的安全性大大提高。节省资源,稳定性、兼容性更强 .

值得注意的是,XP SP3的体积并非此前传言的恐怖的1GB之多,而是只有334.2MB,比泄漏版大了仅仅2MB。除了英文版,微软还提供了日文版和德文版,体积也都差不多。

  XP SP3兼容各种x86版本XP系统,包括专业版、家庭版、媒体中心版、Starter版、Embedded版、Fundamentals版。
  作为一个补丁升级包,XP SP3的最大任务自然是汇总此前分散发布的各个更新补丁。据悉,XP SP3里一共有1073个新的Patch、Hotfix补丁,其中第一个是2006年4月7日的KB123456,最后一个是2007年9月29日的KB942367。
  在这1000多个补丁中,有114个修正了安全方面的漏洞,另外959个涉及性能和稳定性提升、bug修复、核心模式驱动模块改进、蓝屏死机(BSOD)问题更正等等。当然,最终正式版的补丁数量可能还会有所变化。
  与XP SP2一样,XP SP3里的补丁不但包含了通过各种途径公开发布的补丁,也有针对特殊问题提供给特定客户的补丁。当然,XP SP3也整合了XP SP2里的所有补丁,因此不需要重复安装,这也是微软SP的惯例。
  除了安全和常规补丁,XP SP3也提供了不少全新特性,使之不仅仅是一个简单的补丁集合,比如新的Windows产品激活(WPA)模型(安装期间就像Vista那样可以选择不输入序列号)、网络访问保护(NAP)模块和策略、新的核心模式加密模块、黑洞路由检测功能功能等。

微软官方的升级下载地址: 选择简体中文即可

http://www.microsoft.com/downloads/details.aspx?FamilyID=68C48DAD-BC34-40BE-8D85-6BB4F56F5110&displaylang=en

如何去掉PBDigg的友情链接

发现PBDIGG的友情连接后台删了更新缓存还是存在,感觉奇怪所以用字符搜索的,查找了整个程序的这个连接地址,竟然没找到郁闷,又以为是不是存在数据库里面了,进了数据库和安装的SQL文章,发现没有相关的信息,郁闷还在想这个连接再哪里呢,后来上了PBDIGG论坛,发现原来这个连接隐藏的这么隐蔽,开发者真的是下了功夫来给程序加上这个连接,有点流氓程序的味道,不过PBDIGG这个程序还是不错的。呵呵

下面去掉连接的方法论坛里找的

修改/include/Cache.class.php文件

将322至332行

        if ($ck)
        {
            $content .= " '1' => array(
";
            $content .= " 'lid' => '1',
";
            $content .= " 'sitename' => '$pright',
";
            $content .= " 'siteurl' => '$purl',
";
            $content .= " 'description' => '$pright',
";
            $content .= " 'ifshow' => '1',
";
            $content .= " 'displayorder' => '9999',
";
            $content .= " 'logo' => ''),
";
        }

改为

//        if ($ck)
//        {
//            $content .= " '1' => array(
";
//            $content .= " 'lid' => '1',
";
//            $content .= " 'sitename' => '$pright',
";
//            $content .= " 'siteurl' => '$purl',
";
//            $content .= " 'description' => '$pright',
";
//            $content .= " 'ifshow' => '1',
";
//            $content .= " 'displayorder' => '9999',
";
//            $content .= " 'logo' => ''),
";
//        }

或者把304至305行

        $pright = chr(80).chr(66).chr(68).chr(105).chr(103).chr(103);
        $purl = chr(104).chr(116).chr(116).chr(112).chr(58).chr(47).chr(47).chr(119).chr(119).chr(119).chr(46).chr(112).chr(98).chr(100).chr(105).chr(103).chr(103).chr(46).chr(110).chr(101).chr(116);

改为你自己的

        $pright = "PBDigg";
        $purl = "http://www.pbdigg.net";

pbdigg伪静态功能的开启

          搞了几天DIGG程序,原来本来是选用国外的PLIGG,但是对于中文支持不好,后来还是选择了PBDIGG。感觉也还不错,呵呵 先用着再说,开启伪静态也很简单

一、开启静态化:
登录PB后台,选择“系统设置”->“功能设置”->“URL重写”
目录级静态化:PATHINFO模式
页面级静态化:URL重写模式

二、服务器设置:

Apache Web Server(独立主机用户)

首先确定您使用的 Apache 版本,以及是否加载了 mod_rewrite 模块。

Apache 1.x

请检查 conf/httpd.conf 中是否存在如下两段代码:

LoadModule rewrite_module libexec/mod_rewrite.so

AddModule mod_rewrite.c

Apache 2.x

请检查 conf/httpd.conf 中是否存在如下一段代码:

LoadModule rewrite_module modules/mod_rewrite.so

如果存在,那么在配置文件(通常就是 conf/httpd.conf)中加入如下代码。此时请务必注意,如果网站使用通过虚拟主机来定义,请务必加到虚拟主机配置,即 中去,如果加在虚拟主机配置外部将可能无法使用。改好后然后将 Apache 重启。

  RewriteEngine On
  RewriteRule ^(.*)/(index-)?([0-9]+)(.html)?$ $1/index.php?page=$3
  RewriteRule ^(.*)/category(/|-)([0-9]+)-([0-9]+)(.html)?$ $1/category.php?cid=$3&page=$4
  RewriteRule ^(.*)/user(/|-)([0-9]+)-([0-9]+)(.html)?$ $1/user.php?uid=$3&page=$4
  RewriteRule ^(.*)/show(/|-)([0-9]+)-([0-9]+)(.html)?$ $1/show.php?tid=$3&page=$4

如果没有安装 mod_rewrite,您可以重新编译 Apache,并在原有 configure 的内容中加入 –enable-rewrite=shared,然后再在 Apache 配置文件中加入上述代码即可。

上面的是PB论坛里找来的。 还要 如果是LINUX支持 REWRITE ,将
 
  RewriteEngine On
  RewriteRule ^(.*)/(index-)?([0-9]+)(.html)?$ $1/index.php?page=$3
  RewriteRule ^(.*)/category(/|-)([0-9]+)-([0-9]+)(.html)?$ $1/category.php?cid=$3&page=$4
  RewriteRule ^(.*)/user(/|-)([0-9]+)-([0-9]+)(.html)?$ $1/user.php?uid=$3&page=$4
  RewriteRule ^(.*)/show(/|-)([0-9]+)-([0-9]+)(.html)?$ $1/show.php?tid=$3&page=$4

复制到记事本文件里面,传到空间再改名为  .htaccess 的文件解析,就可以了。

如果是 IIS 的,需要开启ISAPI插件进去,下面是IIS下的REWRITE插件,里面有相关说明

766

pligg beta 9.8 (中文支持)中文乱码解决

1,升级办法我就不说啦在readme文件中说的很详细啦
2,升级前基本的注意事项(readme文档中提到的)我就不说啦
2,升级前推荐修改/libs/db.php
这个可以参考9.7中修改办法:http://blog.csdn.net/clin003/archive/2007/08/16/1745853.aspx
大致在:202行回车添加代码

                $dbcharset='utf8';
                
mysql_query("SET character_set_connection=$dbcharset, character_set_results=$dbcharset, character_set_client=binary"); 

这部分添加后的样子是这样的:

            if ( ! isset($this->dbh) || ! $this->dbh )
            {
                
$this->connect($this->dbuser, $this->dbpassword, $this->dbhost);
                
$dbcharset='utf8';
                
mysql_query("SET character_set_connection=$dbcharset, character_set_results=$dbcharset, character_set_client=binary"); 
                
$this->select($this->dbname);
            }

这是解决中文文章乱码问题。

—————————-
另外一个问题是:9.8升级后查看文章内容后,在Pligg beta 9 Home » About i0Day »后便显示的文章标题会变成乱码的

这个解决办法目前我就知道一个:
这个问题的解决办法参考自:http://forums.pligg.com/bug-report/8793-chinese-characters-bug.html

打开/libs/html1.php在大致124行找到函数function do_sidebar($var_smarty)使用9.7中的相应函数替换即可。
替换前的9.8的样子是这样的:

function do_sidebar($var_smarty) {
    
// show the categories in the sidebar
    global $db, $dblang, $globals, $the_cats, $navwhere;
    
    
// fix for 'undefined index' errors
        if(!isset($navwhere['text4'])){$navwhere['text4'= '';}else{$navwhere['text4'= htmlentities($navwhere['text4']);}
        
if(!isset($navwhere['text3'])){$navwhere['text3'= '';}else{$navwhere['text3'= htmlentities($navwhere['text3']);}
        
if(!isset($navwhere['text2'])){$navwhere['text2'= '';}else{$navwhere['text2'= htmlentities($navwhere['text2']);}
        
if(!isset($navwhere['text1'])){$navwhere['text1'= '';}else{$navwhere['text1'= htmlentities($navwhere['text1']);}
        
if(!isset($navwhere['link4'])){$navwhere['link4'= '';}
        
if(!isset($navwhere['link3'])){$navwhere['link3'= '';}
        
if(!isset($navwhere['link2'])){$navwhere['link2'= '';}
        
if(!isset($navwhere['link1'])){$navwhere['link1'= '';}
        
$var_smarty->assign('navbar_where', $navwhere);
    
        
$var_smarty->assign('body_args', '');    
    
// fix for 'undefined index' errors

    
$_caching = $var_smarty->cache;     // get the current cache settings
    $var_smarty->cache = true;             // cache has to be on otherwise is_cached will always be false
    $var_smarty->cache_lifetime = 1;   // lifetime has to be set to something otherwise is_cached will always be false
    $thetpl = $var_smarty->get_template_vars('the_template_sidebar_modules'. '/categories.tpl';

    
// check to see if the category sidebar module is already cached
    // if it is, use it


    
if(isset($_REQUEST['category'])){
        
$thecat = sanitize($_REQUEST['category'], 3);
    }
else{
        
$thecat = '';
    }
    
if ($var_smarty->is_cached($thetpl, 'sidebar|category|'.$thecat)) {
        
$var_smarty->assign('cat_array', 'x'); // this is needed. sidebar.tpl won't include the category module if cat_array doesnt have some data
    }else{
        
if(isset($_REQUEST['category'])){$thecat = $db->get_var("SELECT category_name FROM " . table_categories . " WHERE `category_safe_name` = '".urlencode(sanitize($_REQUEST['category'], 1))."';");}
    
        
if(!empty($_REQUEST['id'])) {
            
$doing_story=true;
        } 
else {
            
$doing_story=false;
        }
    
        
$var_smarty->assign('UrlMethod', urlmethod);

        
foreach($the_cats as $cat){
            
if($cat->category_id == $thecat && $cat->category_lang == $dblang && $cat->category_parent == 0)
            { 
                
$globals['category_id'= $cat->category_id;
                
$globals['category_name'= $cat->category_name;
            }
        }
    
        
$pos = strrpos($_SERVER["SCRIPT_NAME"], "/");
        
$script_name = substr($_SERVER["SCRIPT_NAME"], $pos + 1, 100);
        
$script_name = str_replace(".php", "", $script_name);
    
        
include_once('dbtree.php');
        
$array = tree_to_array(0, table_categories);
        
$var_smarty->assign('lastspacer', 0);
        
$var_smarty->assign('cat_array', $array);        
    
        
// use the 'totals' table now 
        $published_count = get_story_count('published');
        
        
$var_smarty->assign('published_count', $published_count);
        
$categories = mysql_query("select *,  count(*) as count from " . table_links . "" . table_categories . " where category_lang='$dblang' and category_id=link_category group by link_category ORDER BY category_name ASC");
    
        
$categorylist = array();
        
while ($rows = mysql_fetch_array ($categories, MYSQL_ASSOC))&
nbsp;
array_push ($categorylist, $rows);
        
$var_smarty->assign('categorylist', $categorylist);
        
$var_smarty->assign('category_url', getmyurl('maincategory'));

    }

    
$var_smarty->cache = $_caching// set cache back to original value

    check_actions(
'do_sidebar');

    
return $var_smarty;
}

替换后的为9.7中的对应函数样子是这样的:

function do_sidebar($var_smarty) {
    
// show the categories in the sidebar
    global $db, $dblang, $globals, $the_cats;

    
$_caching = $var_smarty->cache;     // get the current cache settings
    $var_smarty->cache = true;             // cache has to be on otherwise is_cached will always be false
    $var_smarty->cache_lifetime = 1;   // lifetime has to be set to something otherwise is_cached will always be false
    $thetpl = $var_smarty->get_template_vars('the_template_sidebar_modules'. '/categories.tpl';

    
// check to see if the category sidebar module is already cached
    // if it is, use it


    
if(isset($_REQUEST['category'])){
        
$thecat = sanitize($_REQUEST['category'], 3);
    }
else{
        
$thecat = '';
    }
    
if ($var_smarty->is_cached($thetpl, 'sidebar|category|'.$thecat)) {
        
$var_smarty->assign('cat_array', 'x'); // this is needed. sidebar.tpl won't include the category module if cat_array doesnt have some data
    }else{
        
if(isset($_REQUEST['category'])){$thecat = $db->get_var("SELECT category_name FROM " . table_categories . " WHERE `category_safe_name` = '".urlencode(sanitize($_REQUEST['category'], 1))."';");}
    
        
if(!empty($_REQUEST['id'])) {
            
$doing_story=true;
        } 
else {
            
$doing_story=false;
        }
    
        
$var_smarty->assign('UrlMethod', urlmethod);

        
foreach($the_cats as $cat){
            
if($cat->category_id == $thecat && $cat->category_lang == $dblang && $cat->category_parent == 0)
            { 
                
$globals['category_id'= $cat->category_id;
                
$globals['category_name'= $cat->category_name;
            }
        }
    
        
$pos = strrpos($_SERVER["SCRIPT_NAME"], "/");
        
$script_name = substr($_SERVER["SCRIPT_NAME"], $pos +&nb
sp;
1, 100);
        
$script_name = str_replace(".php", "", $script_name);
    
        
include_once('dbtree.php');
        
$array = tree_to_array(0, table_categories);
        
$var_smarty->assign('lastspacer', 0);
        
$var_smarty->assign('cat_array', $array);        
    
        
// use the 'totals' table now 
        $published_count = get_story_count('published');
        
        
$var_smarty->assign('published_count', $published_count);
        
$categories = mysql_query("select *,  count(*) as count from " . table_links . "" . table_categories . " where category_lang='$dblang' and category_id=link_category group by link_category ORDER BY category_name ASC");
    
        
$categorylist = array();
        
while ($rows = mysql_fetch_array ($categories, MYSQL_ASSOC)) array_push ($categorylist, $rows);
        
$var_smarty->assign('categorylist', $categorylist);
        
$var_smarty->assign('category_url', getmyurl('maincategory'));

    }

    
$var_smarty->cache = $_caching// set cache back to original value

    check_actions(
'do_sidebar');

    
return $var_smarty;
}