本文整理汇总了PHP中core::akismet方法的典型用法代码示例。如果您正苦于以下问题:PHP core::akismet方法的具体用法?PHP core::akismet怎么用?PHP core::akismet使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类core
的用法示例。
在下文中一共展示了core::akismet方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: action_index
public function action_index()
{
//template header
$this->template->title = __('Contact Us');
$this->template->meta_description = __('Contact') . ' ' . core::config('general.site_name');
Breadcrumbs::add(Breadcrumb::factory()->set_title(__('Home'))->set_url(Route::url('default')));
Breadcrumbs::add(Breadcrumb::factory()->set_title(__('Contact Us')));
if ($this->request->post()) {
//captcha check
if (captcha::check('contact')) {
//check if user is loged in
if (Auth::instance()->logged_in()) {
$email_from = Auth::instance()->get_user()->email;
$name_from = Auth::instance()->get_user()->name;
} else {
$email_from = core::post('email');
$name_from = core::post('name');
}
//akismet spam filter
if (!core::akismet($name_from, $email_from, core::post('message'))) {
$replace = array('[EMAIL.BODY]' => core::post('message'), '[EMAIL.SENDER]' => $name_from, '[EMAIL.FROM]' => $email_from);
if (Email::content(core::config('email.notify_email'), core::config('general.site_name'), $email_from, $name_from, 'contact-admin', $replace)) {
Alert::set(Alert::SUCCESS, __('Your message has been sent'));
} else {
Alert::set(Alert::ERROR, __('Message not sent'));
}
} else {
Alert::set(Alert::WARNING, __('This email has been considered as spam! We are sorry but we can not send this email.'));
}
} else {
Alert::set(Alert::ERROR, __('Wrong captcha'));
}
}
$this->template->content = View::factory('pages/contact');
}
示例2: action_userprofile_contact
public function action_userprofile_contact()
{
$user = new Model_User($this->request->param('id'));
//message to user
if ($user->loaded() and $this->request->post()) {
if (captcha::check('contact')) {
//akismet spam filter
if (!core::akismet(core::post('name'), core::post('email'), core::post('message'))) {
$ret = $user->email('userprofile.contact', array('[EMAIL.BODY]' => core::post('message'), '[EMAIL.SENDER]' => core::post('name'), '[EMAIL.SUBJECT]' => core::post('subject'), '[EMAIL.FROM]' => core::post('email')), core::post('email'), core::post('name'));
//if succesfully sent
if ($ret) {
Alert::set(Alert::SUCCESS, __('Your message has been sent'));
} else {
Alert::set(Alert::ERROR, __('Message not sent'));
}
} else {
Alert::set(Alert::SUCCESS, __('This email has been considered as spam! We are sorry but we can not send this email.'));
}
} else {
Alert::set(Alert::ERROR, __('You made some mistake'));
}
Request::current()->redirect(Route::url('profile', array('seoname' => $user->seoname)));
}
}
示例3: add_topic_reply
/**
* add a repply to a topic
* @param Model_Post $topic
* @param Model_Forum $forum
*/
public function add_topic_reply(Model_Post $topic, Model_Forum $forum)
{
//if loged in add styles and check for post
if (Auth::instance()->logged_in()) {
$this->template->styles = array('css/jquery.sceditor.min.css' => 'screen');
$this->template->scripts['footer'] = array('js/jquery.sceditor.min.js?v=144', 'js/jquery.sceditor.bbcode.min.js', 'js/forum-new.js');
$errors = NULL;
if ($this->request->post()) {
//captcha check
if (captcha::check('new-reply-topic')) {
$user = Auth::instance()->get_user();
//akismet spam filter
if (!core::akismet($user->name, $user->email, core::post('description'))) {
$validation = Validation::factory($this->request->post())->rule('description', 'not_empty')->rule('description', 'max_length', array(':value', 1000))->rule('description', 'min_length', array(':value', 5));
if ($validation->check()) {
$reply = new Model_Post();
$reply->id_user = $user->id_user;
$reply->id_forum = $forum->id_forum;
$reply->id_post_parent = $topic->id_post;
$reply->title = mb_substr(core::post('description'), 0, 145);
$reply->seotitle = $reply->gen_seotitle($reply->title);
$reply->description = Text::banned_words(core::post('description'));
$reply->status = Model_Post::STATUS_ACTIVE;
$reply->ip_address = ip2long(Request::$client_ip);
$reply->save();
//set empty since they already replied
Request::current()->post('description', '');
Alert::set(Alert::SUCCESS, __('Reply added, thanks!'));
} else {
$errors = $validation->errors('ad');
}
} else {
Alert::set(Alert::ERROR, __('This email has been considered as spam! We are sorry but we can not send this email.'));
}
} else {
Alert::set(Alert::ERROR, __('Check the form for errors'));
}
}
return $errors;
}
}
示例4: new_ad
/**
* creates a new ad
* @param array $data
* @param model_user $user
* @return array
*/
public static function new_ad($data, $user)
{
$return_message = '';
$checkout_url = '';
//akismet spam filter
if (isset($data['title']) and isset($data['description']) and core::akismet($data['title'], $user->email, $data['description']) == TRUE) {
// is user marked as spammer? Make him one :)
if (core::config('general.black_list')) {
$user->user_spam();
}
return array('error' => __('This post has been considered as spam! We are sorry but we can not publish this advertisement.'), 'error_type' => Alert::ALERT);
}
//akismet
$ad = new Model_Ad();
$ad->id_user = $user->id_user;
$ad->values($data);
$ad->seotitle = $ad->gen_seo_title($ad->title);
$ad->created = Date::unix2mysql();
try {
$ad->save();
} catch (ORM_Validation_Exception $e) {
return array('validation_errors' => $e->errors('ad'));
} catch (Exception $e) {
return array('error' => $e->getMessage(), 'error_type' => Alert::ALERT);
}
/////////// NOTIFICATION Emails,messages to user and Status of the ad
// depending on user flow (moderation mode), change usecase
$moderation = core::config('general.moderation');
//calculate how much he needs to pay in case we have payment on
if ($moderation == Model_Ad::PAYMENT_ON or $moderation == Model_Ad::PAYMENT_MODERATION) {
// check category price, if 0 check parent
if ($ad->category->price == 0) {
$cat_parent = new Model_Category($ad->category->id_category_parent);
//category without price
if ($cat_parent->price == 0) {
//swapping moderation since theres no price :(
if ($moderation == Model_Ad::PAYMENT_ON) {
$moderation = Model_Ad::POST_DIRECTLY;
} elseif ($moderation == Model_Ad::PAYMENT_MODERATION) {
$moderation = Model_Ad::MODERATION_ON;
}
} else {
$amount = $cat_parent->price;
}
} else {
$amount = $ad->category->price;
}
}
//where and what we say to the user depending ont he moderation
switch ($moderation) {
case Model_Ad::PAYMENT_ON:
case Model_Ad::PAYMENT_MODERATION:
$ad->status = Model_Ad::STATUS_NOPUBLISHED;
$order = Model_Order::new_order($ad, $user, Model_Order::PRODUCT_CATEGORY, $amount, NULL, Model_Order::product_desc(Model_Order::PRODUCT_CATEGORY) . ' ' . $ad->category->name);
// redirect to invoice
$return_message = __('Please pay before we publish your advertisement.');
$checkout_url = Route::url('default', array('controller' => 'ad', 'action' => 'checkout', 'id' => $order->id_order));
break;
case Model_Ad::EMAIL_MODERATION:
case Model_Ad::EMAIL_CONFIRMATION:
$ad->status = Model_Ad::STATUS_UNCONFIRMED;
$url_ql = $user->ql('oc-panel', array('controller' => 'myads', 'action' => 'confirm', 'id' => $ad->id_ad));
$user->email('ads-confirm', array('[URL.QL]' => $url_ql, '[AD.NAME]' => $ad->title));
$return_message = __('Advertisement is posted but first you need to activate. Please check your email!');
break;
case Model_Ad::MODERATION_ON:
$ad->status = Model_Ad::STATUS_NOPUBLISHED;
$url_ql = $user->ql('oc-panel', array('controller' => 'myads', 'action' => 'update', 'id' => $ad->id_ad));
$user->email('ads-notify', array('[URL.QL]' => $url_ql, '[AD.NAME]' => $ad->title));
// email to notify user of creating, but it is in moderation currently
$return_message = __('Advertisement is received, but first administrator needs to validate. Thank you for being patient!');
break;
case Model_Ad::POST_DIRECTLY:
default:
$ad->status = Model_Ad::STATUS_PUBLISHED;
$ad->published = $ad->created;
$url_cont = $user->ql('contact');
$url_ad = $user->ql('ad', array('category' => $ad->category->seoname, 'seotitle' => $ad->seotitle));
$user->email('ads-user-check', array('[URL.CONTACT]' => $url_cont, '[URL.AD]' => $url_ad, '[AD.NAME]' => $ad->title));
Model_Subscribe::notify($ad);
$return_message = __('Advertisement is posted. Congratulations!');
break;
}
//save the last changes on status
$ad->save();
//notify admins new ad
$ad->notify_admins();
return array('message' => $return_message, 'checkout_url' => $checkout_url, 'ad' => $ad);
}
示例5: action_userprofile_contact
public function action_userprofile_contact()
{
$user_to = new Model_User($this->request->param('id'));
//message to user
if ($user_to->loaded() and $this->request->post()) {
if (captcha::check('contact')) {
//check if user is loged in
if (Auth::instance()->logged_in()) {
$email_from = Auth::instance()->get_user()->email;
$name_from = Auth::instance()->get_user()->name;
} else {
$email_from = core::post('email');
$name_from = core::post('name');
}
//require login to contact
if (core::config('general.messaging') == TRUE and !Auth::instance()->logged_in()) {
Alert::set(Alert::INFO, __('Please, login before contacting'));
HTTP::redirect(Route::url('oc-panel'));
}
//akismet spam filter
if (!core::akismet($name_from, $email_from, core::post('message'))) {
if (core::config('general.messaging')) {
$ret = Model_Message::send_user(core::post('message'), $this->user, $user_to);
} else {
$ret = $user_to->email('user-profile-contact', array('[EMAIL.BODY]' => core::post('message'), '[EMAIL.SENDER]' => $name_from, '[EMAIL.SUBJECT]' => core::post('subject'), '[EMAIL.FROM]' => $email_from), $email_from, $name_from);
}
//if succesfully sent
if ($ret) {
Alert::set(Alert::SUCCESS, __('Your message has been sent'));
} else {
Alert::set(Alert::ERROR, __('Message not sent'));
}
} else {
Alert::set(Alert::SUCCESS, __('This email has been considered as spam! We are sorry but we can not send this email.'));
}
} else {
Alert::set(Alert::ERROR, __('Captcha is not correct'));
}
HTTP::redirect(Route::url('profile', array('seoname' => $user_to->seoname)));
}
}
示例6: action_userprofile_contact
public function action_userprofile_contact()
{
$user = new Model_User($this->request->param('id'));
//message to user
if ($user->loaded() and $this->request->post()) {
if (captcha::check('contact')) {
//check if user is loged in
if (Auth::instance()->logged_in()) {
$email_from = Auth::instance()->get_user()->email;
$name_from = Auth::instance()->get_user()->name;
} else {
$email_from = core::post('email');
$name_from = core::post('name');
}
//akismet spam filter
if (!core::akismet($name_from, $email_from, core::post('message'))) {
if (core::config('general.messaging')) {
$ret = Model_Message::send_user(core::post('message'), $this->user->id_user, $user->id_user);
if ($ret !== FALSE) {
$user->email('messaging-user-contact', array('[FROM.NAME]' => $this->user->name, '[TO.NAME]' => $user->name, '[DESCRIPTION]' => core::post('message'), '[URL.QL]' => $user->ql('oc-panel', array('controller' => 'messages', 'action' => 'message', 'id' => $ret->id_message))));
}
} else {
$ret = $user->email('user-profile-contact', array('[EMAIL.BODY]' => core::post('message'), '[EMAIL.SENDER]' => $name_from, '[EMAIL.SUBJECT]' => core::post('subject'), '[EMAIL.FROM]' => $email_from), $email_from, core::post('name'));
}
//if succesfully sent
if ($ret) {
Alert::set(Alert::SUCCESS, __('Your message has been sent'));
} else {
Alert::set(Alert::ERROR, __('Message not sent'));
}
} else {
Alert::set(Alert::SUCCESS, __('This email has been considered as spam! We are sorry but we can not send this email.'));
}
} else {
Alert::set(Alert::ERROR, __('Captcha is not correct'));
}
HTTP::redirect(Route::url('profile', array('seoname' => $user->seoname)));
}
}
示例7: save_new_ad
/**
* [save_new_ad Save new advertisement if validated, with a given parameters
*
* @param [array] $data [post values]
* @param [int] $status [status of advert.]
* @param [bool] $published [Confirms if advert is published. ref to model_ad]
* @param [int] $moderation [moderation status/mode]
*
* @return [view] View dependant on usecase
*/
public function save_new_ad($data, $status, $published, $moderation)
{
$user = new Model_User();
$new_ad = new Model_Ad();
//$_POST is submitted for a new ad
if ($this->request->post()) {
if (captcha::check('publish_new')) {
//FORM DATA
$seotitle = $new_ad->gen_seo_title($data['title']);
$new_ad->title = Model_Ad::banned_words($data['title']);
$new_ad->id_location = $data['loc'];
$new_ad->id_category = $data['cat'];
$new_ad->description = Model_Ad::banned_words($data['description']);
$new_ad->seotitle = $seotitle;
$new_ad->status = $status;
$new_ad->price = floatval(str_replace(',', '.', $data['price']));
$new_ad->address = $data['address'];
$new_ad->phone = $data['phone'];
$new_ad->website = $data['website'];
// set custom values
foreach ($data as $name => $field) {
// get only custom values with prefix
if (strpos($name, 'cf_') !== false) {
$new_ad->{$name} = $field;
}
}
// d($data);
// User detection, if doesnt exists create
$auth_user = Auth::instance();
if (!$auth_user->logged_in()) {
$name = core::post('name');
$email = core::post('email');
$user_id = $user->create_new_user($name, $email);
} else {
$user_id = $auth_user->get_user()->id_user;
$name = $auth_user->get_user()->name;
$email = $auth_user->get_user()->email;
}
// SAVE AD
$new_ad->id_user = $user_id;
// after handling user
try {
//akismet spam filter
if (!core::akismet(Model_Ad::banned_words($data['title']), $email, Model_Ad::banned_words($data['description']))) {
if ($moderation == Model_Ad::EMAIL_MODERATION or $moderation == Model_Ad::EMAIL_CONFIRMATION) {
$new_ad->status = Model_Ad::STATUS_UNCONFIRMED;
}
$new_ad->save();
} else {
Alert::set(Alert::SUCCESS, __('This post has been considered as spam! We are sorry but we cant publish this advertisement.'));
$this->request->redirect('default');
}
//akismet
// if moderation is off update db field with time of creation
if ($published) {
$_ad_published = new Model_Ad();
$_ad_published->where('seotitle', '=', $seotitle)->limit(1)->find();
$_ad_published->published = $_ad_published->created;
$_ad_published->save();
$created = $_ad_published->created;
} else {
$created = new Model_Ad();
$created = $created->where('seotitle', '=', $seotitle)->limit(1)->find();
$created = $created->created;
}
$user = $user->where('email', '=', $email)->limit(1)->find();
// after successful posting send them email depending on moderation
if ($moderation == Model_Ad::EMAIL_CONFIRMATION or $moderation == Model_Ad::EMAIL_MODERATION) {
$edit_url = core::config('general.base_url') . 'oc-panel/profile/update/' . $new_ad->id_ad;
$delete_url = core::config('general.base_url') . 'oc-panel/ad/delete/' . $new_ad->id_ad;
//we get the QL, and force the regen of token for security
$url_ql = $user->ql('default', array('controller' => 'ad', 'action' => 'confirm_post', 'id' => $new_ad->id_ad), TRUE);
$ret = $user->email('ads.confirm', array('[URL.QL]' => $url_ql, '[AD.NAME]' => $new_ad->title, '[URL.EDITAD]' => $edit_url, '[URL.DELETEAD]' => $delete_url));
} elseif ($moderation == Model_Ad::MODERATION_ON) {
$edit_url = core::config('general.base_url') . 'oc-panel/profile/update/' . $new_ad->id_ad;
$delete_url = core::config('general.base_url') . 'oc-panel/ad/delete/' . $new_ad->id_ad;
//we get the QL, and force the regen of token for security
$url_ql = $user->ql('oc-panel', array('controller' => 'profile', 'action' => 'update', 'id' => $new_ad->id_ad), TRUE);
$ret = $user->email('ads.notify', array('[URL.QL]' => $url_ql, '[AD.NAME]' => $new_ad->title, '[URL.EDITAD]' => $edit_url, '[URL.DELETEAD]' => $delete_url));
// email to notify user of creating, but it is in moderation currently
} elseif ($moderation == Model_Ad::POST_DIRECTLY) {
$edit_url = core::config('general.base_url') . 'oc-panel/profile/update/' . $new_ad->id_ad;
$delete_url = core::config('general.base_url') . 'oc-panel/ad/delete/' . $new_ad->id_ad;
$url_cont = $user->ql('contact', array(), TRUE);
$url_ad = $user->ql('ad', array('category' => $data['cat'], 'seotitle' => $seotitle), TRUE);
$ret = $user->email('ads.user_check', array('[URL.CONTACT]' => $url_cont, '[URL.AD]' => $url_ad, '[AD.NAME]' => $new_ad->title, '[URL.EDITAD]' => $edit_url, '[URL.DELETEAD]' => $delete_url));
}
// new ad notification email to admin (notify_email), if set to TRUE
if (core::config('email.new_ad_notify')) {
$url_ad = $user->ql('ad', array('category' => $data['cat'], 'seotitle' => $seotitle), TRUE);
//.........这里部分代码省略.........