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);
        }
    }