Advertisement
NFL

Это пиздец )

NFL
Jun 15th, 2011
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.03 KB | None | 0 0
  1. /**
  2.  * @param int $uid - Идентификатор пользователя
  3.  * @param int $pid - Идентификатор проекта
  4.  * @param mixed $type - Тип изменения (новая задача, новый заказ, изменение статуса задачи/проекта и др.)
  5.  * @param string $where - Тип оповещения (только если владелец, только если админ, не оповещать, всегда оповещать)
  6.  * @param int $tid - Идентификатор задачи (опционально)
  7.  */
  8. function NotifyUser($pid, $type, $where=null, $tid=null) {
  9.     /*
  10.      * $type = [add, addtask, ctask, cttask]
  11.      */
  12.     $message='';
  13.     $proj = getProjectInfo($pid);
  14.     if ($proj['team_id'] == 0) {
  15.         return -1;
  16.         /* Индивидуальный разработчик, система оповещений отключена */
  17.     }
  18.     if ($tid != null)
  19.         $task = getTask((int) $tid);
  20.     else
  21.         $task = FALSE;
  22.     $team_id = $proj['team_id'];
  23.     $list_team = mysql_query("SELECT * FROM users WHERE team_id = '$team_id'");
  24.     while ($_user = mysql_fetch_assoc($list_team)) {
  25.         $userid = $_user['id'];
  26.         $udata = getUserInfo($userid);
  27.         //echo '<pre>';
  28.         //var_dump($udata);
  29.         //echo '</pre>';
  30.         $icq_notify = $udata['user_notify']['icq_notify'];
  31.         $vk_notify = $udata['user_notify']['vk_notify'];
  32.         $email_notify = $udata['user_notify']['email_notify'];
  33.         if (($vk_notify) or ($icq_notify) or ($email_notify)) {
  34.             switch ($type) {
  35.                 case 'add':
  36.                     $message = '';
  37.                     $message.='В систему добавлен новый проект.' . chr(10) . chr(13);
  38.                     $message.='Добавил пользователь: ' . $user['user_data']['name'] . chr(10) . chr(13);
  39.                     $message.='ИНФОРМАЦИЯ О ПРОЕКТЕ' . chr(10) . chr(13);
  40.                     $message.='Название: ' . $proj['name'] . chr(10) . chr(13);
  41.                     $message.='Дата добавления: ' . $proj['created'] . chr(10) . chr(13);
  42.                     $message.='Описание проекта: ' . $proj['description'] . chr(10) . chr(13);
  43.                     $message.='Ccылка на ТЗ: ' . $proj['tz_link'] . chr(10) . chr(13);
  44.                     break;
  45.                 default :
  46.                     break;
  47.             }
  48.        
  49.             switch ($udata['user_notify']['notice_type']) {
  50.                 case 'if_admin':
  51.                     if ($userid == $proj['user_id']) {
  52.                         if ($icq_notify) {
  53.                             // var_dump($udata['user_data']['icq']);
  54.                             if (!empty($udata['user_data']['icq'])) {
  55.                                 echo $udata['user_data']['icq'];
  56.                                 $icq_obj = new WebIcqLite();
  57.                                 if ($icq_obj->connect(UIN, PASSWORD)) {
  58.                                     if (!$icq_obj->send_message($udata['user_data']['icq'], iconv('UTF-8', 'cp1251', $message))) {
  59.                                         echo $icq_obj->error;
  60.                                     }
  61.                                 }                                
  62.                             }
  63.                         }
  64.                         if ($email_notify) {
  65.                            
  66.                         }
  67.                         if ($vk_notify) {
  68.                            
  69.                         }
  70.                     }
  71.                     break;
  72.                 case 'if_worker':
  73.                     /**
  74.                      * TEAMS ARE UNDER CONSTRUCTION
  75.                      */
  76.                     break;
  77.                 case 'all':
  78.                     /**
  79.                      * TEAMS ARE UNDER CONSTRUCTION
  80.                      */
  81.                     break;
  82.                 default :
  83.                     return -1;
  84.             }
  85.         }
  86.     }
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement