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/webht/third_party/outlook/models/outlook_model.php

321 lines
11 KiB
PHP

<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Outlook_model extends CI_Model {
function __construct()
{
parent::__construct();
$this->HT = $this->load->database('HT', TRUE);
}
public function add_mail($data)
{
$sql="INSERT INTO webht_mail (
whm_subject,
whm_content,
whm_fromuser,
whm_touser,
whm_ccuser,
whm_createtime,
whm_value_key,
whm_identify
)
VALUES (N?,N?,?,?,?,?,?,?)";
$this->HT->query($sql, array($data['whm_subject'],$data['whm_content'],$data['whm_fromuser'],$data['whm_touser'],$data['whm_ccuser'],$data['whm_createtime'],$data['whm_value_key'],$data['whm_identify']));
return $this->HT->last_id('webht_mail');
}
public function add_value_user($data)
{
$sql="INSERT INTO webht_user_mail (
whum_whu_uname,
whum_whm_identify,
whum_createtime)
VALUES (?,?,?)";
$this->HT->query($sql, array($data['whum_whu_uname'],$data['whum_whm_identify'],$data['whum_createtime']));
return $this->HT->last_id('webht_user_mail');
}
public function add_like($data)
{
$sql="INSERT INTO webht_comment (
whc_type,
whc_whm_identify,
whc_uid,
whc_content,
whc_createtime)
VALUES (?,?,?,?,?)";
$this->HT->query($sql, array($data['whc_type'],$data['whc_whm_identify'],$data['whc_uid'],$data['whc_content'],$data['whc_createtime']));
return $this->HT->last_id('webht_comment');
}
public function get_comment_list($whc_whm_identify,$whc_type='comment',$order='ASC',$whc_uid=false)
{
$map_order=" ORDER BY whc_createtime ASC ";
if ($order!='ASC') {
$map_order=" ORDER BY whc_createtime DESC ";
}
if ($whc_uid) {
$map_order= " AND whc_uid='$whc_uid' ".$map_order;
}
$sql=" SELECT whc_id,
whc_type,
whc_whm_identify,
whc_content,
whc_createtime,
whu_uid,
whu_uname,
whu_email
FROM webht_comment
LEFT JOIN webht_user ON whc_uid=whu_uid
WHERE whc_type=? AND
whc_whm_identify=?
$map_order ";
$query = $this->HT->query($sql, array($whc_type,$whc_whm_identify));
$result=$query->result();
return $result;
}
public function get_space_comment($user,$user_sn,$whc_type,$get_count=false)
{
$map_sql="";
if ($whc_type!='all') {
$map_sql=" AND whc_type='$whc_type' ";
}
$order_sql=" ORDER BY whc_createtime DESC ";
$filed_str='whc_id,whc_type,whc_whm_identify,whc_content,whc_createtime,whu_uid,whu_uname,whu_email,whm_subject,whm_fromuser,whm_createtime';
if ($get_count) {
$filed_str='count(whc_id) as count';
$order_sql='';
}
$sql=" SELECT $filed_str
FROM webht_comment
LEFT JOIN webht_user ON whu_uid=whc_uid
LEFT JOIN webht_user_mail ON whum_whm_identify=whc_whm_identify
LEFT JOIN webht_mail ON whum_whm_identify=whm_identify
WHERE (whum_whu_uname=? or whc_whm_identify=?)
$map_sql
$order_sql";
$query = $this->HT->query($sql, array($user,$user_sn));
$result=$query->result();
return $result;
}
public function get_comment_count($whc_whm_identify,$whc_type=false,$whc_uid=false)
{
$maptype='';
if ($whc_type) {
$maptype=" AND whc_type='$whc_type' ";
}
$mapuid='';
if ($whc_uid) {
$mapuid=" AND whc_uid=$whc_uid ";
}
$today=strtotime(date('Y-m-d 00:00:00',time()));
$sql=" SELECT count(whc_id) as count
FROM webht_comment
WHERE whc_whm_identify=? AND whc_createtime>? $maptype $mapuid";
$query = $this->HT->query($sql, array($whc_whm_identify,$today));
$result=$query->result();
return $result[0]->count;
}
public function get_mail_text($whm_identify)
{
$sql=" SELECT whm_content,
whm_subject,
whm_fromuser,
whm_createtime,
whm_identify
FROM webht_mail
WHERE whm_identify=?";
$query = $this->HT->query($sql, array($whm_identify));
$result=$query->result();
if ($result) {
$result=$result[0];
}
return $result;
}
public function get_webhtuser_by_ip($ip,$filed='whu_uid')
{
$sql="SELECT $filed FROM webht_user WHERE whu_ip=?";
$query = $this->HT->query($sql, array($ip));
$result=$query->result();
if ($result) {
if ($filed=='*') {
$result=$result[0];
}else{
$result=$result[0]->$filed;
}
}
return $result;
}
public function get_webhtuser_by_name($uname,$filed='whu_uid')
{
$sql="SELECT $filed FROM webht_user WHERE whu_uname=?";
$query = $this->HT->query($sql, array($uname));
$result=$query->result();
if ($result) {
if ($filed=='*') {
$result=$result[0];
}else{
$result=$result[0]->$filed;
}
}
return $result;
}
public function get_webhtuser_by_filed($mapfiled,$map,$filed='whu_uid')
{
$sql="SELECT $filed FROM webht_user WHERE $mapfiled=?";
$query = $this->HT->query($sql, array($map));
$result=$query->result();
if ($result) {
if ($filed=='*') {
$result=$result[0];
}else{
$result=$result[0]->$filed;
}
}
return $result;
}
public function is_liked($data)
{
$sql="SELECT whc_id
FROM webht_comment
WHERE whc_type=?
AND whc_whm_identify=?
AND whc_uid=?";
$query = $this->HT->query($sql, array($data['whc_type'],$data['whc_whm_identify'],$data['whc_uid']));
$result=$query->result();
return $result;
}
public function get_value_rank($from_date,$to_date,$valuetype){
$valuetype_sql=" AND whm_value_key!=''";
if ($valuetype) {
$valuetype_sql=" AND whm_value_key like '%$valuetype%'";
}
$sql="SELECT whum_whu_uname,
COUNT(0) as like_count
FROM webht_comment
LEFT JOIN webht_user_mail ON whc_whm_identify=whum_whm_identify
LEFT JOIN webht_mail ON whm_identify=whc_whm_identify
WHERE whc_type!='unlike' AND
whm_value_key!='' AND
whum_whu_uname!='' AND
whm_createtime BETWEEN '$from_date' AND '$to_date'
$valuetype_sql
GROUP BY whum_whu_uname
ORDER BY like_count DESC";
$query = $this->HT->query($sql);
$result=$query->result();
return $result;
}
public function get_person_rank($from_date=false,$to_date=false){
$datesql="";
if ($from_date) {
$datesql=" AND whc_createtime BETWEEN '$from_date' AND '$to_date' ";
}
$sql="SELECT TOP 15
whu_uname,
whu_email,
COUNT(whc_id) as like_count
FROM webht_comment
LEFT JOIN webht_user_mail ON whc_whm_identify=whum_whm_identify
LEFT JOIN webht_user ON (whu_uname=whum_whu_uname or whu_email=whc_whm_identify+'@citsguilin.com')
WHERE whc_type='like' AND whu_uname is not null
$datesql
GROUP BY whu_uname,whu_email
ORDER BY like_count DESC";
$query = $this->HT->query($sql);
$result=$query->result();
return $result;
}
public function get_rank_mail($from_date,$to_date,$valuetype){
$valuetype_sql="";
if ($valuetype) {
$valuetype_sql=" AND whm_value_key like '%$valuetype%'";
}
$sql="SELECT whm_id,
whm_subject,
whm_fromuser,
whm_content,
whm_createtime,
whm_value_key,
whum_whu_uname,
whm_identify
FROM webht_mail
LEFT JOIN webht_user_mail ON whm_identify=whum_whm_identify
WHERE whm_createtime BETWEEN '$from_date' AND '$to_date'
AND whm_value_key!=''
$valuetype_sql
ORDER BY whm_createtime ASC";
$query = $this->HT->query($sql);
$result=$query->result();
return $result;
}
public function verify_user($whu_uname,$whu_ip){
$query_sql="SELECT * FROM webht_user WHERE whu_uname like '%$whu_uname%' ";
$query_result=$this->HT->query($query_sql);
$userdata=$query_result->result();
if (empty($userdata)) {
return '0';
}elseif (count($userdata)>1) {
return '2';
}else{
$sql="UPDATE webht_user SET whu_ip = '$whu_ip',whu_status=1 WHERE whu_uname like '%$whu_uname%' ";
$result = $this->HT->query($sql);//var_dump($this->HT->last_query());
return '1';
}
}
public function has_user($whu_uname){
$sql="SELECT * FROM webht_user WHERE whu_uname='$whu_uname' ";
$query = $this->HT->query($sql);
return $query->result();
}
public function user_list(){
$sql="SELECT * FROM webht_user";
$query = $this->HT->query($sql);
return $query->result();
}
public function delete_comment($whc_id)
{
$sql="DELETE FROM webht_comment WHERE whc_id=?";
$query=$this->HT->query($sql, array($whc_id));
return $query;
}
//每个价值观对应的被value次数最多的人
public function value_key_rank($whm_value_key)
{
$sql="SELECT TOP 10 whum_whu_uname,count(whum_id) as value_count
from webht_user_mail whum
left join webht_mail on whum_whm_identify=whm_identify
where whm_value_key!='' and whm_value_key like '%$whm_value_key%'
group by whum_whu_uname
order by value_count desc";
$query=$this->HT->query($sql);
return $query->result();
}
}