mirror of
				https://github.com/Mibew/java.git
				synced 2025-10-31 18:41:09 +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