php自定义函数之自动获取目录下的模板

说明:目录下必须有default.gif(此图为模板缩略图)的才为合法的模板

/*—————————————————— */
//– 自动获取模板函数
/*—————————————————— */
function get_template ()
{
$template = array ();
$dir = CMS_ROOT.’/tpl/’;
$n = 0;
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if ($file ==’.’ or $file == ‘..’ or $file == ‘.svn’)
{
continue;
}
if (is_dir ($dir.$file))
{
if (file_exists ($dir.$file.’/default.gif’))
{
$template[$n]['dir'] = $file;
$template[$n]['pic'] =’/tpl/’.$file.’/default.gif’;
}
}
$n++;
}
closedir($dh);
}
}
return $template;

}

自定义函数之递归删除文件及目录

/*—————————————————— */
//– 递归删除文件及目录
//– 例: del_dir (‘../cache/’);注意:返回的/是必须的
//– $type 强制删除目录, true 是 ,false 否
/*—————————————————— */

function del_dir ($dir,$type=true)
{
$n=0;
if (is_dir($dir)) {
if ($dh = opendir($dir)) {

while (($file = readdir($dh)) !== false) {
//.svn 忽略 svn 版本控制信息
if ( $file == ‘.’ or $file ==’..’ or $file == ‘.svn’)
{
continue;
}
if (is_file ($dir.$file))
{
unlink($dir.$file);
$n++;
}
if (is_dir ($dir.$file))
{
del_dir ($dir.$file.’/');
if ($type)
{
$n++;
rmdir($dir.$file.’/');
}
}
}
}
closedir($dh);
}
return $n;
}

php自定义函数之用数组返回无限分类的列表数据

/*—————————————————— */
//– 获取无限分类的列表数据
/*—————————————————— */

function get_sort ($parent_id=0,$n=-1)
{
global $db;
static $sort_list = array ();
$sql = “SELECT * FROM “.$db->table(‘article_sort’).” WHERE `parent_id` = ‘{$parent_id}’”;
$res = $db->query ($sql);
if ($res)
{
$n++;
while ($row = $db->fetch_assoc ($res))
{
$sql = “SELECT * FROM “.$db->table(‘article_sort’).” WHERE `parent_id` = ‘{$row['sort_id']}’”;
$children = $db->num_rows ($sql);
$row['sort_name'] = str_repeat (‘ ’,$n*4).$row['sort_name'];
$row['children'] = $children;
$sort_list[] = $row;
get_sort ($row['sort_id'],$n);
}
}
return $sort_list;
}

php自定义函数之递归实现无限分类生成下拉列表

/*—————————————————— */
//– 递归实现无限分类生成下拉列表函数
//– $tpl->assign(’sort_list’,createSortOptions ());
//– $tpl->assign(’sort_list’,createSortOptions ($sort_id));
/*—————————————————— */

function createSortOptions ($selected=0,$parent_id=0,$n=-1)
{
global $db;
$sql = “SELECT * FROM `@__article_sort` WHERE `parent_id` = ‘{$parent_id}’”;
$options = ”;
static $i = 0;
if ($i == 0)
{
$options .= ‘<option value=”0″ >请选择</option>’;
}
$res = $db->query ($sql);
if ($res)
{
$n++;
while ($row = $db->fetch_assoc ($res))
{
$i++;
$options .=”<option value=’{$row['sort_id']}’”;
if ($row['sort_id'] == $selected)
{
$options .=’ selected ‘;
}
$options .=”>”.str_repeat(‘&nbsp;’,$n*3).$row['sort_name'].”</option>\n”;
$options .=createSortOptions ($selected,$row['sort_id'],$n);
}
}
return $options;
}

php自定义函数之简单提示框alert

/*—————————————————— */
//– 简单提示框函数
/*—————————————————— */
function alert ($msg,$url=”)
{
$str = ‘<script type=”text/javascript”>’;
$str.=”alert(‘”.$msg.”‘);”;

if ($url != ”)
{
$str.=”window.location.href=’{$url}’;”;
}
else
{
$str.=”window.history.back();”;
}
echo $str.=’</script>’;
}

php自定义函数之判断用户是否登录

/*—————————————————— */
//– 检测用户是否登录函数
/*—————————————————— */
function checklogin ()
{
$user_id = isset($_SESSION['admin']['uid']) ? intval($_SESSION['admin']['uid']) : 0;
if ($user_id < 1)
{
exit (“<script>alert (‘对不起,你还没有登录,请先登录’);window.parent.location.href=’login.php’;</script>”);

//parent ,防止框架页,跳出不成功。
}
}

恭喜星模php学员谌钰、宋晨光同学找到工作!

恭喜星模php学员谌钰同学找到工作,试用期一个月,转正后2700。工作日期 6月11日

恭喜星模php学员宋晨光同学找到工作,试用期3000,转正后4000。工作日期 6月27日

至此,星模php 20100304期毕业学员基本都已找到工作。我们在此祝愿他们在工作中能大展宏图,越来越顺。

北京星模实训学校,IT实战就业第一选择!

星模php学员罗海龙毕业感言

走出星模已经半年了,回想起在星模学习的日子,感受颇深!
方龙师热情洋溢的讲解,其他同学的耐心帮助,让我这个不好学的学生也能跟上课程进度,在这里谢谢各位了。老师同学相互关系融洽,好像回到了大学 时代。
刚准备学PHP的时候,各种PHP培训学校让人难以选择,到底哪一个学校价钱低教学又质量高呀,经过多方面考查最终选择星模,来星模的同学都是 幸运的,因为在这里付出了比别的学校更少的金钱,而得到了和别的学校同样或者更多的知识,何乐而不为呢!
工作中遇到好多问题,在学校QQ群里问,老师同学都能热心的帮忙解决,感谢星模的每位老师和同学,谢谢你们!!

方龙是谁?——介绍星模实训教学总监方龙

 

星模实训教学总监,北京php培训特级讲师

星模实训教学总监,北京php培训特级讲师


方龙,北京星模实训学校教学总监,有着丰富的教学及管理经验。精通C、JAVA、PHP、Flex等开发语言。曾主持开发过多个大中型的PHP网站,带领 团队开发了CRM客户资源管理系统。 网站作品有91lvyou.com、91lamp.com等。
编程箴言:人可以平凡但不可以平庸,做一个有思想的程序员。
个人博客:

http://hi.baidu.com/fanglor

我印象中的方龙
1、热爱技术的人
2、对工作充满激情的人
3、对学员高度负责的人
4、有时有点严肃
5、方龙这个名字很大气,有将帅之气
6、做事认真、关注细节
7、年轻、有才
8、执着,坚持原则。

转自蒯义刚的日志: http://kuaiyigang.com/post/283.htm

FCK常用Js,获取FCK内容,统计FCK字数,向FCK写入指定代码

content相当于你例子中的FCKeditor1。//获取格式化的编辑器内容
function getEditorContents(){
var oEditor = FCKeditorAPI.GetInstance(“content”);
alert(oEditor.GetXHTML(true));
}
//向编辑器插入指定代码
function insertHTMLToEditor(codeStr){
var oEditor = FCKeditorAPI.GetInstance(“content”);
if (oEditor.EditMode==FCK_EDITMODE_WYSIWYG){
oEditor.InsertHtml(codeStr);
}else{
return false;
}
}
//统计编辑器中内容的字数
function getLength(){
var oEditor = FCKeditorAPI.GetInstance(“content”);
var oDOM = oEditor.EditorDocument;
var iLength ;
if(document.all){
iLength = oDOM.body.innerText.length;
}else{
var r = oDOM.createRange();
r.selectNodeContents(oDOM.body);
iLength = r.toString().length;
}
alert(iLength);
}
//执行指定动作
function ExecuteCommand(commandName){
var oEditor = FCKeditorAPI.GetInstance(“content”) ;
oEditor.Commands.GetCommand(commandName).Execute() ;
}
//设置编辑器中内容
function SetContents(codeStr){
var oEditor = FCKeditorAPI.GetInstance(“content”) ;
oEditor.SetHTML(codeStr) ;
}