帝国cms自带文章生成标题图片插件
帝国CMS后台通过标题自动生成标题图片。文字支持各种自定义设置,包含字体大小、字体样式、行间距、透明度、背景图片、起始坐标、文字颜色等。
插件支持修改信息自动生成标题图片
帝国cms根据标题生成标题图片插件安装教程----帝国cms根据标题生成标题图片插件安装教程
把插件包上传到/e/extend下:
在标题字段中添加:
字段名:titlepic 字段标识:标题图片 字段类型:定长字符型0-255字节(CHAR)长度为120
修改表单模板:
<input name="titlepic" type="text" id="titlepic" value="<?=$ecmsfirstpost==1?"":ehtmlspecialchars(stripSlashes($r[titlepic]))?>" size="45"><?php if($ecmsfirstpost==0):?><input type="button" name="button" value="自动生成" onclick="document.add.titlepic.value='http://www.baidu.com/img/news/news<?=$classid?><?=$id?>.png';"><?php endif;?><?php if($ecmsfirstpost==1):?> <input type="button" name="button" value="自动生成" onclick="document.add.titlepic.value='osspic';"><?php endif;?>
在系统模型中的
后台增加信息后处理函数添加:user_ModUpdataTitlepic
后台修改信息后处理函数:user_updatatitlepicb
在/e/class/userfun.php中添加一下代码:
//根据标题自动生成标题图片
//根据标题自动生成标题图片
function user_FieldTitlepic($mid, $f, $isadd, $isq, $value)
{
global $public_r, $emod_r;
//有图片退出
if (!empty($value) && 'osspic' === $value && isset($emod_r[$mid]['tbname'], $_POST['id'], $_POST['classid']) && $_POST['classid'] > 0 && $_POST['id'] > 0) {
$option = [
'serverID' => 1, //服务器ID
//'clientIP' => '192.168.1.1', //没填写自抓取
//'newstime' => time(), //不填自动生成当前时间
];
$value = $public_r['fileurl'] . $emod_r[$mid]['tbname'] . '/' . Twoir\Uuid::greate($_POST['classid'], $_POST['id'], $option) . '.png';
}
//返回原内容
return $value;
}
// 鉴定机构发布后处理函数 ModFun $value=$fun($mid,$isadd,$isq,$classid,$id,$r[1]);
function user_ModUpdataTitlepic($mid, $isadd, $isq, $classid, $id, $cs){
global $dbtbpre, $empire, $emod_r, $public_r;
$titlepic = RepPostStr($_POST['titlepic']);
//有图片退出
if ((!empty($titlepic) && 'osspic' != $titlepic) || 0 == $isadd || empty($titlepic)) {
return false;
}
$tbname = $emod_r[$mid]['tbname'];
$option = [
'serverID' => 1, //服务器ID
//'clientIP' => '192.168.1.1', //没填写自抓取
//'newstime' => time(), //不填自动生成当前时间
];
$titlepic = $public_r['fileurl'] .$tbname.'/' . $tbname . ''.$classid.''.$id.'.png';
$checked = isset($_POST['checked']) ? (int)$_POST['checked'] : 0;
$tbname = $checked ? $tbname : $tbname . '_check';
if (!empty($tbname && !empty($titlepic))){
$sql = $empire->query("update {$dbtbpre}ecms_".$tbname." set titlepic='".$titlepic."' where id=".$id);
}
$url = 'http://www.baidu.com/img/m'.$classid.'/a'.$id.'/';
$array = get_headers($url,1);
if(preg_match('/200/',$array[0])){
// echo "";
// print_r($array);
}else{
echo "无效url资源!";
}
return $sql;
}
// 鉴定人发布后处理函数 ModFun $value=$fun($mid,$isadd,$isq,$classid,$id,$r[1]);
function user_manTitlepic($mid, $isadd, $isq, $classid, $id, $cs){
global $dbtbpre, $empire, $emod_r, $public_r;
$titlepic = RepPostStr($_POST['titlepic']);
//有图片退出
if ((!empty($titlepic) && 'osspic' != $titlepic) || 0 == $isadd || empty($titlepic)) {
return false;
}
$tbname = $emod_r[$mid]['tbname'];
$option = [
'serverID' => 1, //服务器ID
//'clientIP' => '192.168.1.1', //没填写自抓取
//'newstime' => time(), //不填自动生成当前时间
];
$titlepic = $public_r['fileurl'] .$tbname.'/' . $tbname . ''.$classid.''.$id.'.png';
$checked = isset($_POST['checked']) ? (int)$_POST['checked'] : 0;
$tbname = $checked ? $tbname : $tbname . '_check';
if (!empty($tbname && !empty($titlepic))){
$sql = $empire->query("update {$dbtbpre}ecms_".$tbname." set titlepic='".$titlepic."' where id=".$id);
}
$url = 'http://www.baidu.com/img/man'.$classid.'/a'.$id.'/';
$array = get_headers($url,1);
if(preg_match('/200/',$array[0])){
// echo "";
// print_r($array);
}else{
echo "无效url资源!";
}
return $sql;
}
function user_updatatitlepica($mid, $isadd, $isq, $classid, $id, $cs){
$url = 'http://www.baidu.com/img/man'.$classid.'/a'.$id.'/';
$array = get_headers($url,1);
if(preg_match('/200/',$array[0])){
// echo "";
// print_r($array);
}else{
echo "无效url资源!";
}
return $sql;
}
function user_updatatitlepicb($mid, $isadd, $isq, $classid, $id, $cs){
$url = 'http://www.baidu.com/img/m'.$classid.'/a'.$id.'/';
$array = get_headers($url,1);
if(preg_match('/200/',$array[0])){
// echo "";
// print_r($array);
}else{
echo "无效url资源!";
}
return $sql;
}
把上面的www.baidu.com改成你的域名
在伪静态规则中添加:
rewrite ^/img/m([0-9]+)/a([0-9]+)/$ /e/extend/autotitle/autotitle.php?classid=$1&id=$2 last;