Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 2024

Přidáno uživatelem Ondřej Fibich před více než 11 roky(ů)

Upravy:
- closes #415: Fronta e-mailu a seznam SMS jsou pomale

Zobrazit rozdíly:

freenetis/branches/1.1/application/controllers/email_queues.php
$filter_form = new Filter_form('eq');
$filter_form->add('from_user_name')
->label(__('User From'))
->label('User From')
->callback('json/user_fullname');
$filter_form->add('from')
->label(__('E-mail From'))
->label('E-mail From')
->callback('json/user_email');
$filter_form->add('to_user_name')
->label(__('User To'))
->label('User To')
->callback('json/user_fullname');
$filter_form->add('to')
->label(__('E-mail To'))
->label('E-mail To')
->callback('json/user_email');
$filter_form->add('subject');
$filter_form->add('access_time')
->type('date')
->label(__('Time'));
->label('Time');
// gets new selector
if (is_numeric($this->input->get('record_per_page')))
freenetis/branches/1.1/application/controllers/sms.php
$filter_form = new Filter_form('sms');
$filter_form->add('send_date')
->type('date')
->default(Filter_form::OPER_GREATER_OR_EQUAL, date('Y-m-d'));
->type('date');
$filter_form->add('sender')
->label('Telephone number of sender');
->label('Telephone number of sender')
->callback('json/user_phone');
$filter_form->add('receiver')
->label('Telephone number of receiver');
->label('Telephone number of receiver')
->callback('json/user_phone');
$model_sms_message = new Sms_message_Model();
freenetis/branches/1.1/application/libraries/MY_Controller.php
class Controller extends Controller_Core
{
/** @var integer */
const ICON_ERROR = 1;
const ICON_ERROR = 1;
/** @var integer */
const ICON_GOOD = 2;
/** @var integer */
......
'address_points/get_gps_by_address',
);
/** @var Profiler */
private $p;
/** @var unknown_type */
public $arr;
/** @var Setting_Model Settings */
......
protected $session;
/** @var $groups_aro_map Groups_aro_map_Model */
private $groups_aro_map;
/**
* Contruct of controller, creates singleton or return it
*/
......
self::$instance = $this;
}
}
/**
* Singleton instance of Controller.
*
freenetis/branches/1.1/application/models/bank_transfer.php
LEFT JOIN bank_accounts ba ON ba.id = bt.origin_id
$where
", array(Account_attribute_Model::MEMBER_FEES))->current()->total;
}
/**
......
return $this->db->query("
SELECT COUNT(srct.id) as total
FROM transfers srct
JOIN bank_transfers bt ON bt.transfer_id = srct.id
JOIN accounts a ON a.id = srct.origin_id
AND (srct.member_id = 0 OR srct.member_id IS NULL)
AND srct.member_id IS NULL
AND a.account_attribute_id = ?
JOIN bank_transfers bt ON bt.transfer_id = srct.id
", array(Account_attribute_Model::MEMBER_FEES))->current()->total;
}
/**
freenetis/branches/1.1/application/models/email_queue.php
$limit_from = 0, $limit_results = 50,
$order_by = 'id', $order_by_direction = 'ASC', $filter_sql='')
{
// filter
$where = "";
if ($filter_sql != '')
$where = "WHERE $filter_sql";
// args
$args = array(Contact_Model::TYPE_EMAIL, Contact_Model::TYPE_EMAIL, self::STATE_OK);
return $this->db->query("
SELECT * FROM
(
SELECT eq.id, eq.from, eq.to, eq.subject, eq.state, eq.access_time,
// sql body
$body = "SELECT eq.id, eq.from, eq.to, eq.subject, eq.state, eq.access_time,
fuc.user_id AS from_user_id,
CONCAT(fu.name,' ',fu.surname) AS from_user_name,
tuc.user_id AS to_user_id,
......
LEFT JOIN contacts tc ON eq.to = tc.value AND tc.type = ?
LEFT JOIN users_contacts tuc ON tc.id = tuc.contact_id
LEFT JOIN users tu ON tuc.user_id = tu.id
WHERE eq.state = ?
) eq
$where
GROUP BY eq.id
ORDER BY ".$this->db->escape_column($order_by)." $order_by_direction
LIMIT " . intval($limit_from) . "," . intval($limit_results) . "
", Contact_Model::TYPE_EMAIL, Contact_Model::TYPE_EMAIL, self::STATE_OK);
WHERE eq.state = ?";
// filter
if (empty($filter_sql))
{
return $this->db->query("
$body
GROUP BY eq.id
ORDER BY ".$this->db->escape_column($order_by)." $order_by_direction
LIMIT " . intval($limit_from) . "," . intval($limit_results) . "
", $args);
}
else
{
return $this->db->query("
SELECT * FROM ($body) eq
WHERE $filter_sql
GROUP BY eq.id
ORDER BY ".$this->db->escape_column($order_by)." $order_by_direction
LIMIT " . intval($limit_from) . "," . intval($limit_results) . "
", $args);
}
}
/**
freenetis/branches/1.1/application/models/sms_message.php
}
// query
return $this->db->query("
SELECT
sms.*, IFNULL(s.sender_id,0) AS sender_id, sender_name, sender_type,
r.*
FROM sms_messages sms
LEFT JOIN
(
SELECT
CONCAT(cu.country_code,c.value) AS value,
u.id AS sender_id,
CONCAT(u.surname,' ',u.name) AS sender_name,
IFNULL(e.value, m.type) AS sender_type
FROM contacts c
JOIN contacts_countries cc ON cc.contact_id = c.id
JOIN countries cu ON cc.country_id = cu.id
JOIN users_contacts uc ON uc.contact_id = c.id
JOIN users u ON uc.user_id = u.id
JOIN members m ON u.member_id = m.id
LEFT JOIN enum_types e ON m.type = e.id AND read_only = 0
WHERE c.type = ?
) s ON sms.sender LIKE s.value
LEFT JOIN
(
SELECT
CONCAT(cu.country_code,c.value) AS value,
u.id AS receiver_id,
CONCAT(u.surname,' ',u.name) AS receiver_name,
IFNULL(e.value, m.type) AS receiver_type
FROM contacts c
JOIN contacts_countries cc ON cc.contact_id = c.id
JOIN countries cu ON cc.country_id = cu.id
JOIN users_contacts uc ON uc.contact_id = c.id
JOIN users u ON uc.user_id = u.id
JOIN members m ON u.member_id = m.id
LEFT JOIN enum_types e ON m.type = e.id AND read_only = 0
WHERE c.type = ?
) r ON sms.receiver LIKE r.value
$where
GROUP BY sms.id
ORDER BY $order_by $order_by_direction
LIMIT ".intval($limit_from).", ".intval($limit_results)."
SELECT
sms.*,
u_s.id AS sender_id, u_r.id AS receiver_id,
CONCAT(u_s.surname, ' ', u_s.name) AS sender_name,
CONCAT(u_r.surname, ' ', u_r.name) AS receiver_name,
IFNULL(e_s.value, m_s.type) AS sender_type,
IFNULL(e_r.value, m_r.type) AS receiver_type
FROM sms_messages sms
LEFT JOIN contacts c_s ON c_s.type = ? AND INSTR(sms.sender, c_s.value) > 0
LEFT JOIN users_contacts uc_s ON uc_s.contact_id = c_s.id
LEFT JOIN users u_s ON uc_s.user_id = u_s.id
LEFT JOIN members m_s ON u_s.member_id = m_s.id
LEFT JOIN enum_types e_s ON m_s.type = e_s.id AND e_s.read_only = 0
LEFT JOIN contacts c_r ON c_r.type = ? AND INSTR(sms.receiver, c_r.value) > 0
LEFT JOIN users_contacts uc_r ON uc_r.contact_id = c_r.id
LEFT JOIN users u_r ON uc_r.user_id = u_r.id
LEFT JOIN members m_r ON u_r.member_id = m_r.id
LEFT JOIN enum_types e_r ON m_r.type = e_r.id AND e_r.read_only = 0
$where
GROUP BY sms.id
ORDER BY $order_by $order_by_direction
LIMIT ".intval($limit_from).", ".intval($limit_results)."
", array(Contact_Model::TYPE_PHONE, Contact_Model::TYPE_PHONE));
}
......
$where = 'WHERE ' . $filter_sql;
}
// Return the total number of records in a table
return $this->db->query("
SELECT COUNT(*) AS total
FROM sms_messages sms
$where
")->current()->total;
}
return $this->db->query("
SELECT COUNT(*) AS total
FROM sms_messages sms
$where
")->current()->total;
}
}

Také k dispozici: Unified diff