PHPCMS编辑器ckeditor升级最新版改宽版并自定义工具栏图标

作者:@ouyang 发布时间:April 21, 2017 分类:学习笔记 暂无评论

v9.6依旧还是使用老版本的 ckeditor ,升级最新版还是非常有必要的,除了在复制粘贴上面标签合理多了,在UI上也是美观不少,整体黑灰色显得高大上,通过简单的样式修改让编辑器原本万年不变的980px变宽版编辑文字还是非常不错的,毕竟现在多是1366以上分辨率了,内容框太小总觉得好难受!另附上相关的方法可以自己定制需要显示工具栏上的图标,方便定制哪些常用的功能!

阅读剩余部分...

TCPDF输出中文乱码解决

作者:@ouyang 发布时间:November 27, 2016 分类:学习笔记 暂无评论

由于WHMCS所有版本中PDF中文账单都是乱码,所以一直找字体来进行替代,一直就是DroidSansFallback字体。
WHMCS7.x PDF字体文件地址:vendor/tecnickcom/tcpdf/fonts
通常情况下将附件fonts的字体及PHP文件覆盖即可。然后在General Settings(常规设置)>>Inovices(账单/发票),然后找到:
TCPDF Font Family(PDF字体)>>选择Custom填写字体名字即可,我填写的为(simyou)幼圆字体。

阅读剩余部分...

phpcms实现3条循环输出tr等标签

作者:@ouyang 发布时间:November 27, 2016 分类:学习笔记 暂无评论

有时候我们制作页面需要隔几条数据需要输出一个标签,这时候就需要循环输出了。

