forum_post 的 status 字段备注

2109 8765 4321 0987 6543 2109 8765 4321 序号
#B 0000 0000 0000 0000 0000 0000 0000 0001 帖子被屏蔽
#B 0000 0000 0000 0000 0000 0000 0000 0010 帖子被警告
#B 0000 0000 0000 0000 0000 0000 0000 0100 帖子审核后再编辑标记,用于防止重复加分
#B 0000 0000 0000 0000 0000 0000 0000 1000 手机版发帖标示
#B 0000 0000 0000 0000 0000 0000 0001 0000 微博回流的帖子标记
#B 0000 0000 0000 0000 0000 0000 0010 0000 [手机]是否显示地理位置
#B 0000 0000 0000 0000 0000 0000 0100 0000 [手机]含手机录音
#B 0000 0000 0000 0000 0000 0000 1000 0000 [手机型号(联动)] 001(1):iOS
#B 0000 0000 0000 0000 0000 0001 0000 0000 [手机型号(联动)] 010(2):Android 011(3):WindowsPhone
#B 0000 0000 0000 0000 0000 0010 0000 0000 [手机型号(联动)] 100:
#B 0000 0000 0000 0000 0000 0100 0000 0000 标记水帖

数据字典forum_thread 的 status 字段备注

6543 2109 8765 4321 序号
#B 0000 0000 0000 0001 是否缓存帖子位置信息
#B 0000 0000 0000 0010 是否回帖只对管理人员和发帖者可见
#B 0000 0000 0000 0100 是否抢楼贴
#B 0000 0000 0000 1000 是否倒序查看回帖
#B 0000 0000 0001 0000 是否存在主题图章标志位
#B 0000 0000 0010 0000 回复是否通知作者
#B 0000 0000 0100 0000 是否需要推送到QQ空间
#B 0000 0000 1000 0000 是否需要推送到腾讯微博
#B 0000 0001 0000 0000 是否被收入专辑
#B 0000 0010 0000 0000 是否被转播
#B 0000 0100 0000 0000 [手机标识(联动)] 001(1):含手机文本
#B 0000 1000 0000 0000 [手机标识(联动)] 010(2):含地理位置 011(3):含手机照片
#B 0001 0000 0000 0000 [手机标识(联动)] 100(4):含手机录音
#B 0010 0000 0000 0000 是否成功推送到腾讯微博

DISCUZ!X3.2 升级后UCENTER、UC_SERVER正确密码却无法登录后台的解决方法

很多站长在把自己的网站升级到discuz!x3.2最新版本后,出现了ucenter和uc_server后台无法登录的问题,有些站长以为是密码不对了,或者是php虚拟主机的问题。其实不是的,而是最新版本的discuz出现的BUG导致我们无法登录,其实也就是cookie导致的。

解决办法很简单,如下:
在/uc_server/model 中找到admin.php
找到代码:

