You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
information-system/author/models/infoSMS_model.php

163 lines
4.1 KiB
PHP

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?php
class InfoSMS_model extends CI_Model
{
var $insert_id = -1;
var $top_num=false;
var $order_by = false;
var $m_object_type = false;
var $m_object_id = false;
var $m_readed = false;
var $m_receiver = false;
function __construct()
{
parent::__construct();
$this->HT = $this->load->database('HT', TRUE);
}
function init()
{
$this->top_num=false;
$this->order_by=" ORDER BY i.m_id DESC ";
$this->m_object_type = false;
$this->m_object_id = false;
$this->m_readed = false;
$this->m_receiver = false;
}
//??ȡ?????Ķ????б?
function get_task_sms($t_id)
{
$this->init();
$this->m_object_type = " AND m_object_type='task' ";
$this->m_object_id = " AND m_object_id= ".$this->HT->escape($t_id);
$this->order_by=" ORDER BY i.m_id DESC ";
return $this->get_list();
}
//?????Ѷ?
function readed($m_id)
{
$sql = "UPDATE infosms \n"
. "SET m_readed = 1 \n"
. "WHERE m_id = ?";
return $this->HT->query($sql,array($m_id));
}
//??ȡδ??????Ϣ
function unread_sms($m_object_type,$m_object_id)
{
$this->init();
$this->m_object_type = " AND m_object_type=".$this->HT->escape($m_object_type);
$this->m_object_id = " AND m_object_id= ".$this->HT->escape($m_object_id);
$this->m_readed=" AND m_readed=0 ";
return $this->get_list();
}
//获取作者平台所有的未读信息
public function all_unread_sms($m_receiver,$m_object_type='task'){
$sql = "SELECT m_object_id,
t_title
FROM infosms
INNER JOIN infoTasks ON m_object_id=t_id
WHERE m_object_type=?
AND m_receiver= '$m_receiver'
AND m_readed=0
AND t_delete=0
ORDER BY m_datetime DESC";
$query=$this->HT->query($sql,array($m_object_type));
$result=$query->result();
$sms=array();
$num=count($result);
if (!empty($result)) {
foreach ($result as $v) {
$sms[$v->m_object_id][]=$v;
}
}
$unread_sms['sms_count']=$num;
$unread_sms['sms']=$sms;
return $unread_sms;
}
function add($m_object_type,$m_object_id,$m_receiver,$m_sender,$m_content)
{
$sql = "INSERT INTO infosms \n"
. " ( \n"
. " m_object_type, \n"
. " m_object_id, \n"
. " m_receiver, \n"
. " m_sender, \n"
. " m_content, \n"
. " m_readed, \n"
. " m_datetime \n"
. " ) \n"
. "VALUES \n"
. " ( \n"
. " ?, \n"
. " ?, \n"
. " ?, \n"
. " ?, \n"
. " N?, \n"
. " 0, \n"
. " GETDATE() \n"
. " )";
return $this->HT->query($sql, array($m_object_type,$m_object_id,$m_receiver,$m_sender,$m_content));
}
function get_list()
{
$this->top_num ? $sql = "SELECT TOP " . $this->top_num : $sql = "SELECT ";
$sql .= " i.m_id, \n"
. " i.m_object_type, \n"
. " i.m_object_id, \n"
. " i.m_receiver, \n"
. " i.m_sender, \n"
. " i.m_readed, \n"
. " i.m_content, \n"
. " i.m_datetime \n"
. "FROM infosms i \n"
. "WHERE 1 = 1";
$this->m_object_type ? $sql.=$this->m_object_type : false;
$this->m_object_id ? $sql.=$this->m_object_id : false;
$this->m_receiver ? $sql.=$this->m_receiver : false;
$this->m_readed ? $sql.=$this->m_readed : false;
$this->order_by ? $sql.=$this->order_by : false;
$query=$this->HT->query($sql);
if($this->top_num==1)
{
if ($query->num_rows() > 0)
{
$row = $query->row();
return $row;
}
else
{
return FALSE;
}
}
else
{
return $query->result();
}
}
/*
* ?????ʼ?
*/
function send_mail($fromName, $fromEmail, $toName, $toEmail, $subject, $body) {
$sql = "INSERT INTO Email_AutomaticSend \n"
. " ( \n"
. " M_ReplyToName, M_ReplyToEmail, M_ToName, M_ToEmail, M_Title, M_Body, M_Web, \n"
. " M_FromName, M_State \n"
. " ) \n"
. "VALUES \n"
. " ( \n"
. " ?, ?, ?, ?, ?, ?, ?, ?, 0 \n"
. " ) ";
$query = $this->HT->query($sql, array($fromName, $fromEmail, $toName, $toEmail, $subject, $body, 'info', 'ChinaHighlights Online Writers Platform'));
return $query;
}
}