Archive for the ‘独家试用’ Category

修复了一个dedecms 的bug ‘发布图片的时候选择图集第一幅图做为缩略图不好用

星期一, 11月 5th, 2007

修复了一个dedecms 的bug ‘发布图片的时候选择图集第一幅图做为缩略图不好用’

网上搜到的一篇文档 用来覆盖dede下album_add_action.php

 

<?php
require_once(dirname(__FILE__).”/config.php”);
CheckPurview(’a_New,a_AccNew’);
require_once(dirname(__FILE__).”/../include/inc_photograph.php”);
require_once(dirname(__FILE__).”/../include/pub_oxwindow.php”);
require_once(dirname(__FILE__).”/inc/inc_archives_functions.php”);

if(!isset($iscommend)) $iscommend = 0;
if(!isset($isjump)) $isjump = 0;
if(!isset($isbold)) $isbold = 0;
if(!isset($isrm)) $isrm = 0;
if(!isset($ddisfirst)) $ddisfirst = 0;
if(!isset($ddisremote)) $ddisremote = 0;

if($typeid==0){
    ShowMsg(”请指定文档的栏目!”,”-1″);
    exit();
}
if(empty($channelid)){
    ShowMsg(”文档为非指定的类型,请检查你发布内容的表单是否合法!”,”-1″);
    exit();
}
if(!CheckChannel($typeid,$channelid) || !CheckChannel($typeid2,$channelid)){
    ShowMsg(”你所选择的栏目与当前模型不相符,请选择白色的选项!”,”-1″);
    exit();
}
if(!TestPurview(’a_New’)) {
    CheckCatalog($typeid,”对不起,你没有操作栏目 {$typeid} 的权限!”);
    if($typeid2!=0) CheckCatalog($typeid2,”对不起,你没有操作栏目 {$typeid2} 的权限!”);
}

$arcrank = GetCoRank($arcrank,$typeid);

//对保存的内容进行处理
//——————————–
$iscommend = $iscommend + $isbold;

$pubdate = GetMkTime($pubdate);
$senddate = time();
$sortrank = AddDay($senddate,$sortup);

if($ishtml==0) $ismake = -1;
else $ismake = 0;

