首页/技术代码/ Emlog非插件实现投稿功能教程

Emlog非插件实现投稿功能教程

作者:神奇   分类:技术代码   时间:2018-05-22 18:20:44  标签:


1、首先建立文件夹取名为tougao并放入博客的根目录;

2、在tougao文件夹中建立一个文件index.php放入如下代码:


<?php
require_once '../init.php';//emlog程序此文件的路径,如在一级栏目中请去除../
define('TEMPLATE_PATH', TPLS_PATH.Option::get('nonce_templet').'/');//前台模板路径
$sl = isset($_GET['efxbk'])?intval($_GET['efxbk']):0;global $CACHE;
$options_cache = $CACHE->readCache('options');
$navibar = unserialize($options_cache['navibar']);
$blogname = $options_cache['blogname'];?>
<!DOCTYPE html><html><head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta http-equiv="Cache-Control" content="no-transform" />
<meta http-equiv="Cache-Control" content="no-siteapp" />
<title>我要投稿 - <?php echo $blogname;?></title>
<meta name="keywords" content="投稿,我要投稿,在线投稿" />
<meta name="description" content="欢迎来到投稿中心,你投稿的文章将有机会显示在本站博客中,采用纯手工审核机制!如果你希望你的文章被,请按要求认真填写资料,否则不予通过,感谢你对本栏目的支持,因为有你,本站将做得更好!" />
<script charset="utf-8" src="<?php echo BLOG_URL;?>admin/editor/kindeditor.js"></script>
<style>
body{background:#fff;font:14px/1.5 tahoma,arial,"Microsoft YaHei";margin:0px;padding:0px;font-size:12px;}ul,li,p,h1,h2,h3,h4,h5,h6{padding:0px;margin:0px;list-style:none;}a{color:#444;text-decoration:none;}a:hover{color:#F36;}
.tougao{max-width:800px;margin:10px auto;overflow:hidden;clear:both;border:1px dotted #900; padding-bottom:10px}
.tougao1,.tougao2{margin:0 10px;overflow:hidden;clear:both;}
.tougao1 li{clear:both; overflow:hidden; margin-top:10px;}
.tougao1 li p{float:left;border:1px solid #999;height:30px;line-height:30px;padding:0 10px; font-weight:bold;}
.tougao1 li input{height:26px; line-height:26px;}
.tougao1 li b{color:#F00;}
.tougao2{margin-top:10px; width:90%;}
.tougao2 li{overflow:hidden;float:left; margin-right:10px;}
.tougao2 li p{float:left;border:1px solid #999;height:30px;line-height:30px;padding:0 10px; font-weight:bold;}
.tougao2 li input{height:26px; line-height:26px;}
.tougao2 li img{ margin-top:5px;}
.button input{height:32px;float:left;}
.tougao2 label{height:32px;line-height:32px; float:right;}
.sltt{border-bottom:1px dotted #900; line-height:30px; height:30px; font-size:16px; padding-left:10px; font-weight:bold; color:#F00;}
.nr{max-width:800px;margin:auto;overflow:hidden;clear:both;border:1px dotted #900;}
.nr ul{margin:10px; line-height:25px; font-size:14px;}
.foot{margin:10px auto;text-align:center;clear:both;overflow:hidden;border:1px dotted #900;padding:10px 0;line-height:22px;font-size:12px;background:#fff;max-width:800px;}
</style>
</head><body>
<?php if($efxbk==0){$Sort_Model = new Sort_Model();$sorts = $Sort_Model->getSorts();?>
<div class="tougao"><div class="sltt">投稿中心</div>
<form action="<?php echo BLOG_URL;?>tougao/?sl=1" method="post" enctype="multipart/form-data" name="addlog" >
<div class="tougao1">
<li><p>文章标题</p><input name="title" maxlength="200" style="width:600px;;" placeholder="文章标题大于10字少于30字" /> <b>*</b> </li>
<li><p>网站名称</p><input name="tags" maxlength="200" style="width:600px;" placeholder="作者网址名称,10字以内," /></li>
<li><p>原文地址</p><input name="excerpt" maxlength="200" style="width:600px;" placeholder="不加http://,否则无法提交,如本站首发请不要填写任何网址信息" /></li>
<li>注意事项:文章内容不得少于300字,请排版好,去掉没有必要的html代码,内容中的链接自动过滤<textarea name="text" style="width:90%;height:400px;" id="text"></textarea><script>loadEditor('text');</script></li></div>
<div class="tougao2">
<li><p>验 证 码</p><p><img src="<?php echo BLOG_URL;?>include/lib/checkcode.php" align="absmiddle" style="cursor:pointer;" alt="未显示?请点击刷新" title="看不清楚?请点击刷新" onclick="this.src=this.src+'?'" /></p></li><li><input name="imgcode" type="text" size="10" tabindex="5" /></li><div class="button"><input type="submit" value="提交" onclick="return checkform();" /></div><label for="efxbk"><input type="checkbox" value=9 id="efxbk" name="efxbk" required autocomplete="on" title="发表评论确认框:请勾选我再发表评论!"><font color="red">请勾选我再提交!</font></label></div>
</form></div>
<div class="nr"><div class="sltt">投稿注意事项</div><ul>
1、要认真写作,写完后多读几遍,注意排版及去除不必要的html代码<br>
2、请尊重原作者的权益,请注明文章的作者、原文地址;如果不提供这些信息,文章可能不能通过审核;<br>
3、本站接受稿件的前提是该信息对广大用户有所帮助,或者比较有创意的产品广告宣传;<br>
4、标题力求简短、醒目、新颖、吸引人,杜绝标题党,标题尽量不少于10个汉字,不多于30个汉字;<br>
5、文章应避免用 "今天"、"昨天",应改成具体日期;请尽量给文章配上图片(请注意调用的图片是否屏蔽外部调用);<br>
</ul></div>
<div class="foot">Copyright © <?php echo (($Y = intval(date('Y'))) > 2013) ? "$Y" : '';?> <?php echo $blogname;?> 版权所有 </div>
<?php }elseif($sl==1){
$Log_Model = new Log_Model();
$Tag_Model = new Tag_Model();
$title = isset($_POST['title']) ? addslashes(trim($_POST['title'])) : '';
$content = isset($_POST['text']) ? addslashes(trim($_POST['text'])) : '';
$excerpt = isset($_POST['excerpt']) ? addslashes(trim($_POST['excerpt'])) : '';
$tags = isset($_POST['tags']) ? addslashes(trim($_POST['tags'])) : '';
$imgcode = isset($_POST['imgcode']) ? addslashes(trim(strtoupper($_POST['imgcode']))) : '';
$slCode = $_SESSION['code'];
$author = '';
$sortid = isset($_POST['sortid']) ? intval($_POST['sortid']) : '';
$date = time() + Option::get('timezone') * 3600;
$sb_title = mysql_query("select title from emlog_blog where title='$title' limit 1");
$sb_excerpt = mysql_query("select title from emlog_blog where excerpt='$excerpt' limit 1");
if(empty($title) || strlen($title) < 30 || strlen($title) > 90 || mysql_fetch_array($sb_title)){emMsg('提交失败:标题出错,可能以下原因造成<br />1、少于10个字或多于30个字<br />2、已经存在','javascript:history.back(-1);');
//}elseif(empty($sortid)||preg_match("/^[0-9]*[1-9][0-9]*$/",$sortid)==false){emMsg('提交失败:请选择分类','javascript:history.back(-1);');
}elseif(strlen($tags) > 30){emMsg('提交失败:网址名称出错,多于10个字','javascript:history.back(-1);');
}elseif(!empty($excerpt) && preg_match("/^[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\’:+!]*([^<>\"])*$/",$excerpt) == false){emMsg('提交失败:原文地址出错,可能以下原因造成<br />1、是否加了http://<br />2、网址格式是否正确<br>3、已经存在','javascript:history.back(-1);');
//}elseif(mysql_fetch_array($sb_excerpt)){emMsg('提交失败:原文地址出错,此网址已经发表过文章','javascript:history.back(-1);');
}elseif(empty($content) || strlen($content) < 900 ){emMsg('提交失败:内容没有按要求填写,少于300个字','javascript:history.back(-1);');
}elseif($imgcode != $_SESSION['code']){emMsg('提交失败:验证码错误','javascript:history.back(-1);');
}
$logData = array(
'title' => $title,
'alias' => '',
'content' => $content,
'excerpt' => $excerpt,
'author' => '2',//指定作者ID
'sortid' => '8',//指定分类ID
'date' => $date,
'top '=> 'n',
'sortop '=> 'n',
'allow_remark' => 'y',
'hide' => 'y',//文章需要放入草稿,n为直接显示
'checked' => 'n',
'password' => ''
);
$blogid = $Log_Model->addlog($logData);
$Tag_Model->addTag($tags, $blogid);
header('Location:'.BLOG_URL.'tougao/?efxbk=2');die;}
elseif($sl==2){emMsg('提交成功,文章将在审核后发布。<br />请耐心等待,非常感谢您的贡献!',''.BLOG_URL.'tougao');}?>
</body></html>
1.此方法并不涉及内核代码修改,只需要建立一个文件夹即可,可以把文章放入草稿、待审或者直接发布,具体看以上教程。
2.本教程仅在Emlog5.3.1版本下测试正常,其他版本未做测试,不确保能用的哦!
3.本文非原创,转载于旭博客。如需转载带上本站链接!


温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!

评论:

发表评论:

code