{if $data} 
{php $len=count($data) } 
     
    {loop $data $r} 
    
  • ...
  • {if $n%3==0&&$n!=$len}{/if} {/loop} {/if}

    阅读剩余部分...

    phpcmsv9自定义资料管理模块

    作者:@ouyang 发布时间:November 27, 2016 分类:资源分享 暂无评论

    温馨提示:该插件独立于系统,不涉及系统文件修改,不用考虑系统升级问题。

    安装说明:

    1.把解压出来的phpcms目录直接替换到你的V9根目录下面即可。

    2.进入后台的【模块】-【模块管理】,找到【自定义资料管理】右边的安装,点击安装即可。<!--more-->

    使用说明:

    1.安装后之后,找到【内容】-【内容发布管理】-【自定义资料管理】

    2.添加一条或多条自定义资料内容。

    3.可点击某一条记录对应的【标签调用】的【点击查看】链接,在打开的页面中把标签代码复制到模板中。

    标签说明:

    {pc:custom action=”content” id=”1″ siteid=”$siteid”}
    {loop $data $r}
    {$r[content]}
    {/loop}
    {/pc}
    

    该标签仅接受两个参数:

    id,这个ID是对应的后台自定义资料中的记录(可登陆后台查看)

    siteid,当前站点ID,可指定ID,也可使用默认siteid=”$siteid”即可。

    插件开发:守护幸福

    下载地址: phpcmsv9自定义资料管理模块_utf8.zip

    阅读剩余部分...

    更换Directadmin下载服务器

    作者:@ouyang 发布时间:November 4, 2016 分类:学习笔记 暂无评论

    Directadmin服务器全球有很多服务器,但国内连接都速度太慢了。Directadmin还好有HK的服务器。
    目前12号服务器为香港服务器,可以定义从12号服务器进行下载更新。

    cd /usr/local/directadmin/custombuild
    ./build set downloadserver files12.directadmin.com
    

    也可以把12改为你要的下载服务器。查看全部服务器地址

    cat /usr/local/directadmin/custombuild/servers.txt
    

    MSSQL让ID重排的简单SQL语句

    作者:@ouyang 发布时间:September 23, 2016 分类:学习笔记 暂无评论

    DBCC CHECKIDENT ('表名', RESEED, 0)
    

    执行上述一段语句即可解决重排的问题。

    Deepin桌面系统使用Shadowsocks-Qt5

    作者:@ouyang 发布时间:August 6, 2016 分类:Linux摘要,学习笔记 暂无评论

    个人认为deepin是国内比较优秀的Linux桌面系统,并且给人一种惊艳的感觉。所以我被它深深吸引着。
    选deepin作为桌面系统,在国内不能少了一把好梯子,Shadowsocks-Qt5就是把好梯子。

    首先需要安装好依赖包:

    sudo apt-get install g++ qt5-qmake qtbase5-dev libqrencode-dev libqtshadowsocks-dev libappindicator-dev libzbar-dev libbotan1.10-dev
    

    下载Shadowsocks所需附件
    将文件解压,安装libQtShadowsocks,终端内进入文件夹libQtShadowsocks-master/
    执行:sudo dpkg-buildpackage -uc -us -b
    在父文件夹中生成如下三个deb文件:​

    libqtshadowsocks_1.9.0-1_amd64.deb
    libqtshadowsocks-dev_1.9.0-1_amd64.deb
    shadowsocks-libqtshadowsocks_1.9.0-1_amd64.deb
    

    安装前两个deb

    sudo dpkg -i libqtshadowsocks_1.9.0-1_amd64.deb
    sudo dpkg -i libqtshadowsocks-dev_1.9.0-1_amd64.deb
    

    安装shadowsocks-qt5,进入文件夹shadowsocks-qt5-master/
    执行:sudo dpkg-buildpackage -uc -us -b
    在父文件夹生成shadowsocks-qt5_2.7.0-1_amd64.deb

    sudo dpkg -i shadowsocks-qt5_2.7.0-1_amd64.deb
    

    20160806231129

    Sublime Text 3 简体中文汉化包使用方法

    作者:@ouyang 发布时间:August 6, 2016 分类:技术相关 暂无评论

    Sublime Text 3 简体中文汉化包使用方法

    1、将上面要求下载的sublime_text_3.zip文件解压,得到的Default.sublime-package 文件。打开sublime text 3,打开菜单->preferences->Browse Packages,进入到文件管理器:返回上一层到sublime text 3文件夹,打开“Installed Packages”文件夹。粘贴汉化包文件“Default.sublime-package”到“Installed Packages”文件夹下面,无需刷新即可看到汉化效果。

    阅读剩余部分...

    Nginx跳转实例

    作者:@ouyang 发布时间:July 19, 2016 分类:学习笔记 暂无评论

    网站有时候有多个域名,所以需要做跳转
    有时候也需要顶级直接跳转到www上,现就记录nginx跳转实例。

    server  
        {  
            listen       80;  
            server_name www.1.com www.22.com.cn www.333.com;  
            index index.html index.htm index.php;  
            root /home/www;  
      
            if ($host = 'www.22.com.cn' ) {  
                    rewrite ^/(.*)$ http://www.1.com/$1 permanent;  
            }  
            if ($host = '333.com' ) {  
                    rewrite ^/(.*)$ http://www.1.com/$1 permanent;  
            }  
            if ($host = '22.com.cn' ) {  
                    rewrite ^/(.*)$ http://www.1.com/$1 permanent;  
            }  
    

    break 中止Rewirte,不在继续匹配;
    redirect 为302临时重定向的HTTP状态;
    permanent 为301永久重定向的HTTP状态。

    phpcms主程序与web目录分离

    作者:@ouyang 发布时间:June 10, 2016 分类:学习笔记 暂无评论

    在网站部署中,考虑网站的安全行问题,可以将您的网站主程序与WEB目录分离,使主程序在WEB目录之外,从而提高网站的安全性。

    分离方法
    1.将PHPCMS V9中程序主框架目录phpcms移动至web目录之外
    如图:
    11
    2.修改web目录下程序入口文件index.php文件为

    /**
     *  index.php PHPCMS 入口
     *
     * @copyright           (C) 2005-2010 PHPCMS
     * @license             http://www.phpcms.cn/license/
     * @lastmodify          2010-6-1
     */
     //PHPCMS根目录
    define('PHPCMS_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR);
    include '../phpcms/base.php';
    pc_base::creat_app();
    

    3.修改web目录下接口文件文件api.php文件为

    /**
     *  index.php API 入口
     *
     * @copyright           (C) 2005-2010 PHPCMS
     * @license             http://www.phpcms.cn/license/
     * @lastmodify          2010-7-26
     */
    define('PHPCMS_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR);
    include '../phpcms/base.php';
    $param = pc_base::load_sys_class('param');
     
    $op = isset($_GET['op']) && trim($_GET['op']) ? trim($_GET['op']) : exit('Operation can not be empty');
    if (!preg_match('/(1+)/i',$op) && file_exists(PHPCMS_PATH.'api/'.$op.'.php')) {
        include PHPCMS_PATH.'api/'.$op.'.php';
    } else {
        exit('API handler does not exist');
    }
    

    这样即可以完成主程序与web目录分离


    1. a-z_

    phpcmsv9 幻灯片管理模块_UTF8

    作者:@ouyang 发布时间:June 7, 2016 分类:技术相关 暂无评论

    幻灯片管理模块简介:

    1、可创建多个位置,一个网站多个幻灯处调用互不影响。
    2、独立模块,不修改系统内核,不用担心升级问题。
    3、标签调用灵活。

    安装:
    1、复制本目录下面的phpcms目录到你的V9根目录下面即可。
    2、进入后台模块管理中,找到【幻灯片管理】,点击【安装】,安装完毕后就可以使用了。

    使用:
    1.安装完后,找到【内容】-【幻灯片管理】。
    2.先添加一个位置,比如:【首页导航下方幻灯】,这个位置的名字你可以自己随便起。一个网站可以添加多个位置,根据你自己需求来添加。
    3.接下来,就可以添加幻灯片了。点击【添加幻灯片】按钮。在弹出的窗口中填入相关信息。
    4.若多个,以此类推添加即可。

    前台模板标签调用:

    {pc:slider action=”lists” postion=”54″ siteid=”$siteid” order=”desc” num=”4″}
    {loop $data $r}
    

    排序编号:{$r[listorder]}

    描述:{$r[name]}

    链接地址:{$r[url]}

    图片:{$r[image]}


    {/loop} {/pc}

    标签说明:
    action 显示记录,这个是固定的。
    postion是指位置ID,ID在后台幻灯片管理中可见位置ID。
    order 是幻灯的排序,DESC降序,ASC升序排序。
    num 条数
    支持的全部标签:
    id,幻灯记录的ID
    typeid,幻灯记录所属位置ID
    siteid,站点ID
    name,记录的标题或者描述
    listorder,排序
    url,幻灯的链接地址
    image,幻灯的上传图片地址
    addtime,添加时间,如果在标签中调用,使用:{date(“Y-m-d H:m:s”,$r[addtime])}
    isshow,是否显示,1为显示,0为不显示。

    phpcmsv9 幻灯片管理模块_UTF8

    本文来源:守护幸福的博客 http://www.ued8.com/?p=795

    解决page单网页新增二级栏目后一级栏目不能够编辑的问题

    作者:@ouyang 发布时间:June 5, 2016 分类:学习笔记 暂无评论

    在modules/content/content.php 的public_categorys方法里1027行左右,把

    if (!empty($categorys)) {
    
    }
    

    里面的代码改为以下的:

    $tree->init($categorys);
                switch ($from) {
                    case 'block':
                        $strs = "<span class='\$icon_type'>\$add_icon<a href='?m=block&c=block_admin&a=public_visualization&menuid=" . $_GET['menuid'] . "&catid=\$catid&type=list' target='right'>\$catname</a> \$vs_show</span>";
                        $strs2 = "<img src='" . IMG_PATH . "folder.gif'> <a href='?m=block&c=block_admin&a=public_visualization&menuid=" . $_GET['menuid'] . "&catid=\$catid&type=category' target='right'>\$catname</a>";
                        break;
    
                    default:
                        $strs = "<span class='\$icon_type'>\$add_icon<a href='?m=content&c=content&a=\$type&menuid=" . $_GET['menuid'] . "&catid=\$catid' target='right' onclick='open_list(this)'>\$catname</a></span>";
                        $strs2 = "<span class='folder'><a href='?m=content&c=content&a=\$type&menuid=" . $_GET['menuid'] . "&catid=\$catid' target='right' onclick='open_list(this)'>\$catname</a></span>";
                        break;
                }
                $categorys = $tree->get_treeview(0, 'category_tree', $strs, $strs2, $ajax_show);
    

    CentOS7防火墙的变动

    作者:@ouyang 发布时间:April 16, 2016 分类:Linux摘要 暂无评论

    centos7开始iptables配置已经不适用了,CentOS7默认使用了firewalld进行了替代。

    firewall-cmd --permanent --add-port=80/tcp  #打开80端口
    firewall-cmd --reload  #重新装载配置生效
    firewall-cmd --list-all  #查看防火墙添加的端口
    firewall-cmd --list-services #查看当前的服务
    

    关闭Firewalld服务,使用iptables作为防火墙

    systemctl stop firewalld 
    systemctl disable firewalld
    yum install iptables-services
    systemctl start iptables
    systemctl enable iptables
    

    解决关闭 Hyper-V管理器前你必须关闭所有会话框

    作者:@ouyang 发布时间:March 26, 2016 分类:学习笔记 暂无评论

    关闭Hyper-V管理器时候,提示“关闭Hyper-V管理器前你必须关闭所有会话框”,感觉是微软的一个Bug
    HV关闭窗口问题
    解决办法是:在Hyper-V管理器界面只要把输入法切换为英文,这时候关闭不会有提示了。这Bug真叫人汗颜。

    PHPCMS V9二次开发自定义后台访问入口

    作者:@ouyang 发布时间:March 19, 2016 分类:学习笔记 暂无评论

    PHPCMS V9由于采用了MVC的设计模式,所以它的后台访问地址是固定的,虽然可以通过修改路由配置文件来实现修改,但每次都修改路由配置文件对于我来说有点麻烦 了,而且一不小心就会出错。这里使用另外一个一劳永逸的方法,达到了方便修改访问后台入口的目的,整个修改共分两步:

    第一步:
    在网站根目录创建一个文件夹,以后就要通过这个文件夹进入后台登录界面的,所以文件夹名就要取一个不易被人轻易猜到的名称。这里作为演示,我就取为 houtai 好了。接着,在这个文件夹里新建一个文件index.php,内容为:

    <?php
    define('PHPCMS_PATH', realpath(dirname(__FILE__) . '/..') . '/');
    include PHPCMS_PATH . '/phpcms/base.php';
    // pc_base::creat_app();
    $session_storage = 'session_' . pc_base :: load_config('system', 'session_storage');
    pc_base :: load_sys_class($session_storage);
    session_start();
    $_SESSION['right_enter'] = 1;
    
    unset($session_storage);
    header('location:../index.php?m=admin');
    ?>
    
    

    第二步:
    在 phpcms/modules/admin/ 文件夹里新建一个文件 MY_index.php(切记MY为大写,index为小写),内容为:

    <?php
    defined('IN_PHPCMS') or exit('No permission resources.');
    class MY_index extends index {
    public function __construct() {
    if(empty($_SESSION['right_enter'])) {
    header('location:./');exit;
    }
    parent::__construct();
    }
    
    public function public_logout() {
    $_SESSION['right_enter'] = 0;
    parent::public_logout();
    }
    }
    ?>
    

    修改完成。以后就只能通过 http://域名/houtai/ 目录访问后台登录入口 了,如果直接使用 index.php?m=admin 访问的话,会直接跳转到网站首页,这样就阻止了对后台登录入口的直接访问了。当然houtai这个目录名可以随意修改的!

    文章来自:周涛blog 原文地址:http://www.zhoutao.org/blog/2013/03/145.html