mirror of
https://github.com/Mibew/java.git
synced 2025-01-23 01:50:34 +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'];
|
$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)
|
function setup_chatview_for_operator($thread, $operator)
|
||||||
{
|
{
|
||||||
global $page, $webimroot, $company_logo_link, $company_name, $settings;
|
global $page, $webimroot, $company_logo_link, $company_name, $settings;
|
||||||
@ -462,7 +437,13 @@ function setup_chatview_for_operator($thread, $operator)
|
|||||||
close_connection($link);
|
close_connection($link);
|
||||||
}
|
}
|
||||||
$predefinedres = "";
|
$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) {
|
foreach ($canned_messages as $answer) {
|
||||||
$predefinedres .= "<option>" . htmlspecialchars(topage($answer['vcvalue'])) . "</option>";
|
$predefinedres .= "<option>" . htmlspecialchars(topage($answer['vcvalue'])) . "</option>";
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
* Evgeny Gryaznov - initial API and implementation
|
* Evgeny Gryaznov - initial API and implementation
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
require_once('../libs/canned.php');
|
||||||
require_once('../libs/common.php');
|
require_once('../libs/common.php');
|
||||||
require_once('../libs/chat.php');
|
require_once('../libs/chat.php');
|
||||||
require_once('../libs/groups.php');
|
require_once('../libs/groups.php');
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
* Evgeny Gryaznov - initial API and implementation
|
* Evgeny Gryaznov - initial API and implementation
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
require_once('../libs/canned.php');
|
||||||
require_once('../libs/common.php');
|
require_once('../libs/common.php');
|
||||||
require_once('../libs/operator.php');
|
require_once('../libs/operator.php');
|
||||||
require_once('../libs/settings.php');
|
require_once('../libs/settings.php');
|
||||||
@ -33,38 +34,6 @@ loadsettings();
|
|||||||
$errors = array();
|
$errors = array();
|
||||||
$page = 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
|
# locales
|
||||||
|
|
||||||
$all_locales = get_available_locales();
|
$all_locales = get_available_locales();
|
||||||
|
@ -19,38 +19,11 @@
|
|||||||
* Evgeny Gryaznov - initial API and implementation
|
* Evgeny Gryaznov - initial API and implementation
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
require_once('../libs/canned.php');
|
||||||
require_once('../libs/common.php');
|
require_once('../libs/common.php');
|
||||||
require_once('../libs/operator.php');
|
require_once('../libs/operator.php');
|
||||||
require_once('../libs/pagination.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();
|
$operator = check_login();
|
||||||
loadsettings();
|
loadsettings();
|
||||||
|
|
||||||
@ -60,7 +33,7 @@ $errors = array();
|
|||||||
$page = array();
|
$page = array();
|
||||||
|
|
||||||
if ($stringid) {
|
if ($stringid) {
|
||||||
$message = load_message($stringid);
|
$message = load_canned_message($stringid);
|
||||||
if (!$message) {
|
if (!$message) {
|
||||||
$errors[] = getlocal("cannededit.no_such");
|
$errors[] = getlocal("cannededit.no_such");
|
||||||
$stringid = "";
|
$stringid = "";
|
||||||
@ -80,9 +53,9 @@ if (isset($_POST['message'])) {
|
|||||||
|
|
||||||
if (count($errors) == 0) {
|
if (count($errors) == 0) {
|
||||||
if ($stringid) {
|
if ($stringid) {
|
||||||
save_message($stringid, $message);
|
save_canned_message($stringid, $message);
|
||||||
} else {
|
} else {
|
||||||
add_message($page['locale'], $page['groupid'], $message);
|
add_canned_message($page['locale'], $page['groupid'], $message);
|
||||||
}
|
}
|
||||||
$page['saved'] = true;
|
$page['saved'] = true;
|
||||||
prepare_menu($operator, false);
|
prepare_menu($operator, false);
|
||||||
|
Loading…
Reference in New Issue
Block a user