mirror of
https://github.com/Mibew/java.git
synced 2025-01-22 17:40:35 +03:00
Cleaned up code, related to canned messages
This commit is contained in:
parent
1ca18622c6
commit
177c3f22a7
93
src/messenger/webim/libs/canned.php
Normal file
93
src/messenger/webim/libs/canned.php
Normal file
@ -0,0 +1,93 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of Mibew Messenger project.
|
||||
*
|
||||
* Copyright (c) 2005-2011 Mibew Messenger Community
|
||||
* All rights reserved. The contents of this file are subject to the terms of
|
||||
* the Eclipse Public License v1.0 which accompanies this distribution, and
|
||||
* is available at http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* the GNU General Public License Version 2 or later (the "GPL"), in which case
|
||||
* the provisions of the GPL are applicable instead of those above. If you wish
|
||||
* to allow use of your version of this file only under the terms of the GPL, and
|
||||
* not to allow others to use your version of this file under the terms of the
|
||||
* EPL, indicate your decision by deleting the provisions above and replace them
|
||||
* with the notice and other provisions required by the GPL.
|
||||
*
|
||||
* Contributors:
|
||||
* Evgeny Gryaznov - initial API and implementation
|
||||
*/
|
||||
|
||||
function load_canned_messages($locale, $groupid)
|
||||
{
|
||||
global $mysqlprefix;
|
||||
$link = connect();
|
||||
$query = "select id, vcvalue from ${mysqlprefix}chatresponses " .
|
||||
"where locale = '" . $locale . "' AND (" .
|
||||
($groupid
|
||||
? "groupid = $groupid"
|
||||
: "groupid is NULL OR groupid = 0") .
|
||||
") order by vcvalue";
|
||||
$result = select_multi_assoc($query, $link);
|
||||
close_connection($link);
|
||||
if (!$groupid && count($result) == 0) {
|
||||
$result = load_default_canned_messages($locale);
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
function load_default_canned_messages($locale)
|
||||
{
|
||||
global $mysqlprefix;
|
||||
$link = connect();
|
||||
$result = array();
|
||||
foreach (explode("\n", getstring_('chat.predefined_answers', $locale)) as $answer) {
|
||||
$result[] = array('id' => '', 'vcvalue' => $answer);
|
||||
}
|
||||
if (count($result) > 0) {
|
||||
$updatequery = "insert into ${mysqlprefix}chatresponses (vcvalue,locale,groupid) values ";
|
||||
for ($i = 0; $i < count($result); $i++) {
|
||||
if ($i > 0) {
|
||||
$updatequery .= ", ";
|
||||
}
|
||||
$updatequery .= "('" . db_escape_string($result[$i]['vcvalue'], $link) . "','$locale', NULL)";
|
||||
}
|
||||
perform_query($updatequery, $link);
|
||||
$query = "select id, vcvalue from ${mysqlprefix}chatresponses " .
|
||||
"where locale = '" . $locale . "' AND (groupid is NULL OR groupid = 0) order by vcvalue";
|
||||
$result = select_multi_assoc($query, $link);
|
||||
}
|
||||
close_connection($link);
|
||||
return $result;
|
||||
}
|
||||
|
||||
function load_canned_message($key)
|
||||
{
|
||||
global $mysqlprefix;
|
||||
$link = connect();
|
||||
$result = select_one_row("select vcvalue from ${mysqlprefix}chatresponses where id = $key", $link);
|
||||
close_connection($link);
|
||||
return $result ? $result['vcvalue'] : null;
|
||||
}
|
||||
|
||||
function save_canned_message($key, $message)
|
||||
{
|
||||
global $mysqlprefix;
|
||||
$link = connect();
|
||||
perform_query("update ${mysqlprefix}chatresponses set vcvalue = '" . db_escape_string($message, $link) . "' " .
|
||||
"where id = $key", $link);
|
||||
close_connection($link);
|
||||
}
|
||||
|
||||
function add_canned_message($locale, $groupid, $message)
|
||||
{
|
||||
global $mysqlprefix;
|
||||
$link = connect();
|
||||
perform_query("insert into ${mysqlprefix}chatresponses (locale,groupid,vcvalue) values ('$locale'," .
|
||||
($groupid ? "$groupid, " : "null, ") .
|
||||
"'" . db_escape_string($message, $link) . "')", $link);
|
||||
close_connection($link);
|
||||
}
|
||||
|
||||
?>
|
@ -399,31 +399,6 @@ function setup_chatview_for_user($thread, $level)
|
||||
$page['frequency'] = $settings['updatefrequency_chat'];
|
||||
}
|
||||
|
||||
function load_canned_messages($locale, $groupid)
|
||||
{
|
||||
global $mysqlprefix;
|
||||
$link = connect();
|
||||
$result = select_multi_assoc(
|
||||
"select vcvalue from ${mysqlprefix}chatresponses where locale = '$locale' " .
|
||||
"AND (groupid is NULL OR groupid = 0) order by vcvalue", $link);
|
||||
if (count($result) == 0) {
|
||||
foreach (explode("\n", getstring_('chat.predefined_answers', $locale)) as $answer) {
|
||||
$result[] = array('vcvalue' => $answer);
|
||||
}
|
||||
}
|
||||
if ($groupid) {
|
||||
$result2 = select_multi_assoc(
|
||||
"select vcvalue from ${mysqlprefix}chatresponses where locale = '$locale' " .
|
||||
"AND groupid = $groupid order by vcvalue", $link);
|
||||
foreach ($result as $r) {
|
||||
$result2[] = $r;
|
||||
}
|
||||
$result = $result2;
|
||||
}
|
||||
close_connection($link);
|
||||
return $result;
|
||||
}
|
||||
|
||||
function setup_chatview_for_operator($thread, $operator)
|
||||
{
|
||||
global $page, $webimroot, $company_logo_link, $company_name, $settings;
|
||||
@ -462,7 +437,13 @@ function setup_chatview_for_operator($thread, $operator)
|
||||
close_connection($link);
|
||||
}
|
||||
$predefinedres = "";
|
||||
$canned_messages = load_canned_messages($thread['locale'], $thread['groupid']);
|
||||
$canned_messages = load_canned_messages($thread['locale'], 0);
|
||||
if ($thread['groupid']) {
|
||||
$canned_messages = array_merge(
|
||||
load_canned_messages($thread['locale'], $thread['groupid']),
|
||||
$canned_messages
|
||||
);
|
||||
};
|
||||
foreach ($canned_messages as $answer) {
|
||||
$predefinedres .= "<option>" . htmlspecialchars(topage($answer['vcvalue'])) . "</option>";
|
||||
}
|
||||
|
@ -19,6 +19,7 @@
|
||||
* Evgeny Gryaznov - initial API and implementation
|
||||
*/
|
||||
|
||||
require_once('../libs/canned.php');
|
||||
require_once('../libs/common.php');
|
||||
require_once('../libs/chat.php');
|
||||
require_once('../libs/groups.php');
|
||||
|
@ -19,6 +19,7 @@
|
||||
* Evgeny Gryaznov - initial API and implementation
|
||||
*/
|
||||
|
||||
require_once('../libs/canned.php');
|
||||
require_once('../libs/common.php');
|
||||
require_once('../libs/operator.php');
|
||||
require_once('../libs/settings.php');
|
||||
@ -33,38 +34,6 @@ loadsettings();
|
||||
$errors = array();
|
||||
$page = array();
|
||||
|
||||
function load_canned_messages($locale, $groupid)
|
||||
{
|
||||
global $mysqlprefix;
|
||||
$link = connect();
|
||||
$query = "select id, vcvalue from ${mysqlprefix}chatresponses " .
|
||||
"where locale = '" . $locale . "' AND (" .
|
||||
($groupid
|
||||
? "groupid = $groupid"
|
||||
: "groupid is NULL OR groupid = 0") .
|
||||
") order by vcvalue";
|
||||
|
||||
$result = select_multi_assoc($query, $link);
|
||||
if (!$groupid && count($result) == 0) {
|
||||
foreach (explode("\n", getstring_('chat.predefined_answers', $locale)) as $answer) {
|
||||
$result[] = array('id' => '', 'vcvalue' => $answer);
|
||||
}
|
||||
if (count($result) > 0) {
|
||||
$updatequery = "insert into ${mysqlprefix}chatresponses (vcvalue,locale,groupid) values ";
|
||||
for ($i = 0; $i < count($result); $i++) {
|
||||
if ($i > 0) {
|
||||
$updatequery .= ", ";
|
||||
}
|
||||
$updatequery .= "('" . db_escape_string($result[$i]['vcvalue'], $link) . "','$locale', NULL)";
|
||||
}
|
||||
perform_query($updatequery, $link);
|
||||
$result = select_multi_assoc($query, $link);
|
||||
}
|
||||
}
|
||||
close_connection($link);
|
||||
return $result;
|
||||
}
|
||||
|
||||
# locales
|
||||
|
||||
$all_locales = get_available_locales();
|
||||
|
@ -19,38 +19,11 @@
|
||||
* Evgeny Gryaznov - initial API and implementation
|
||||
*/
|
||||
|
||||
require_once('../libs/canned.php');
|
||||
require_once('../libs/common.php');
|
||||
require_once('../libs/operator.php');
|
||||
require_once('../libs/pagination.php');
|
||||
|
||||
function load_message($key)
|
||||
{
|
||||
global $mysqlprefix;
|
||||
$link = connect();
|
||||
$result = select_one_row("select vcvalue from ${mysqlprefix}chatresponses where id = $key", $link);
|
||||
close_connection($link);
|
||||
return $result ? $result['vcvalue'] : null;
|
||||
}
|
||||
|
||||
function save_message($key, $message)
|
||||
{
|
||||
global $mysqlprefix;
|
||||
$link = connect();
|
||||
perform_query("update ${mysqlprefix}chatresponses set vcvalue = '" . db_escape_string($message, $link) . "' " .
|
||||
"where id = $key", $link);
|
||||
close_connection($link);
|
||||
}
|
||||
|
||||
function add_message($locale, $groupid, $message)
|
||||
{
|
||||
global $mysqlprefix;
|
||||
$link = connect();
|
||||
perform_query("insert into ${mysqlprefix}chatresponses (locale,groupid,vcvalue) values ('$locale'," .
|
||||
($groupid ? "$groupid, " : "null, ") .
|
||||
"'" . db_escape_string($message, $link) . "')", $link);
|
||||
close_connection($link);
|
||||
}
|
||||
|
||||
$operator = check_login();
|
||||
loadsettings();
|
||||
|
||||
@ -60,7 +33,7 @@ $errors = array();
|
||||
$page = array();
|
||||
|
||||
if ($stringid) {
|
||||
$message = load_message($stringid);
|
||||
$message = load_canned_message($stringid);
|
||||
if (!$message) {
|
||||
$errors[] = getlocal("cannededit.no_such");
|
||||
$stringid = "";
|
||||
@ -80,9 +53,9 @@ if (isset($_POST['message'])) {
|
||||
|
||||
if (count($errors) == 0) {
|
||||
if ($stringid) {
|
||||
save_message($stringid, $message);
|
||||
save_canned_message($stringid, $message);
|
||||
} else {
|
||||
add_message($page['locale'], $page['groupid'], $message);
|
||||
add_canned_message($page['locale'], $page['groupid'], $message);
|
||||
}
|
||||
$page['saved'] = true;
|
||||
prepare_menu($operator, false);
|
||||
|
Loading…
Reference in New Issue
Block a user