public static function addEntry($user, $id_user, $id_room) { $data = new StdClass(); $data->user = $user; $data->id_user = $id_user; $data->message = 'entered the room'; $data->id_room = $id_room; $data->reserved = 0; $data->type = 'entry'; $data->to_user = 0; $data->timestamp = date('Y-m-d H:i:s'); $fields = array_keys((array) $data); $alert_model = new MessagesModel(); $alert_model->setFields($fields); $alert_model->setData($data); return $alert_model->insert(); }
/** * callback for deleting/updating messages * * @param object $args * @param object $action * @param object $mem_redirect * @param object $mem_resend * @access public * @return string */ public function mailBoxCallback($args, $action, $mem_redirect, $mem_resend) { $BW_Rights = new MOD_right(); $layoutkit = $count = $action->count; $return = $args->req; if (!APP_User::loggedIn()) { return $return; } if ($count < 0) { $mem_redirect->expired = true; return $return; } if ($mem_resend->already_sent_as) { $mem_redirect->already_sent_as = $mem_resend->already_sent_as; return $return; } // now finally try to send it. $words = new MOD_words(); $model = new MessagesModel(); $post = $args->post; if (isset($post['message-mark']) && count($post['message-mark']) > 0 && isset($post['submit_multi'])) { foreach ($post['message-mark'] as $message) { if (!($m = $model->getMessage($message))) { $mem_redirect->problems = true; return $return; } elseif ($post['submit_multi'] == 'delete') { $result = $model->deleteMessage($m->id); } elseif ($post['submit_multi'] == 'markasread') { $result = $model->markMessage($m->id); } elseif ($post['submit_multi'] == 'markasspam') { $result = $model->moveMessage($m->id, 'Spam'); $model->updateSpamInfo($m->id, 'SpamSayMember', 'NotSpam', $m->SpamInfo); } elseif ($post['submit_multi'] == 'nospam') { $result = $model->moveMessage($m->id, 'Normal'); $model->updateSpamInfo($m->id, 'NotSpam', array('SpamSayMember', 'SpamSayChecker'), $m->SpamInfo); } else { $mem_redirect->problems = true; return $return; } } } else { $result = false; } $mem_redirect->result = $result; return $return; }
$send = true; } else { $to_user = 0; $send = true; } } // Send message if (isset($send) && (!isset($_SESSION['chat_login']['last_send']) || isset($_SESSION['chat_login']['last_send']) && time() >= $_SESSION['chat_login']['last_send'])) { // Last message sent $_SESSION['chat_login']['last_send'] = $_SERVER['REQUEST_TIME']; // Delete old messages $messages = new MessagesModel(); $messages->setCond('timestamp < "' . date('Y-m-d H:i:s', strtotime('-' . TIME_MESSAGE_OLD . ' minutes')) . '"'); $messages->delete(); // Data $data = new StdClass(); $data->user = Filters::convert($_SESSION['chat_login']['user']); $data->id_user = $_SESSION['chat_login']['id_user']; $data->message = Filters::convert($message); $data->to_user = $to_user; $data->id_room = $_SESSION['chat_login']['id_room']; $data->reserved = $reserved; $data->timestamp = date('Y-m-d H:i:s'); $fields = array_keys((array) $data); // Insert message $messages = new MessagesModel(); $messages->setFields($fields); $messages->setData($data); $messages->insert(); } }
public function AllowDenyCategoryAction() { $request = Project::getRequest(); $category = new BookmarksCategoryModel(); $category->load($request->id); $category->active = $request->type; if ($request->rename) { $category->name = $request->name; } if ($category->save()) { // -- Отправка сообщения $admin = new UserModel(); $admin->loadAdmin(); $view = new BaseSiteView(); $view->setTemplate('mail', 'bookmarks_category_allowdeny.tpl.php'); $view->assign('category', $category); $view->assign('type', $request->type); $view->assign('comment', $request->comment); $body = $view->parse(); $message = new MessagesModel(); $message->sendMessage($admin->id, $category->user_id, 'Ответ на запрос на создание категории в закладках', $body); // --------------------- } $this->_view->CloseCategoryForm(); $this->_view->parse(); }
<?php require_once 'app/autoload.php'; // Checks if is logged user if (isset($_SESSION['chat_login']['id_user'])) { // Return $return = ''; // Disables users stranded UsersModel::userDeleteIdle(); // Condition $condition = '(to_user = 0 OR id_user = '******'chat_login']['id_user'] . ' '; $condition .= 'OR to_user = '******'chat_login']['id_user'] . ' '; $condition .= 'OR (to_user != ' . $_SESSION['chat_login']['id_user'] . ' AND reserved = 0) '; $condition .= 'OR (id_user = 0 AND to_user = 0)) '; // Load messages $messages = new MessagesModel(); $messages->setCond($condition); $messages->setCond('id_room = ' . $_SESSION['chat_login']['id_room']); $messages->setCond('timestamp >= "' . date('Y-m-d H:i:s', $_SESSION['chat_login']['last']) . '"'); $messages->setOrderBy('timestamp ASC'); $load = $messages->load_all(); $_SESSION['chat_login']['last'] = $_SERVER['REQUEST_TIME']; $_SESSION['chat_login']['messages'] = isset($_SESSION['chat_login']['messages']) ? $_SESSION['chat_login']['messages'] : array(); $_SESSION['chat_login']['last_message'] = isset($_SESSION['chat_login']['last_message']) ? $_SESSION['chat_login']['last_message'] : $_SERVER['REQUEST_TIME']; foreach ($load as $line) { if (in_array($line['id'], $_SESSION['chat_login']['messages'])) { continue; } else { $_SESSION['chat_login']['messages'][] = $line['id']; if ($_SERVER['REQUEST_TIME'] > $_SESSION['chat_login']['last_message'] + 120) { $_SESSION['chat_login']['last_message'] = $_SERVER['REQUEST_TIME'];
public function FriendAction() { $request = Project::getRequest(); $this->_view->clearFlashMessages(); $user = Project::getUser()->getDbUser(); $userModel = new UserModel(); $friendModel = new FriendModel(); $messagesModel = new MessagesModel(); $isDefAction = true; //$this -> _view -> addFlashMessage(FM::ERROR, "Выберите из списка друзей или введите имя вручную"); if ($request->messageAction == "changeGroup") { $group_id = $request->group_id; $friendGroup = $friendModel->getFriendGroupById($group_id); if ($friendGroup) { $isDefAction = false; if ($request->save_group) { $group_name = $request->group_name; if (!$friendModel->isDublicateGroup($user->id, htmlspecialchars($group_name))) { $friendModel->changeOneValue('friend_group', $group_id, 'name', htmlspecialchars($group_name)); Project::getResponse()->redirect(Project::getRequest()->createUrl('Messages', 'Friend')); } else { $this->_view->addFlashMessage(FM::ERROR, "Группа с таким именем уже существует"); } } elseif ($request->del_group) { $friendModel->changeFriendsGroup($user->id, $group_id, 0); $friendModel->delOneRecord('friend_group', $group_id); Project::getResponse()->redirect(Project::getRequest()->createUrl('Messages', 'Friend')); } else { $group_name = $friendGroup['name']; } $this->_view->assign('pageAction', 'changeGroup'); $this->_view->assign('groupName', $group_name); } $this->_view->assign('group_id', $group_id); } elseif ($request->messageAction == "changeFriend") { $friend_table_id = $request->friend_table_id; $friend = $friendModel->getFriendById($friend_table_id); if ($friend) { if ($request->save_friend) { $friendModel->load($friend_table_id); $friendModel->group_id = $request->group_id; $friendModel->note = htmlspecialchars($request->note); $friendModel->save(); Project::getResponse()->redirect(Project::getRequest()->createUrl('Messages', 'Friend')); } $isDefAction = false; $this->_view->assign('pageAction', 'changeFriend'); $this->_view->assign('friend', $friend); $this->_view->assign('aFriendGroups', $friendModel->getUserFriendGroups($user->id)); } } elseif ($request->messageAction == "addGroupFriend") { if ($request->add_group) { if (!$friendModel->isDublicateGroup($user->id, htmlspecialchars($request->group_name))) { $friendModel->addFriendGroup($user->id, $request->group_name, null); Project::getResponse()->redirect(Project::getRequest()->createUrl('Messages', 'Friend')); } else { $this->_view->addFlashMessage(null, "Группа с таким именем уже существует"); } } elseif ($request->add_friend) { $friend = $userModel->getUserByLogin($request->friend_name); if ($friend && $friendModel->isFriend($user->id, $friend['id'])) { $this->_view->addFlashMessage(FM::ERROR, "Этот пользователь уже добавлен в Ваши друзья"); } elseif ($friend) { $friendModel->load(0); $friendModel->friend_id = $friend['id']; $friendModel->user_id = $user->id; $friendModel->group_id = 0; $friendModel->save(); Project::getResponse()->redirect(Project::getRequest()->createUrl('Messages', 'Friend')); } else { $this->_view->addFlashMessage(FM::ERROR, "Пользователя с таким именем нет"); } } } if ($isDefAction) { $this->_view->assign('pageAction', 'main'); } $aGroupMessagesCount = array(); $aGroupMessagesCount['all'] = array("new" => $messagesModel->getCountMessagesToUser($user->id, -1, 1, 0), "read" => $messagesModel->getCountMessagesToUser($user->id, -1, 1, 1)); $this->_view->assign('aGroupMessagesCount', $aGroupMessagesCount); $aFriendGroups = $friendModel->getUserFriendGroups($user->id); $this->_view->assign('tab_list', TabController::getOwnTabs(false, true, false, false, false, false, false, false, false, false)); $this->_view->assign('aFriendGroups', $aFriendGroups); $this->_view->assign('user_id', $user->id); $this->_view->FriendPage(); $this->_view->parse(); }