$shorttitle = cn_substr($shorttitle,36);
$color = cn_substr($color,10);
$writer = “”;
$source = cn_substr($source,50);
$description = cn_substr($description,250);
if($keywords!=”") $keywords = trim(cn_substr($keywords,60)).” “;
if(!TestPurview(’a_Check,a_AccCheck,a_MyCheck’)){ $arcrank = -1; }

$adminID = $cuserLogin->getUserID();

//加入主档案表
//———————————-
$inQuery = “INSERT INTO #@__archives(
typeid,typeid2,sortrank,iscommend,ismake,channel,
arcrank,click,money,title,shorttitle,color,writer,source,litpic,
pubdate,senddate,arcatt,adminID,memberID,description,keywords)
VALUES (’$typeid’,'$typeid2′,’$sortrank’,'$iscommend’,'$ismake’,'$channelid’,
‘$arcrank’,'0′,’$money’,'$title’,'$shorttitle’,'$color’,'$writer’,'$source’,'$litpic’,
‘$pubdate’,'$senddate’,'$arcatt’,'$adminID’,'0′,’$description’,'$keywords’);”;
$dsql = new DedeSql();
$dsql->SetQuery($inQuery);
if(!$dsql->ExecuteNoneQuery()){
    $dsql->Close();
    ShowMsg(”把数据保存到数据库archives表时出错,请检查!”,”-1″);
    exit();
}
$arcID = $dsql->GetLastID();

//处理并保存所指定的图片
//——————————
$imgurls = “{dede:pagestyle maxwidth=’$maxwidth’ ddmaxwidth=’$ddmaxwidth’ row=’$row’ col=’$col’ value=’$pagestyle’/}\r\n”;
for($i=1;$i<=120;$i++){
    if(isset(${’imgurl’.$i})||(isset($_FILES[’imgfile’.$i][’tmp_name’]) && is_uploaded_file($_FILES[’imgfile’.$i][’tmp_name’]))){
      $iinfo = str_replace(”‘”,”`”,stripslashes(${’imgmsg’.$i}));
      //非上传图片
      if(!is_uploaded_file($_FILES[’imgfile’.$i][’tmp_name’])){
          $iurl = stripslashes(${’imgurl’.$i});
          if(trim($iurl)==”") continue;
          $iurl = trim(str_replace($cfg_basehost,”",$iurl));
          if((eregi(”^http://”,$iurl) && !eregi($cfg_basehost,$iurl)) && $isUrlOpen)
          //远程图片
          {
            $reimgs = “”;
            if($isUrlOpen && $isrm==1)
            {
                $reimgs = GetRemoteImage($iurl,$adminID);
              if(is_array($reimgs)){
                  $imgurls .= “{dede:img text=’$iinfo’ width=’”.$reimgs[1].”‘ height=’”.$reimgs[2].”‘} “.$reimgs[0].” {/dede:img}\r\n”;
              }else{
                  echo “下载:”.$iurl.” 失败,可能图片有反采集功能或http头不正确!<br />\r\n”;
              }
          }else{
              $imgurls .= “{dede:img text=’$iinfo’ width=” height=”} “.$iurl.” {/dede:img}\r\n”;
          }
          //站内图片
          }else if($iurl!=”"){
            $imgfile = $cfg_basedir.$iurl;
            if(is_file($imgfile)){
                $info = “”;
                $imginfos = GetImageSize($imgfile,$info);
                $imgurls .= “{dede:img text=’$iinfo’ width=’”.$imginfos[0].”‘ height=’”.$imginfos[1].”‘} $iurl {/dede:img}\r\n”;
            }
        }
      //直接上传的图片
      }else{
          $sparr = Array(”image/pjpeg”,”image/jpeg”,”image/gif”,”image/png”,”image/x-png”,”image/wbmp”);
          if(!in_array($_FILES[’imgfile’.$i][’type’],$sparr)){
              continue;
          }
          $uptime = mytime();
          $imgPath = $cfg_image_dir.”/”.strftime(”%y%m%d”,$uptime);
            MkdirAll($cfg_basedir.$imgPath,777);
          CloseFtp();
          $filename = $imgPath.”/”.dd2char($cuserLogin->getUserID().strftime(”%H%M%S”,$uptime).mt_rand(100,999).$i);
          $fs = explode(”.”,$_FILES[’imgfile’.$i][’name’]);
          $filename = $filename.”.”.$fs[count($fs)-1];
          if ($i == 1) {     //令狐雨辰添加,首张缩略图处理。
            $imgurl1 = $filename;
          }
          @move_uploaded_file($_FILES[’imgfile’.$i][’tmp_name’],$cfg_basedir.$filename);
          @WaterImg($cfg_basedir.$filename,’up’);
          $imgfile = $cfg_basedir.$filename;
          if(is_file($imgfile)){
              $iurl = $filename;
              $info = “”;
              $imginfos = GetImageSize($imgfile,$info);
              $imgurls .= “{dede:img text=’$iinfo’ width=’”.$imginfos[0].”‘ height=’”.$imginfos[1].”‘} $iurl {/dede:img}\r\n”;
              //把新上传的图片信息保存到媒体文档管理档案中
              $inquery = ”
            INSERT INTO #@__uploads(title,url,mediatype,width,height,playtime,filesize,uptime,adminid,memberid)
            VALUES (’$title”.$i.”‘,’$filename’,'1′,’”.$imginfos[0].”‘,’”.$imginfos[1].”‘,’0′,’”.filesize($imgfile).”‘,’”.mytime().”‘,’$adminID’,'0′);
          “;
          $dsql->SetQuery($inquery);
          $dsql->ExecuteNoneQuery();
          }
      }
    }//含有图片的条件
}//循环结束
$imgurls = addslashes($imgurls);

//令狐雨辰:顺序转换
//处理上传的缩略图
$litpic = GetDDImage(’litpic’,$picname,$ddisremote);

//使用第一张图作为缩略图
if($ddisfirst==1 && $litpic==”"){
    if (isset($imgurl1)){
        $litpic = GetDDImage(’ddfirst’,$imgurl1,$isrm);
    }
}
$dsql->ExecuteNoneQuery(”UPDATE #@__archives SET litpic=’$litpic’ WHERE ID =’$arcID’;”);
//令狐雨辰:顺序转换结束

//加入附加表
//———————————-
$query = ”
INSERT INTO #@__addonimages(aid,typeid,pagestyle,maxwidth,imgurls,row,col,isrm,ddmaxwidth) Values(’$arcID’,'$typeid’,'$pagestyle’,'$maxwidth’,'$imgurls’,'$row’,'$col’,'$isrm’,'$ddmaxwidth’);
“;
$dsql->SetQuery($query);
if(!$dsql->ExecuteNoneQuery()){
    $dsql->SetQuery(”Delete From #@__archives where ID=’$arcID’”);
    $dsql->ExecuteNoneQuery();
    $dsql->Close();
    ShowMsg(”把数据保存到数据库附加表 addonimages 时出错,请检查原因!”,”-1″);
    exit();
}
$dsql->Close();

//生成HTML
//———————————

$artUrl = MakeArt($arcID,true);
if($artUrl==”") $artUrl = $cfg_plus_dir.”/view.php?aid=$arcID”;

//———————————
//返回成功信息
//———————————-

$msg = ”
  请选择你的后续操作:
<a href=’album_add.php?cid=$typeid’><u>继续发布图片</u></a>

<a href=’archives_do.php?aid=”.$arcID.”&dopost=editArchives’><u>更改图集</u></a>

<a href=’$artUrl’ target=’_blank’><u>预览文档</u></a>

<a href=’catalog_do.php?cid=$typeid&dopost=listArchives’><u>已发布图片管理</u></a>

<a href=’catalog_main.php’><u>网站栏目管理</u></a>
“;

$wintitle = “成功发布一个图集!”;
$wecome_info = “文章管理::发布图集”;
$win = new OxWindow();
$win->AddTitle(”成功发布一个图集:”);
$win->AddMsgItem($msg);
$winform = $win->GetWindow(”hand”,” “,false);
$win->Display();
?>

然后在修改dede/inc/inc_archives_functions.php 264行

       /$litpic = str_replace(’.',’_lit.’,$picname); 改为         $litpic = $picname;

下午 01:17

花好几个小时,终于搞明白google地图

星期四, 10月 25th, 2007

可惜对中文支持太差

http://www.fangfa.info/test/google/simple.htm

http://www.fangfa.info/test/google/simple2.htm

skype 聊天室推广代码测试

星期三, 10月 17th, 2007

法国留学相关 hosted by franck_peng.

Join now


Chat about what’s on your mind. More about public chats.

dede4.0_OX生成修改,追敢3_x极速

星期三, 10月 17th, 2007

感觉生成慢的可以试试,100%可行。我一直在用.
include/inc/inc_fun_SpGetArcList.php

找到

复制内容到剪贴板

代码:

for($i=0;$i<$ridnum;$i++){
if($tpsql=="") $tpsql .= " And ( (".TypeGetSunID($reids[$i],$dsql,'arc')." Or arc.typeid2='".$reids[$i]."') ";
else $tpsql .= " Or (".TypeGetSunID($reids[$i],$dsql,'arc')." Or arc.typeid2='".$reids[$i]."') ";
}

换为

复制内容到剪贴板

代码:

for($i=0;$i<$ridnum;$i++){
if($tpsql=="") $tpsql .= " And (".TypeGetSunID($reids[$i],$dsql,'arc');
else $tpsql .= " Or ".TypeGetSunID($reids[$i],$dsql,'arc');
}

更改前后对比。。(不想删除的还可以加索引。。。)
配置:双核5500,1G内存。。本地
数据库总数据量(我的是文本存储的):53000条
分类数据量(测试的栏目):560条

修改前:完成所有创建任务,总用时: 4.75 分钟 。

修改后:完成所有创建任务,总用时:0.77分钟 。

上传到空间后测试速度也是一样,正负差距不超过5秒。。。。

上面修改后还是不能达到3.X的极速。。。想再快点的话可修改makehtml_archives_action.php里面的跳转语句。。。4.X显示数据更直观了,但是影响了跳转速度。。。

好了
修改完毕。。。
DEDECMS生成速度仍然是一流的。。。希望更多人选用DEDE。。。
大家继续拿砖头往死里拍。。。。。
完毕。。。。。

dedecms 随机颜色随机大小tags的修改方法

星期二, 10月 16th, 2007

随机颜色随机大小tags的修改方法!

随机颜色随机大小的tags列表
演示:
http://www.cmsmb.com/

打开:inc_channel_unit_functions.php
找到函数:

CODE:

function GetHotKeywords(
.
.
.
)

[Copy to clipboard]

替换为:

CODE:

//zouql-hotwords-b:
//用法举例:
//调用热门tags{dede:hotwords num=’30′ subday=’30′ istag=’yes’ /}
//热门搜索{dede:hotwords num=’30′ subday=’30′ istag=’no’ /}
function GetHotKeywords($dsql,$num=8,$nday=365,$klen=16,$orderby=’count’,$istag=’no’){
  global $cfg_phpurl;
  $nowtime = mytime();
  $num = ereg_replace(”[^0-9]”,”",$num);
  $nday = ereg_replace(”[^0-9]”,”",$nday);
  $klen = ereg_replace(”[^0-9]”,”",$klen);
  if(empty($nday)) $nday = 365;
  if(empty($num)) $num = 6;
  if(empty($klen)) $klen = 16;
  if(empty($istag)) $istag = ‘no’;
  $klen = $klen+1;
  $mintime = $nowtime - ($nday * 24 * 3600);
  if(empty($orderby)) $orderby = ‘count’;
  if($istag==’no’){
    $dsql->SetQuery(”Select keyword From #@__search_keywords where lasttime>$mintime And length(keyword)<$klen order by $orderby desc limit 0,$num”);
  }
  elseif($istag==’yes’){
    $dsql->SetQuery(”Select keyword,result,count From #@__search_keywords where lasttime>$mintime And istag=1 And length(keyword)<$klen order by $orderby desc limit 0,$num”);
  }
$dsql->Execute(’hw’);
$hotword = “”;
if($istag==’no’){
    while($row=$dsql->GetArray(’hw’)){
    $hotword .= ” <a href=”".$cfg_phpurl.”/search.php?keyword=”.urlencode($row[’keyword’]).”&searchtype=titlekeyword” target=”_blank”>”.$row[’keyword’].”</a> “;
    }
}
elseif($istag==’yes’){
    while($row=$dsql->GetArray(’hw’)){
    $hotword .= ” <a href=”".$cfg_phpurl.”/search.php?keyword=”.urlencode($row[’keyword’]).”&searchtype=titlekeyword” target=”_blank” style=” font-size:”.rand(14,20).”px;”.rand_color().”" title=”共”.$row[’result’].”篇文章 搜索”.$row[’count’].”次”>”.$row[’keyword’].”</a> “;
    }
}
  return $hotword;
}
//zouql-hotwords-e

//zouql-rcolor
function rcolor() {
srand((double)microtime()*10000000);
$rand = (rand(15,235));
return sprintf(”%02X”,”$rand”);
}
function rand_color() {
$return = ‘color:#’.rcolor().rcolor().rcolor();
return $return;
}
//zouql-rcolor

[Copy to clipboard]

—————————————————-
打开:inc_arcpart_view.php
找到

CODE:

GetHotKeywords($this->dsql,$ctag->GetAtt(’num’),$ctag->GetAtt(’subday’),$ctag->GetAtt(’maxlength’),$ctag->GetAtt(’orderby’)));

[Copy to clipboard]

改为

CODE:

GetHotKeywords($this->dsql,$ctag->GetAtt(’num’),$ctag->GetAtt(’subday’),$ctag->GetAtt(’maxlength’),$ctag->GetAtt(’orderby’),$ctag->GetAtt(’istag’)));

[Copy to clipboard]

其他的地方如需要调用可以自己改相对应的,做第二步即可

似乎应该是这样的:
[quote]
//zouql-hotwords-b:
//用法举例:
//调用热门tags{dede:hotwords num=’30′ subday=’30′ istag=’yes’ /}
//热门搜索{dede:hotwords num=’30′ subday=’30′ istag=’no’ /}
function GetHotKeywords($dsql,$num=8,$nday=365,$klen=16,$orderby=’count’,$istag=’no’){
global $cfg_phpurl;
$nowtime = mytime();
$num = ereg_replace(”[^0-9]”,”",$num);
$nday = ereg_replace(”[^0-9]”,”",$nday);
$klen = ereg_replace(”[^0-9]”,”",$klen);
if(empty($nday)) $nday = 365;
if(empty($num)) $num = 6;
if(empty($klen)) $klen = 16;
if(empty($istag)) $istag = ‘no’;
$klen = $klen+1;
$mintime = $nowtime - ($nday * 24 * 3600);
if(empty($orderby)) $orderby = ‘count’;
if($istag==’no’){
  $dsql->SetQuery(”Select keyword From #@__search_keywords where lasttime>$mintime And length(keyword)<$klen order by $orderby desc limit 0,$num”);
}
elseif($istag==’yes’){
  $dsql->SetQuery(”Select keyword,result,count From #@__search_keywords where lasttime>$mintime And istag=1 And length(keyword)<$klen order by $orderby desc limit 0,$num”);
}
$dsql->Execute(’hw’);
$hotword = “”;
if($istag==’no’){
  while($row=$dsql->GetArray(’hw’)){
  $hotword .= ‘<a href=”‘.$cfg_phpurl.’/search.php?keyword=’.urlencode($row[’keyword’]).’&searchtype=titlekeyword” target=”_blank”>’.$row[’keyword’].’</a> ‘;
  }
}
elseif($istag==’yes’){
  while($row=$dsql->GetArray(’hw’)){
  $hotword .= ‘ <a href=”‘.$cfg_phpurl.’/search.php?keyword=’.urlencode($row[’keyword’]).’&searchtype=titlekeyword” target=”_blank” style=” font-size:”.rand(14,20).”px;”.rand_color().”" title=”共’.$row[”result”].’篇文章 搜索’.$row[”count”].’次”>’.$row[”keyword”].’</a> ‘;
  }
}
return $hotword;
}
//zouql-hotwords-e

//zouql-rcolor
function rcolor() {
srand((double)microtime()*10000000);
$rand = (rand(15,235));
return sprintf(”%02X”,”$rand”);
}
function rand_color() {
$return = ‘color:#’.rcolor().rcolor().rcolor();
return $return;
}
//zouql-rcolor
[/qoute]

dedecms 缩略图自适应大小解决方案

星期二, 10月 16th, 2007

缩略图自适应大小解决方案

我的解决方案—————————-

<script type=”text/javascript”>
// 让图片成比例缩小

function changeImage(ImgD){
var image=new Image();
image.src=ImgD.src;
//以下尺寸请根据需要调整
if(image.width>120){
ImgD.width=120;
ImgD.height=(120*image.height)/image.width;
image.width=ImgD.width;
image.height=ImgD.height;
}
//以下尺寸请根据需要调整
if(image.height>120){
ImgD.height=120;
ImgD.width=(120*image.width)/image.height;
image.height = ImgD.height;
image.width = ImgD.width;
}

ImgD.alt = image.width + “×” + image.height;
}
</script>

//将以上代码放到您要使用缩略图的模版页面中,下面是DEDE中调用缩略图的地方:

<img src=”[field:litpic/]” width=”120″ height=”120″ onload=”changeImage(this)”/>

支付方式测试paypal

星期日, 10月 14th, 2007

支付方式测试paypal

http://www.weneu.com/payement/index.html