public function execute() { if ($blog_id = waRequest::post('blog_id')) { $model = new blogEmailsubscriptionModel(); if (waRequest::post('subscribe')) { $model->insert(array('blog_id' => $blog_id, 'contact_id' => wa()->getUser()->getId(), 'status' => 1, 'datetime' => date('Y-m-d H:i:s')), 1); } else { $model->deleteByField(array('blog_id' => $blog_id, 'contact_id' => wa()->getUser()->getId())); } } }
public function blogAction($params) { if (!empty($params['blog'])) { $blog_id = $params['blog']['id']; $model = new blogEmailsubscriptionModel(); $subscribed = $model->getByField(array('blog_id' => $blog_id, 'contact_id' => wa()->getUser()->getId())); /** * @deprecated * For backward compatibility reason */ $cron_schedule_time = waSystem::getSetting('cron_schedule', 0, 'blog'); $last_emailsubscription_cron_time = waSystem::getSetting('last_emailsubscription_cron_time', 0, array('blog', 'emailsubscription')); if (!$cron_schedule_time && !$last_emailsubscription_cron_time) { $msg = sprintf(_wp('WARNING: Email subscription works only if Cron scheduled task for the Blog app is properly configured (%s), and it appears that Cron was not setup for your Webasyst installation yet. Please contact your server administrator, or follow instructions given in the Plugins > Email subscription page of the Blog app. Click OK to subscribe anyway (subscription will be enabled, but will start to work only when Cron is enabled).'), 'cli.php blog emailsubscription'); $confirm_subscribe = "\n if (\$(this).is(':checked') && !confirm('" . $msg . "')) { \n \$(this).iButton('toggle', false);\n return false;\n }\n subscribe();\n "; } else { $confirm_subscribe = "subscribe();"; } $html = '<div class="b-ibutton-checkbox"> <ul class="menu-h"> <li style="margin-top: -3px;"><input type="checkbox" id="blog-emailsubscription-checkbox"' . ($subscribed ? ' checked="checked"' : '') . '></li> <li style="margin-top: -4px; padding-left: 0.3em; padding-right: 0.3em;"><span id="blog-emailsubscription-status"' . (!$subscribed ? ' class="b-unselected"' : '') . '>' . _wp('Email alerts') . '</span></li> </ul> </div> <script> $("#blog-emailsubscription-checkbox").iButton({ labelOn: "", labelOff: "", classContainer: "ibutton-container mini" }).change(function () { if ($(this).is(":checked")) { $("#blog-emailsubscription-status").removeClass("b-unselected"); } else { $("#blog-emailsubscription-status").addClass("b-unselected"); } var that = this; function subscribe() { $.post("?plugin=emailsubscription&module=subscribe", {blog_id:' . $blog_id . ', subscribe: $(that).is(":checked") ? 1 : 0}, function () { }, "json"); } ' . $confirm_subscribe . ' }); </script>'; return array('menu' => $html); } }
public function blogAction($params) { if (!empty($params['blog'])) { $blog_id = $params['blog']['id']; $model = new blogEmailsubscriptionModel(); $subscribed = $model->getByField(array('blog_id' => $blog_id, 'contact_id' => wa()->getUser()->getId())); $html = '<div class="b-ibutton-checkbox"> <ul class="menu-h"> <li style="margin-top: -3px;"><input type="checkbox" id="blog-emailsubscription-checkbox"' . ($subscribed ? ' checked="checked"' : '') . '></li> <li style="margin-top: -4px; padding-left: 0.3em; padding-right: 0.3em;"><span id="blog-emailsubscription-status"' . (!$subscribed ? ' class="b-unselected"' : '') . '>' . _wp('Email alerts') . '</span></li> </ul> </div> <script> $("#blog-emailsubscription-checkbox").iButton({ labelOn: "", labelOff: "", classContainer: "ibutton-container mini" }).change(function () { if ($(this).is(":checked")) { $("#blog-emailsubscription-status").removeClass("b-unselected"); } else { $("#blog-emailsubscription-status").addClass("b-unselected"); } $.post("?plugin=emailsubscription&module=subscribe", {blog_id:' . $blog_id . ', subscribe: $(this).is(":checked") ? 1 : 0}, function () { }, "json"); }); </script>'; return array('menu' => $html); } }