functions.php 3.17 KB
Newer Older
1 2 3 4 5 6 7
<?php

if (!defined('QA_VERSION')) { // don't allow this page to be requested directly from browser
      header('Location: ../../');
      exit;
}

Amiya Sahu's avatar
Amiya Sahu committed
8
function ami_reset_all_notification_options() {
9 10 11 12 13
      qa_opt('ami_email_notf_allow_cat_follower',  false);
      qa_opt('ami_email_notf_allow_tag_follower',  false);
      qa_opt('ami_email_notf_allow_user_follower', false);
      qa_opt('ami_email_notf_min_point',           false);
      qa_opt('ami_email_notf_min_point_val',       false);
14 15
}

Amiya Sahu's avatar
Amiya Sahu committed
16
function ami_reset_all_notification_points_options() {
17 18
      qa_opt('ami_email_notf_min_point',     false);
      qa_opt('ami_email_notf_min_point_val', false);
19 20
}

Amiya Sahu's avatar
Amiya Sahu committed
21
function ami_set_all_notification_options() {
22 23 24

      $error = array();
      //if plugin is enabled then atlest one option has to be enabled 
Amiya Sahu's avatar
Amiya Sahu committed
25
      if (ami_options_selected()) {
26 27 28 29
            qa_opt('ami_email_notf_allow_cat_follower',  !!qa_post_text('ami_email_notf_allow_cat_follower'));
            qa_opt('ami_email_notf_allow_tag_follower',  !!qa_post_text('ami_email_notf_allow_tag_follower'));
            qa_opt('ami_email_notf_allow_user_follower', !!qa_post_text('ami_email_notf_allow_user_follower'));
            $minimum_user_point_option = !!qa_post_text('ami_email_notf_min_point');
30
            if ($minimum_user_point_option) { //if minimum point option is checked 
31
                  $minimum_user_point_value = qa_post_text('ami_email_notf_min_point_val');
Amiya Sahu's avatar
Amiya Sahu committed
32 33
                  if (!!$minimum_user_point_value && is_numeric($minimum_user_point_value) && $minimum_user_point_value > 0) { 
                        //if the minimum point value is provided then only set else reset
34 35
                        qa_opt('ami_email_notf_min_point', $minimum_user_point_option);
                        qa_opt('ami_email_notf_min_point_val', (int) $minimum_user_point_value);
Amiya Sahu's avatar
Amiya Sahu committed
36 37
                  } else if (!!$minimum_user_point_value && (!is_numeric($minimum_user_point_value) || $minimum_user_point_value <= 0)) {
                        // the minimum_user_point_value is set but the value is not valid
Amiya Sahu's avatar
Amiya Sahu committed
38
                        ami_reset_all_notification_points_options();
39
                        //send a error message to UI 
Amiya Sahu's avatar
Amiya Sahu committed
40
                        $error['enter_point_value'] = qa_lang('notify/point_value_should_numeric');
41
                  } else {
Amiya Sahu's avatar
Amiya Sahu committed
42
                        ami_reset_all_notification_points_options();
43
                        //send a error message to UI 
Amiya Sahu's avatar
Amiya Sahu committed
44
                        $error['enter_point_value'] = qa_lang('notify/point_value_required'); ;
45 46
                  }
            } else {
Amiya Sahu's avatar
Amiya Sahu committed
47
                  ami_reset_all_notification_points_options();
48 49 50
            }
      } else {
            //if none of the elements are selected disable the plugin and send a error message UI 
51
            qa_opt('ami_email_notf_enable_plugin', false);
Amiya Sahu's avatar
Amiya Sahu committed
52
            ami_reset_all_notification_options();
Amiya Sahu's avatar
Amiya Sahu committed
53
            $error['no_options_selected'] = qa_lang('notify/choose_atleast_one_opt');
54 55 56 57
      }
      return $error;
}

Amiya Sahu's avatar
Amiya Sahu committed
58
function ami_options_selected() {
59 60 61
      return ((!!qa_post_text('ami_email_notf_allow_cat_follower')) ||
              (!!qa_post_text('ami_email_notf_allow_tag_follower')) ||
              (!!qa_post_text('ami_email_notf_allow_user_follower')) );
62
}