关于最近

现在

每天迷茫着,混乱着,敷衍着。转眼间一年时间就这样匆匆离去,然而我并没有看到自己有所成长, 不管那一方面,仿佛都一直停留在刚苏醒的那一刻,丝毫未变。

这一年间我无数次挣扎,无数次去试着改变自己,无数次为自己的改变定制种种计划,但又总给自己找千万条理由,公司太忙,今天太累,明天要去哪哪哪,来搪塞自己。

有时忽然醒悟,告诉自己不能再这样浪费时间,浪费生命。一段时间过后又会因为生活或工作中的碎碎小事而打乱了自己,之后,迷茫依旧,敷衍依旧。

我是时候该再次扬帆启航了,不管是为了我那模糊的理想,还是我的家人,还是那遥不可及的她,我都该启航了,成为一名掌握自己命运水手,找到属于自己的港湾。

今后

公司太忙,太累,又或其他,一切的一切都将不再是我停滞不前的理由。

安于现状,懒惰,不够成熟,你们都是我的绊脚石,我会一一把你们击破。

“虽远难至 心向往之“ 将不复存在,取而代之的是”虽远难至,努力为之“

最后

今天看了她的博客,感触很深,同时也感觉自己离她更远了。

加油吧,过去的都过去了,你已不再是一个小孩,不管为了什么,让自己更强大吧!

迟来的总结.

元旦这段时间公司忙的不亦乐乎, 直到昨天(2011/1/4)才从百忙中解脱出来.

是时候把今年所做的一切做个总结了.

一月, 一直宅在家中. 接了几个私活, 赚到2000多块大洋, 给 老爸 借1000块钱买了我人生中的第一个大件-笔记本(联想G450).

二月, 到小姨老家过年, hi了一个多月. 什么都没干.

三月, 宅够了, 找了个工作, 负责PHPCMS的二次开发. 从进公司到离开期间见证了N多小企业用被公司客服欺骗.

四月, 继续工作.第一次发工资(上个月的),怀着激动的心情跑到银行取钱, 妈的,这不坑爹吗? 上个月干了8天就他妈的领到120多块,之后又怀着激动的心情回到公司. 给主管递上了辞职信. 结束这让人蛋疼的工作. 一个月之后去领四月份的工资,也只有1200多. 刚进公司的时候, 主管给我说的是先拿1500,之后根据能力慢慢加..

五月, 辞职回家休整, 期间现在的主管找到我, 后来去公司聊了聊算是面试吧, 一个多星期以后, 我就加入了这个团队. 负责Discuz! 二次开发.

六月,工作, 每天乱想.

七月, 继续工作, 月底公司举办了一个版主聚会, 50多个版主以及工作人参加 玩的非常开心, 非常开心.

八月, 工作还是工作, 读了一本书, 当然没读完..

九月, 工作, 边看书边学习汇编.

十月, 工作继续工作, 论坛准备升级到Discuz!X. 所以我也必须先研究研究. 公司也找到了一个强大的靠山(贵州都市报), 月底公司搬进了贵州日报社19楼的新办公室, 新办公室很给力.

十一月, 开始新版的开发, 程序修改, 页面制作. 之后公司来了新同事, 都是型男靓女. 能力也没得说.

十二月, 内测, 离上线的时间越来越近. 工作也越来越忙. 直至元旦第二天关站, 换服务器, 熬了一个晚上,  第二天9点终于搞定了. 但后续的问题也很多很多. 直至今天(2011/1/5)都还在做着修改. 10年最后一天, 参加了集团的迎新晚会, 晚会很给力, 表演什么的都有, 魔术, 时装秀……. 之后唱歌深夜后回到家, 就这样我从2010跨进了2011年. 就这样我的2010年结束了.. 总的来说今年啥也没学到. 离年初的计划相距甚远.

2011年. 好好工作, 好好学习.集聚友情, 碰上爱情. 来吧, 哥想谈恋爱了. 到此为止, 明天还得上班. 睡了..

为Discuz! X1.5增加后台管理菜单

这里已添加一个顶部菜单”美食”为例

首先打开admin.php文件数组变量$admincp_actions_normal里加入一项

…..省略

