File: MY_Controller.php

package info (click to toggle)
kalkun 0.8.3.2-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 7,340 kB
  • sloc: php: 30,659; javascript: 30,443; sql: 961; sh: 766; xml: 105; makefile: 40
file content (110 lines) | stat: -rw-r--r-- 2,642 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?php
/**
 * Kalkun
 * An open source web based SMS Management
 *
 * @package		Kalkun
 * @author		Kalkun Dev Team
 * @license		https://spdx.org/licenses/GPL-2.0-or-later.html
 * @link		https://kalkun.sourceforge.io/
 */

// ------------------------------------------------------------------------

/**
 * MY_Controller Class
 *
 * Base controller
 *
 * @package		Kalkun
 * @subpackage	Base
 * @category	Controllers
 */
class MY_Controller  extends CI_Controller {

	/**
	 * Constructor
	 *
	 * @access	public
	 */
	function __construct($login = TRUE)
	{
		parent::__construct();

		// installation mode
		if (file_exists(FCPATH.'install'))
		{
			redirect('install');
		}

		$this->load->database();

		if ($login)
		{
			$this->load->library('session');
			// session check
			if ($this->session->userdata('loggedin') === NULL)
			{
				if ($this->input->post('idiom') !== NULL)
				{
					redirect('login?l='.$this->input->post('idiom'));
				}
				if ($this->input->get('l') !== NULL)
				{
					redirect('login?l='.$this->input->get('l'));
				}
				$this->session->set_flashdata('bef_login_post_data', $this->input->post());

				$request_uri_qry_string = parse_url($_SERVER['REQUEST_URI'], PHP_URL_QUERY);
				if ( ! empty($request_uri_qry_string))
				{
					$request_uri_qry_string = '?'.$request_uri_qry_string;
				}
				redirect('login?r_url='.urlencode(current_url().$request_uri_qry_string));
			}

			$this->load->model('Kalkun_model');

			// language
			$this->load->helper('i18n');
			$lang = $this->Kalkun_model->get_setting()->row('language');
			$this->lang->load('kalkun', $lang);
			$this->lang->load('date', $lang);

			// Message routine
			$this->_message_routine();
		}
	}

	function _message_routine()
	{
		$this->load->model('User_model');
		$this->load->model('Message_model');
		$uid = $this->session->userdata('id_user');

		$outbox = $this->Message_model->get_user_outbox($uid);
		foreach ($outbox->result() as $tmp)
		{
			$id_message = $tmp->id_outbox;

			// if still on outbox, means message not delivered yet
			if ($this->Message_model->get_messages(array('id_message' => $id_message, 'type' => 'outbox'))->num_rows() > 0)
			{
				// do nothing
			}
			// if exist on sentitems then update sentitems ownership, else delete user_outbox
			else
			{
				if ($this->Message_model->get_messages(array('id_message' => $id_message, 'type' => 'sentitems'))->num_rows() > 0)
				{
					$this->Message_model->insert_user_sentitems($id_message, $uid);
					$this->Message_model->delete_user_outbox($id_message);
				}
				else
				{
					$this->Message_model->delete_user_outbox($id_message);
				}
			}
		}
	}
}