function adminbase() {
parent::__construct();
this->cookie_status = 0;sid = this->cookie_status ? getgpc('sid', 'C') :rawurlencode(getgpc('sid', 'R'));this->sid = this->view->sid =this->sid_decode(sid) ?sid : '';

修改如下:

function adminbase() {
parent::__construct();
this->cookie_status = isset(_COOKIE['sid']) ? 1 : 0;
sid =this->cookie_status ? getgpc('sid', 'C') :rawurlencode(getgpc('sid', 'R'));
this->sid =this->view->sid = this->sid_decode(sid) ? $sid : '';

巧用ecshop smarty中iteration

ecshop中的模板技术确实不错,ecshop的smarty也写的很好,foreach标签是ecshop中smarty用的最多的一个标签了。而foreach中的iteration非常有用。    iteration其实是foreach循环中的下标,而且从1开始.直接循环。所以在ecshop销售排行中,很多人用这个来区分销售的图标.他是foreach下name的键值.{foreach name=top_goods from=$top_goods item=goods}
   <meta http-equiv=”Content-Type” content=”text ml; charset=gbk”>
<div class=”mod2″>
<h1><span class=”left”></span><span class=”right”></span>销售排行</h1>
<!– {foreach name=top_goods from=$top_goods item=goods}–>
  <ul class=”top10 clearfix”>
<li><img src=”../images/top_{$smarty.foreach.top_goods.iteration}.gif” class=”iteration” />
<!– {if $smarty.foreach.top_goods.iteration<2}–>
      
    <table width=”185″ border=”0″>
  <tr>
    <td><a href=”{goods.url}” target=”_blank”><img src=”{goods.thumb}” alt=”{$goods.name|escape:html}” class=”topimg” height=”80px” width=”80px” /></a></td>
    <td>售价:<font class=”f1″>{$goods.price}</font></td>
  </tr>
</table>
   
     
     
<!– {/if} –> 
       <{if $smarty.foreach.top_goods.iteration<4}class=”iteration1″{/if}>
      <a href=”{goods.url}” title=”{goods.name|escape:html}” target=”_blank”>{$goods.short_name}</a><br />
      
      < >
   <div></div>
    </ul>
  <!– {/foreach} –>
</div>
    这个是ecshop销售排行的模板,他通过巧妙使用foreach来实现了图标的对应.><img src=”../images/top_{$smarty.foreach.top_goods.iteration}.gif” class=”iteration” />

ShopNC B2B2C最新版 隐藏SHOP和去除shop方法

方法一:shopwwi.com运维提供
这个方法我想大家都知道!就是传统的官方所教导的方法!就是域名绑定目录法!shoshopwwi.com运维提供pwwi.com运维提供
1.将www.shopwwi.com绑定根目录下的shop目录!shopwwi.com运维提供shopwwi.com运维提供
2.根目录可以用根域名shopwwi.com绑定!shopshshopwwi.com运维提供opwwi.com运维提供wwi.com运维提供
3.其他文件夹也绑定*.shopwwi.com!前缀自己想!sshopwwi.com运维提供hopwwi.com运维提供
4.绑定完目录之后!然后修改config.ini.php里的对应绑定域名shopwwi.com运维提供shopwwi.com运维提供
此为方法一:有点确实去除了shop!但是当用二级域名访问店铺的时候!依然后缀会出现shop!无解!sshopwwi.com运维提供hopwwi.com运维提供
注意:shopwwi.com换成自己的域名!不要挑刺!shopwwi.com运维提供
shopwwi.com运维提供
方法二:
shopwwi.com运维提供
此方法修改起来较费时费力!因此我尽量说的详细一点!shopwwi.com运维提供
shopwwi.com运维提供
为了能够使www域名能够够完善的使用!请按以下步骤一步一步来!shopwwi.com运维提供
shopwwi.com运维提供
1.转移shop下目录文件至根目录shopwwi.com运维提供
2.修改config.ini.php里的shop绑定域名更改为无shop目录shopwwi.com运维提供
3.将原始根目录的index.php更改为main.php文件名自己定!并修改index.php代码(index.php=main.php的情况下按以下修改!你改成啥main.php就是啥):shopwwi.com运维提供

  1. $site_url = strtolower(‘http://’.$_SERVER[‘HTTP_HOST’].substr($_SERVER[‘PHP_SELF’], 0, strrpos($_SERVER[‘PHP_SELF’], ‘/index.php’)).’/shop/index.php’);
  2. @header(‘Location: ‘.$site_url);

复制代码

修改为shopwwi.com运维提供

  1. $site_url = strtolower(‘http://’.$_SERVER[‘HTTP_HOST’].substr($_SERVER[‘PHP_SELF’], 0, strrpos($_SERVER[‘PHP_SELF’], ‘/main.php’)).’/index.php’);
  2. @header(‘Location: ‘.$site_url);

复制代码

4.打开shop下的index.php也就是现在转移到跟目录下的index.php找到以下代码

  1. if (!@include(dirname(dirname(__FILE__)).’/global.php’)) exit(‘global.php isn\’t exists!’);

复制代码

修改为

  1. if (!@include(dirname(__FILE__)).’/global.php’) exit(‘global.php isn\’t exists!’);

复制代码


5.是不是觉得很简单 想问我还有没有其他操作的 我想说的是 没了!就这些
shop

php中实现可以返回多个值的函数实例

在python和golang中都有一个函数同时返回多个值的方法,其实php也可以,但相比python和golang要稍微麻烦一点,下面是一个简单的演示范例,这里用到了list函数

<?php
  function retrieve_user_profile() {
   user[] = "Jason";
   user[] = "jb51.net";
   user[] = "English";
   returnuser;
  }
  list(name,email,language) = retrieve_user_profile();
  echo "Name:name, email: email, preferred language:language";
?>

discuz论坛注册用户名长度修改

找到下面三个文件,Ucenter下model文件夹中user.php、Discuz下uc_client/model文件夹中user.php、DEDECMS下uc_client/model文件夹中user.php,使用文本编辑工具打开,找到以“if(len”开头的验证用户名长度和是否含有敏感字符的代码,Ucenter、Discuz和DEDECMS5中是if(len > 15 || $len < 3,就是用户名不大于15不小于3,UCHOME中是if($len > 10 || $len < 3,用户名不小于3不大于10,将这些数字改成您需要的数字,我设置的是不大于20不小于3(也就是说UTF8版下注册用户名不超过6个汉字)。 注意:这个设置的值是英文字符长度,如果是utf版,每中文字符占用3,gbk版每字符占用2。 修改数据库: 将Discuz、Ucenter、UCHOME三个的数据库member数据表[Username]字段的长度修改为上面设置的数字,如20,DEDECMS不需要设置,默认就是20.

ThinkPHP框架使用Smarty模板引擎

最近公司使用ThinkPHP框架,所以比较关注,想到之前公司使用的框架用的模板引擎是 Smarty,而且用的还挺顺手的。
转到使用ThinkPHP自带的模板引擎还有点不习惯,所以在想换成Smarty模板引擎,网上看了一下,结果还是比较简单。
以此记录一下

首先ThinkPHP框架里面要有Smarty扩展 位置在 ThinkPHP\Extend\Vendor\Smarty ,如果没有就去 Smarty官网下一个最新版吧,也推荐使用最新版的。一般完整版的ThinkPHP框架都含有 Smarty扩展的。
然后只需修改配置文件 Conf\config.php

<?php
return array(
    //'配置项'=>'配置值'
    'TMPL_ENGINE_TYPE'      => 'Smarty',
    'TMPL_ENGINE_CONFIG'    => array(
        'caching' => TRUE,
        'template_dir' => TMPL_PATH,
        'compile_dir' => TEMP_PATH,
        'cache_dir' => CACHE_PATH,
        'left_delimiter' => '{',
        'right_delimiter' => '}',
    ),
);
?>

Action:

1
2
3
4
5
6
7
8
9
10
<?php
class IndexAction extends Action {
    public function index(){
        $data = array(
            'asdf' => 1,'dfg' => 2,'asdfrg' => 3,'yhnfd' => 4,'bfws' => 1
        );
        $this->assign('test',$data);
        $this->display();
    }
}

html:

1
2
3
4
5
{$smarty.now}
<br />
{foreach $test as $key=>$data}
{$key}:{$data}<br />
{/foreach}

最后输出:
1411459827
asdf:1
dfg:2
asdfrg:3
yhnfd:4
bfws:1

yes,这样就搞定了,使用Smarty模板就这么简单