Esempio n. 1
0
    /**
     * Handles SMS Settings
     */
    function sms()
    {
        $this->template->content = new View('admin/sms');
        $this->template->content->title = Kohana::lang('ui_admin.settings');

        // setup and initialize form field names
        $form = array
        (
            'sms_provider' => '',
			'sms_no1' => '',
            'sms_no2' => '',
            'sms_no3' => ''
        );
        //  Copy the form as errors, so the errors will be stored with keys
        //  corresponding to the form field names
        $errors = $form;
        $form_error = FALSE;
        $form_saved = FALSE;

        // check, has the form been submitted, if so, setup validation
        if ($_POST)
        {
            // Instantiate Validation, use $post, so we don't overwrite $_POST
            // fields with our own things
            $post = new Validation($_POST);

            // Add some filters
            $post->pre_filter('trim', TRUE);

            // Add some rules, the input field, followed by a list of checks, carried out in order

            $post->add_rules('sms_provider', 'length[1,100]');
			$post->add_rules('sms_no1', 'numeric', 'length[1,30]');
            $post->add_rules('sms_no2', 'numeric', 'length[1,30]');
            $post->add_rules('sms_no3', 'numeric', 'length[1,30]');

            // Test to see if things passed the rule checks
            if ($post->validate())
            {
                // Yes! everything is valid
                $settings = new Settings_Model(1);
                $settings->sms_provider = $post->sms_provider;
				$settings->sms_no1 = $post->sms_no1;
                $settings->sms_no2 = $post->sms_no2;
                $settings->sms_no3 = $post->sms_no3;
                $settings->date_modify = date("Y-m-d H:i:s",time());
                $settings->save();

				// Delete Settings Cache
                $this->cache->delete('settings');
                $this->cache->delete_tag('settings');

                // Everything is A-Okay!
                $form_saved = TRUE;

                // repopulate the form fields
                $form = arr::overwrite($form, $post->as_array());

            }

            // No! We have validation errors, we need to show the form again,
            // with the errors
            else
            {
                // repopulate the form fields
                $form = arr::overwrite($form, $post->as_array());

                // populate the error fields, if any
                $errors = arr::overwrite($errors, $post->errors('settings'));
                $form_error = TRUE;
            }
        }
        else
        {
            // Retrieve Current Settings
            $settings = ORM::factory('settings', 1);

            $form = array
            (
                'sms_provider' => $settings->sms_provider,
				'sms_no1' => $settings->sms_no1,
                'sms_no2' => $settings->sms_no2,
                'sms_no3' => $settings->sms_no3
            );
        }
		
        $this->template->content->form = $form;
        $this->template->content->errors = $errors;
        $this->template->content->form_error = $form_error;
        $this->template->content->form_saved = $form_saved;
		
		$this->template->content->sms_provider_array = array_merge(
			array("" => "-- Select One --"),
		 	plugin::get_sms_providers()
			);
    }
Esempio n. 2
0
 /**
  * Handles SMS Settings
  */
 public function sms()
 {
     $this->template->content = new View('admin/settings/sms');
     $this->template->content->title = Kohana::lang('ui_admin.settings');
     // setup and initialize form field names
     $form = array('sms_provider' => '', 'sms_no1' => '', 'sms_no2' => '', 'sms_no3' => '', 'sms_alert_url' => '');
     //	Copy the form as errors, so the errors will be stored with keys
     //	corresponding to the form field names
     $errors = $form;
     $form_error = FALSE;
     $form_saved = FALSE;
     // check, has the form been submitted, if so, setup validation
     if ($_POST) {
         // Instantiate Validation, use $post, so we don't overwrite $_POST
         // fields with our own things
         $post = new Validation($_POST);
         // Add some filters
         $post->pre_filter('trim', TRUE);
         // Add some rules, the input field, followed by a list of checks, carried out in order
         $post->add_rules('sms_provider', 'length[1,100]');
         $post->add_rules('sms_no1', 'numeric', 'length[1,30]');
         $post->add_rules('sms_no2', 'numeric', 'length[1,30]');
         $post->add_rules('sms_no3', 'numeric', 'length[1,30]');
         $post->add_rules('sms_alert_url', 'required', 'between[0,1]');
         // HT: new setting for url on sms
         // Test to see if things passed the rule checks
         if ($post->validate()) {
             if (!Settings_Model::get_setting('sms_alert_url')) {
                 Settings_Model::save_setting('sms_alert_url', $post->sms_alert_url);
             }
             // Yes! everything is valid
             Settings_Model::save_all($post);
             // Delete Settings Cache
             $this->cache->delete('settings');
             $this->cache->delete_tag('settings');
             // Everything is A-Okay!
             $form_saved = TRUE;
             // repopulate the form fields
             $form = arr::overwrite($form, $post->as_array());
         } else {
             // repopulate the form fields
             $form = arr::overwrite($form, $post->as_array());
             // populate the error fields, if any
             $errors = arr::overwrite($errors, $post->errors('settings'));
             $form_error = TRUE;
         }
     } else {
         $settings = Settings_Model::get_settings(array_keys($form));
         $settings['sms_alert_url'] = isset($settings['sms_alert_url']) ? $settings['sms_alert_url'] : 0;
         // HT: might not be in database so calling manually return NULL if not exist
         // Retrieve Current Settings
         $form = array('sms_provider' => $settings['sms_provider'], 'sms_no1' => $settings['sms_no1'], 'sms_no2' => $settings['sms_no2'], 'sms_no3' => $settings['sms_no3'], 'sms_alert_url' => $settings['sms_alert_url']);
     }
     $this->template->content->form = $form;
     $this->template->content->errors = $errors;
     $this->template->content->form_error = $form_error;
     $this->template->content->form_saved = $form_saved;
     $this->template->content->alert_url_array = array('1' => Kohana::lang('ui_admin.yes'), '0' => Kohana::lang('ui_admin.no'));
     $this->template->content->sms_provider_array = array_merge(array("" => "-- Select One --"), plugin::get_sms_providers());
 }