$admincp_actions_normal = array('food', 'index', 'setting', 'members', 'profilefields', 'admingroup'......省略

之后新建立目录/source/admincp/menu/  扩展菜单目录

再之后新建文件/source/admincp/menu/menu_food.php  菜单配置

写入文件内容

< ?php

if(!defined('IN_DISCUZ') || !defined('IN_ADMINCP')) {
	exit('Access Denied');
}

$topmenu['food'] = 'food_basic_setting';
food在语言包中对应header_food
food_basic_setting对应URL admin.php?action=food&operation=basic&do=setting

$menu['food']    = array(
    // 这里的下标和语言包中的对应 => '点击菜单转到的URL格式为(action_operation_do比如下面这个就是admin.php?action=food&operation=basic&do=information)',
    array('menu_food_information', 'food_basic_information'),
);

新建一个语言包文件/source/language/lang_admincp_food.php 菜单语音包. 如果你愿意也可以直接更改/source/language/lang_admincp_menu.php. 这个是discuz自带的语言包. 我认为还是分开好.

文件内容

< ?php
if(!defined('IN_DISCUZ') || !defined('IN_ADMINCP')) {
	exit('Access Denied');
}
$extend_lang = array(
     'header_food' => '美食',
     'menu_food_setting' => '设置',
     'menu_food_information' => '程序信息',
);

保存所有文件, 刷新浏览器. 搞定, 收工.

如果你想了解的更清楚请查看以下几个文件:
/admin.php
/source/admincp/admincp_main.php
/source/admincp/admincp_menu.php
/source/language/lang_admincp.php

Discuz!X 1.5 实现群组与版块自动关联

最近公司网站 贵州都市网 准备升级.

在PHPWind8 和 Discuz!X 1.5之间纠结, 主要原因就是PHPWind8群组可以与论坛的板块关联而Discuz!X 1.5不能.

但纠结过后还是选择了Discuz!X 1.5, 群组与板块关联我们自己实现.

下面分享下我做的群组板块关联的实现.

打开/config/目录新建一个文件config_groupjoin.php

文件内容为

< ?php
$groupjoin = array(
    36 => 2
    // 群组id => 板块ID
);

打开/source/include/post/post_thread.php在大概520行左右找到

if($isgroup) {
    DB::query("UPDATE ".DB::table('forum_groupuser')." SET threads=threads+1, lastupdate='".TIMESTAMP."' WHERE uid='$_G[uid]' AND fid='$_G[fid]'");
}

改为

if($isgroup) {
    DB::query("UPDATE ".DB::table('forum_groupuser')." SET threads=threads+1, lastupdate='".TIMESTAMP."' WHERE uid='$_G[uid]' AND fid='$_G[fid]'");
    include DISCUZ_ROOT . './config/config_groupjoin.php';
    if (isset($groupjoin[$_G['fid']])) {
        $moveto = $groupjoin[$_G['fid']];
        DB::query("INSERT INTO ".DB::table('forum_thread')." (fid, posttableid, readperm, price, typeid, author, authorid, subject, dateline, lastpost, lastposter, displayorder, digest, special, attachment, moderated, replies, status, isgroup, closed)
VALUES ('$moveto', '$posttableid', '$readperm', '$price', '$typeid', '$author', '$_G[uid]', '$subject', '$_G[timestamp]', '$_G[timestamp]', '$author', '$displayorder', '$digest', '$special', '$attachment', '$moderated', '1', '$thread[status]', '1', '$tid')");
    }
}

如果你的板块和群组能发表的主题类型一样, 则到此论坛与群组算是关联上了. 但人如果不同, 比如群组能发投票而板块不行, 那就请继续看下面.

打开/source/include/post/post_thread.php在大概520行左右找到

if($isgroup) {
    DB::query("UPDATE ".DB::table('forum_groupuser')." SET threads=threads+1, lastupdate='".TIMESTAMP."' WHERE uid='$_G[uid]' AND fid='$_G[fid]'");
}

修改为

if($isgroup) {
    DB::query("UPDATE ".DB::table('forum_groupuser')." SET threads=threads+1, lastupdate='".TIMESTAMP."' WHERE uid='$_G[uid]' AND fid='$_G[fid]'");
    include DISCUZ_ROOT . './config/config_groupjoin.php';
    if (isset($groupjoin[$_G['fid']])) {
        $moveto = $groupjoin[$_G['fid']];

        // 关联板块信息
        $toforum = DB::fetch_first("SELECT f.fid, f.name, f.modnewposts, f.allowpostspecial, ff.threadplugin FROM ".DB::table('forum_forum')." f LEFT JOIN ".DB::table('forum_forumfield')." ff ON ff.fid=f.fid WHERE f.fid='$moveto' AND f.status='1' AND f.type<>'group'");
        if(!$toforum || $_G['fid'] == $toforum['fid']) {
            continue;
        }

        // 关联板块允许发表的特殊主题
        $toforumallowspecial = array(
            1 => $toforum['allowpostspecial'] & 1,
            2 => $toforum['allowpostspecial'] & 2,
            3 => isset($_G['setting']['extcredits'][$_G['setting']['creditstransextra'][2]]) && ($toforum['allowpostspecial'] & 4),
            4 => $toforum['allowpostspecial'] & 8,
            5 => $toforum['allowpostspecial'] & 16,
            127 => $_G['setting']['threadplugins'] ? unserialize($toforum['threadplugin']) : array(),
        );

        // 系统自带的特殊主题
        if($special != 127) {
            $allowmove = $toforum['allowpostspecial'] ? $toforumallowspecial[$thread['special']] : 0;
        } else {
            // 特殊主题插件
            if($toforumallowspecial['127']) {
                $posttable = getposttablebytid($thread['tid']);
                $message = DB::result_first("SELECT message FROM ".DB::table($posttable)." WHERE tid='$thread[tid]' AND first='1'");
                $sppos = strrpos($message, chr(0).chr(0).chr(0));
                $specialextra = substr($message, $sppos + 3);
                $allowmove = in_array($specialextra, $toforumallowspecial[127]);
            } else {
                $allowmove = 0;
            }
        }

        if($allowmove) {
            DB::query("INSERT INTO ".DB::table('forum_thread')." (fid, posttableid, readperm, price, typeid, author, authorid, subject, dateline, lastpost, lastposter, displayorder, digest, special, attachment, moderated, replies, status, isgroup, closed)
    VALUES ('$moveto', '$posttableid', '$readperm', '$price', '$typeid', '$author', '$_G[uid]', '$subject', '$_G[timestamp]', '$_G[timestamp]', '$author', '$displayorder', '$digest', '$special', '$attachment', '$moderated', '1', '$thread[status]', '1', '$tid')");
        }
    }
}

好了, 现在群组和板块关联已经搞定了.

Discuz!X 1.5其实已经自带了群组主题推送到板块这个功能, 只不过需要手动操作, 略显麻烦.

在查看其推送到板块的代码后发现其实就相当于将主题copy一份到forum_thread表, 不过fid变为推送到不板块的fid, tid自增, closed为原主题tid

根据这个思路, 建立一个配置文件, 在群组发表主题时判断该群组是否有关联, 之后copy一条数据就行了.

ok. 到此结束了, 我这正测试, 看看有没有啥不良反映, 大家如果发现了啥问题, 可以联系我.

家乡的牛人啊. 这短信编的太给力了!

解释下, 这一个牛人用我们贵州的N多个地名编成的一条短信.

相当通顺, 相当给力..

福泉而居,沿河而住
松桃环宅,安龙入户
家种桐梓,屋洒贵阳
左有龙里,右有凤冈
门前汇川,院后万山
堪称清镇,一生普安
财源贞丰,经济都匀
事业赫章,家庭普定
子女安顺,长辈威宁
学子册亨,爱情施秉
志向镇远,前途锦屏
处事大方,为人黎平
聚德遵义,积善兴仁
驱车平坝,纵马关岭
飞跃剑河,横贯紫云
漂流江口,跨越玉屏
畅饮茅台,客住贵定
品尝三穗,流连卫城
和谐息烽,著书修文
宽宏仁怀,交友道真
日日纳雍,月月织金
年年晴隆,岁岁余庆

呵呵, 哥的雪豹.

咱先上图.

呵呵,也许你发现了什么
本来哥装的是雪豹,娘的可就是找不全驱动。
没法还是装回了ubuntu
装好之后哥又想用ubuntu模仿雪豹(真他娘的犯贱 – -)
再之后哥就找到这名为Macbuntu的软件,下载安装。
哥不得不感叹这东西太棒鸟。。
Macbuntu的项目地址 http://sourceforge.net/projects/macbuntu/
安装方法

wget http://sourceforge.net/projects/macbuntu/files/macbuntu-10.04/v2.2/Macbuntu-10.04.tar.gz/download
tar -zxvf Macbuntu-10.04.tar.gz
./install.sh

灰常的简单,安装过程中会提示选择语言,但是切记不要选择chinese,否则就等着乱码吧。