Use Handlebars.php as template engine

This commit is contained in:
Dmitriy Simushev 2014-02-10 13:32:29 +00:00
parent 5670b19fab
commit 47b61f05c0
113 changed files with 4379 additions and 4269 deletions

View File

@ -1,6 +1,6 @@
{
"require": {
"xamin/handlebars.php": "dev-master#44a6f96e9658ef526bbb2a06bc754abc71cdba99"
"xamin/handlebars.php": "dev-master#5b188ce19e9b07170238c82bd34051a31bdeebbf"
},
"config": {
"vendor-dir": "mibew/vendor"

View File

@ -34,6 +34,9 @@ require_once(MIBEW_FS_ROOT.'/libs/config.php');
*/
define('MIBEW_CONFIG_WEB_ROOT', $mibewroot);
// Initialize external dependencies
require_once(MIBEW_FS_ROOT . '/vendor/autoload.php');
// Try to get actual base URL of the Mibew
$requestUri = $_SERVER["REQUEST_URI"];
if (!preg_match('/^(.*)\\/install(\\/[^\\/\\\\]*)?$/', $requestUri, $matches)) {
@ -57,6 +60,7 @@ require_once(MIBEW_FS_ROOT.'/libs/common/string.php');
require_once(MIBEW_FS_ROOT.'/libs/classes/Mibew/Style/StyleInterface.php');
require_once(MIBEW_FS_ROOT.'/libs/classes/Mibew/Style/AbstractStyle.php');
require_once(MIBEW_FS_ROOT.'/libs/classes/Mibew/Style/PageStyle.php');
require_once(MIBEW_FS_ROOT.'/libs/classes/Mibew/Handlebars/HelpersSet.php');
// Include database structure
require_once(MIBEW_FS_ROOT.'/install/dbinfo.php');

View File

@ -0,0 +1,573 @@
<?php
/*
* Copyright 2005-2014 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
namespace Mibew\Handlebars;
/**
* Set of helpers to for server side templates
*/
class HelpersSet
{
/**
* Contains an instance of helpers set.
*
* @var \Mibew\Handlebars\HelpersSet
*/
protected static $instance = null;
/**
* Storage for overridable blocks' content.
*
* This storage is used by "block" helper and "override" helper.
*
* @var array
*/
protected $blocksStorage = array();
/**
* Returns a set of handlebars helpers.
*
* @return array Helpers list that can be passed to
* \Handlebars\Helpers::__construct();
*/
public static function getHelpers()
{
if (!self::$instance) {
self::$instance = new self();
}
return self::$instance->helpersList();
}
/**
* A helper for string localization.
*
* Example of usage:
* <code>
* {{l10n "localization.string" arg1 arg2 arg3}}
* </code>
* where:
* - "localization.string" is localization constant.
* - arg* are arguments that will be passed to getlocal2 function. There
* can be arbitrary number of such arguments.
*/
public function localizationHelper($template, $context, $args, $source)
{
// Check if there is at least one argument
$parsed_arguments = $template->parseArguments($args);
if (empty($parsed_arguments)) {
return '';
}
$text = $context->get(array_shift($parsed_arguments));
// We need to escape extra arguments passed to the helper. Thus we need
// to get escape function and its arguments from the template engine.
$escape_func = $template->getEngine()->getEscape();
$escape_args = $template->getEngine()->getEscapeArgs();
// Check if there are any other arguments passed into helper and escape
// them.
$local_args = array();
foreach ($parsed_arguments as $parsed_argument) {
// Get locale argument string and add it to escape function
// arguments.
array_unshift($escape_args, $context->get($parsed_argument));
// Escape locale argument's value
$local_args[] = call_user_func_array(
$escape_func,
array_values($escape_args)
);
// Remove locale argument's value from escape function argument
array_shift($escape_args);
}
if (empty($local_args)) {
$result = getlocal($text);
} else {
$result = getlocal2($text, $local_args);
}
return new \Handlebars\SafeString($result);
}
/**
* Conditional helper that checks if two values are equal or not.
*
* Example of usage:
* <code>
* {{#ifEqual first second}}
* The first argument is equal to the second one.
* {{else}}
* The arguments are not equal.
* {{/ifEqual}}
* </code>
*/
public function ifEqualHelper($template, $context, $args, $source)
{
$parsed_args = $template->parseArguments($args);
if (empty($parsed_args) || count($parsed_args) < 2) {
return '';
}
$condition = ($context->get($parsed_args[0]) == $context->get($parsed_args[1]));
if ($condition) {
$template->setStopToken('else');
$buffer = $template->render($context);
$template->setStopToken(false);
} else {
$template->setStopToken('else');
$template->discard();
$template->setStopToken(false);
$buffer = $template->render($context);
}
return $buffer;
}
/**
* Conditional helper that checks if at least one argumet can be treated as
* "true" value.
*
* Example of usage:
* <code>
* {{#ifAny first second third}}
* At least one of argument can be threated as "true".
* {{else}}
* All values are "falsy"
* {{/ifAny}}
* </code>
*/
public function ifAnyHelper($template, $context, $args, $source)
{
$parsed_args = $template->parseArguments($args);
if (empty($parsed_args)) {
return '';
}
$condition = false;
foreach ($parsed_args as $parsed_arg) {
$value = $context->get($parsed_arg);
if ($value instanceof \Handlebars\String) {
// We need to get internal string. Casting any object of
// \Handlebars\String will have positive result even for those
// with empty internal strings.
$value = $value->getString();
}
if ($value) {
$condition = true;
break;
}
}
if ($condition) {
$template->setStopToken('else');
$buffer = $template->render($context);
$template->setStopToken(false);
} else {
$template->setStopToken('else');
$template->discard();
$template->setStopToken(false);
$buffer = $template->render($context);
}
return $buffer;
}
/**
* A helper for templates inheritance.
*
* Example of usage:
* <code>
* {{#extends "parentTemplateName"}}
* {{#override "blockName"}}
* Overridden first block
* {{/override}}
*
* {{#override "anotherBlockName"}}
* Overridden second block
* {{/override}}
* {{/extends}}
* </code>
*/
public function extendsHelper($template, $context, $args, $source)
{
// Get name of the parent template
$parsed_args = $template->parseArguments($args);
if (empty($parsed_args)) {
return '';
}
$parent_template = $context->get(array_shift($parsed_args));
// Render content inside "extends" block to override blocks
$template->render($context);
// We need to another instance of \Handlebars\Template to render parent
// template. It can be got from Handlebars engine, so get the latter.
$handlebars = $template->getEngine();
// Render the parent template
return $handlebars->render($parent_template, $context);
}
/**
* A helper for defining default content of a block.
*
* Example of usage:
* <code>
* {{#block "blockName"}}
* Default content for the block
* {{/block}}
* </code>
*/
public function blockHelper($template, $context, $args, $source)
{
// Get block name
$parsed_args = $template->parseArguments($args);
if (empty($parsed_args)) {
return '';
}
$block_name = $context->get(array_shift($parsed_args));
// If the block is not overridden render and show the default value
if (!isset($this->blocksStorage[$block_name])) {
return $template->render($context);
}
// Show overridden content
return $this->blocksStorage[$block_name];
}
/**
* A helper for overriding content of a block.
*
* Example of usage:
* <code>
* {{#extends "parentTemplateName"}}
* {{#override "blockName"}}
* Overridden first block
* {{/override}}
*
* {{#override "anotherBlockName"}}
* Overridden second block
* {{/override}}
* {{/extends}}
* </code>
*/
public function overrideHelper($template, $context, $args, $source)
{
// Get block name
$parsed_args = $template->parseArguments($args);
if (empty($parsed_args)) {
return '';
}
$block_name = $context->get(array_shift($parsed_args));
// We need to provide unlimited inheritence level. Rendering is started
// from the deepest level template. If the content is in the block
// storage it is related with the deepest level template. Thus we do not
// need to override it.
if (!isset($this->blocksStorage[$block_name])) {
$this->blocksStorage[$block_name] = $template->render($context);
}
}
/**
* Conditional helper that checks if block overridden or not.
*
* Example of usage:
* <code>
* {{#ifOverridden "blockName"}}
* The block was overridden
* {{else}}
* The block was not overridden
* {{/ifOverriden}}
* </code>
*/
public function ifOverriddenHelper($template, $context, $args, $source)
{
// Get block name
$parsed_args = $template->parseArguments($args);
if (empty($parsed_args)) {
return '';
}
$block_name = $context->get(array_shift($parsed_args));
// Check condition and render blocks
if (isset($this->blocksStorage[$block_name])) {
$template->setStopToken('else');
$buffer = $template->render($context);
$template->setStopToken(false);
} else {
$template->setStopToken('else');
$template->discard();
$template->setStopToken(false);
$buffer = $template->render($context);
}
return $buffer;
}
/**
* Conditional helper that checks if block overridden or not.
*
* Example of usage:
* <code>
* {{#unlessOverridden "blockName"}}
* The block was not overridden
* {{else}}
* The block was overridden
* {{/unlessOverriden}}
* </code>
*/
public function unlessOverriddenHelper($template, $context, $args, $source)
{
// Get block name
$parsed_args = $template->parseArguments($args);
if (empty($parsed_args)) {
return '';
}
$block_name = $context->get(array_shift($parsed_args));
// Check condition and render blocks
if (!isset($this->blocksStorage[$block_name])) {
$template->setStopToken('else');
$buffer = $template->render($context);
$template->setStopToken(false);
} else {
$template->setStopToken('else');
$template->discard();
$template->setStopToken(false);
$buffer = $template->render($context);
}
return $buffer;
}
/**
* Generates markup with hidden input tag for CSRF token.
*
* Example of usage:
* <code>
* {{csrfTokenInput}}
* </code>
*/
public function csrfTokenInputHelper()
{
return new \Handlebars\SafeString(get_csrf_token_input());
}
/**
* Generates CSRF taken formated prepared to insert in URLs.
*
* Example of usage:
* <code>
* {{csrfTokenInUrl}}
* </code>
*/
public function csrfTokenInUrlHelper()
{
return new \Handlebars\SafeString(get_csrf_token_in_url());
}
/**
* Generates pagination block.
*
* Example of usage:
* <code>
* {{generatePagination stylePath paginationInfo bottom}}
* </code>
* where:
* - "stylePath" is expression for path to current style.
* - "paginationInfo" is 'info' key from the result of setup_pagination
* function.
* - "bottom": optional argument that indicate if pagination block shoud
* be generated for a page bottom or not. If specified and equal to
* string "false" then boolean false will be passed into
* generate_pagination. In all other cases boolean true will be used.
*/
public function generatePaginationHelper($template, $context, $args, $source)
{
$parsed_args = $template->parseArguments($args);
if (empty($parsed_args) || count($parsed_args) < 2) {
return '';
}
$stylePath = $context->get($parsed_args[0]);
$pagination_info = $context->get($parsed_args[1]);
$bottom = empty($parsed_args[2]) ? true : $context->get($parsed_args[2]);
$pagination = generate_pagination(
$stylePath,
$pagination_info,
($bottom === "false") ? false : true
);
return new \Handlebars\SafeString($pagination);
}
/**
* Escapes special characters to use result as a valid JavaScript string
* enclosed with single quotes (') or duouble quotes (").
*
* Example of usage:
* <code>
* var a = "{{#jsString}}some string to escape{{/jsString}}";
* </code>
*/
public function jsStringHelper($template, $context, $args, $source)
{
return str_replace("\n", "\\n", addslashes($template->render($context)));
}
/**
* Helper for repeating content.
*
* Example of usage:
* <code>
* {{#repeat times}}content to repeat{{/repeat}}
* </code>
*/
public function repeatHelper($template, $context, $args, $source)
{
$parsed_args = $template->parseArguments($args);
if (empty($parsed_args)) {
return '';
}
$times = intval($context->get($parsed_args[0]));
$string = $template->render($context);
return str_repeat($string, $times);
}
/**
* Helper for replacing substrings.
*
* Example of usage:
* <code>
* {{#replace search replacement}}target content{{/replace}}
* </code>
*/
public function replaceHelper($template, $context, $args, $source)
{
$parsed_args = $template->parseArguments($args);
if (empty($parsed_args) || count($parsed_args) < 2) {
return '';
}
$search = $context->get($parsed_args[0]);
$replacement = $context->get($parsed_args[1]);
$subject = $template->render($context);
return str_replace($search, $replacement, $subject);
}
/**
* Format date using internal format.
*
* Example of usage:
* <code>
* {{formatDate unixTimestamp}}
* </code>
*/
public function formatDateHelper($template, $context, $args, $source)
{
$parsed_args = $template->parseArguments($args);
if (empty($parsed_args)) {
return '';
}
$timestamp = intval($context->get($parsed_args[0]));
return date_to_text($timestamp);
}
/**
* Format date difference using internal format.
*
* Example of usage:
* <code>
* {{formatDateDiff seconds}}
* </code>
*/
public function formatDateDiffHelper($template, $context, $args, $source)
{
$parsed_args = $template->parseArguments($args);
if (empty($parsed_args)) {
return '';
}
$seconds = intval($context->get($parsed_args[0]));
return date_diff_to_text($seconds);
}
/**
* Cut string if it exceeds specified length.
*
* Example of usage:
* <code>
* {{cutString string length}}
* </code>
*/
public function cutStringHelper($template, $context, $args, $source)
{
$parsed_args = $template->parseArguments($args);
if (empty($parsed_args) || count($parsed_args) < 2) {
return '';
}
$string = $context->get($parsed_args[0]);
$length = intval($context->get($parsed_args[1]));
return substr($string, 0, $length);
}
/**
* Actually builds helpers list.
*
* @return array List of helpers
*/
protected function helpersList()
{
return array(
'l10n' => array($this, 'localizationHelper'),
'extends' => array($this, 'extendsHelper'),
'block' => array($this, 'blockHelper'),
'override' => array($this, 'overrideHelper'),
'ifOverridden' => array($this, 'ifOverriddenHelper'),
'unlessOverridden' => array($this, 'unlessOverriddenHelper'),
'ifEqual' => array($this, 'ifEqualHelper'),
'ifAny' => array($this, 'ifAnyHelper'),
'generatePagination' => array($this, 'generatePaginationHelper'),
'jsString' => array($this, 'jsStringHelper'),
'repeat' => array($this, 'repeatHelper'),
'replace' => array($this, 'replaceHelper'),
'formatDate' => array($this, 'formatDateHelper'),
'formatDateDiff' => array($this, 'formatDateDiffHelper'),
'cutString' => array($this, 'cutStringHelper'),
'csrfTokenInput' => array($this, 'csrfTokenInputHelper'),
'csrfTokenInUrl' => array($this, 'csrfTokenInUrlHelper'),
);
}
}

View File

@ -19,12 +19,44 @@ namespace Mibew\Style;
// Import namespaces and classes of the core
use Mibew\Settings;
use Mibew\Handlebars\HelpersSet;
/**
* Represents a style for operator pages
*/
class PageStyle extends AbstractStyle implements StyleInterface
{
/**
* Template engine for chat templates.
*
* @var \Handlebars\Handlebars
*/
protected $templateEngine;
/**
* Object constructor
*
* @param string $style_name Name of the style
*/
public function __construct($style_name)
{
parent::__construct($style_name);
$templates_loader = new \Handlebars\Loader\FilesystemLoader(
MIBEW_FS_ROOT . '/' . $this->filesPath() . '/templates_src/server_side/'
);
$this->templateEngine = new \Handlebars\Handlebars(array(
'loader' => $templates_loader,
'partials_loader' => $templates_loader,
'helpers' => new \Handlebars\Helpers(HelpersSet::getHelpers())
));
// Use custom function to escape strings
$this->templateEngine->setEscape('safe_htmlspecialchars');
$this->templateEngine->setEscapeArgs(array());
}
/**
* Builds base path for style files. This path is relative Mibew root and
* does not contain neither leading nor trailing slash.
@ -49,20 +81,18 @@ class PageStyle extends AbstractStyle implements StyleInterface
// Prepare to output html
start_html_output();
// Build full view name. Remove '\' and '/' characters form the
// specified view name
$full_view_name = MIBEW_FS_ROOT . '/' . $this->filesPath() . '/views/'
. str_replace("/\\", '', $template_name) . '.php';
// $page variable is used in included views files, so we need to create
// it as an alias of $data argument.
$page = $data;
// Add template root value to page variables
$page['stylepath'] = MIBEW_WEB_ROOT . '/' . $this->filesPath();
// Pass additional variables to template
$page['mibewRoot'] = MIBEW_WEB_ROOT;
$page['mibewVersion'] = MIBEW_VERSION;
$page['currentLocale'] = CURRENT_LOCALE;
$page['rtl'] = (getlocal("localedirection") == 'rtl');
$page['stylePath'] = MIBEW_WEB_ROOT . '/' . $this->filesPath();
// Load and execute the view
require($full_view_name);
echo($this->templateEngine->render($template_name, $page));
}
/**

View File

@ -33,20 +33,18 @@ function csrf_check_token()
}
}
/* print csrf token as a hidden field */
function print_csrf_token_input()
function get_csrf_token_input()
{
set_csrf_token();
echo "<input name='csrf_token' type='hidden' value='" . $_SESSION['csrf_token'] . "' />";
return '<input name="csrf_token" type="hidden" value="' . $_SESSION['csrf_token'] . '" />';
}
/* print csrf token in url format */
function print_csrf_token_in_url()
function get_csrf_token_in_url()
{
set_csrf_token();
echo "&amp;csrf_token=" . $_SESSION['csrf_token'];
return "&amp;csrf_token=" . $_SESSION['csrf_token'];
}
/* set csrf token */

View File

@ -155,3 +155,15 @@ function sanitize_reg_escape($string)
return strtr($string, $conversions);
}
/**
* Wrapper for htmlspecialchars with single quotes conversion enabled by default
*
* @param string $string Target string
* @return string Escaped string
*/
function safe_htmlspecialchars($string)
{
$string = preg_replace('/[\x00-\x08\x10-\x1f]/', '', $string);
return htmlspecialchars($string, ENT_QUOTES);
}

View File

@ -47,6 +47,9 @@ require_once(MIBEW_FS_ROOT . '/libs/common/constants.php');
require_once(MIBEW_FS_ROOT . '/libs/common/autoload.php');
spl_autoload_register('class_autoload');
// Initialize external dependencies
require_once(MIBEW_FS_ROOT . '/vendor/autoload.php');
// Include common libs
require_once(MIBEW_FS_ROOT . '/libs/common/configurations.php');
require_once(MIBEW_FS_ROOT . '/libs/common/verification.php');

View File

@ -761,6 +761,10 @@ function prepare_menu($operator, $has_right = true)
$result = array();
$result['operator'] = to_page(get_operator_name($operator));
$result['goOnlineLink'] = getlocal2(
"menu.goonline",
array(MIBEW_WEB_ROOT . "/operator/users.php?nomenu")
);
if ($has_right) {
$result['showban'] = Settings::get('enableban') == "1";
$result['showstat'] = Settings::get('enablestatistics') == "1";

View File

@ -25,6 +25,7 @@ $page = array();
$page['title'] = getlocal("license.title");
$page['no_right_menu'] = true;
$page['fixedwrap'] = true;
$page['show_small_login'] = false;
$page_style = new PageStyle(PageStyle::currentStyle());
$page_style->render('license', $page);

View File

@ -123,7 +123,7 @@ if (isset($_POST['address'])) {
$thread_id = verify_param('thread', "/^\d{1,9}$/");
$thread = Thread::load($thread_id);
if ($thread) {
$page['thread'] = to_page($thread->userName);
$page['thread'] = htmlspecialchars(to_page($thread->userName));
$page['threadid'] = $thread_id;
$page['formaddress'] = to_page($thread->remote);
$page['formdays'] = 15;

View File

@ -57,6 +57,11 @@ $blocked_list = $db->query(
array('return_rows' => Database::RETURN_ALL_ROWS)
);
foreach ($blocked_list as &$item) {
$item['comment'] = to_page($item['comment']);
}
unset($item);
$page['title'] = getlocal("page_bans.title");
$page['menuid'] = "blocked";

View File

@ -92,8 +92,14 @@ if (isset($_GET['act']) && $_GET['act'] == 'delete') {
// Get messages and setup pagination
$messages = load_canned_messages($lang, $group_id);
$pagination = setup_pagination($messages);
$canned_messages = load_canned_messages($lang, $group_id);
foreach ($canned_messages as &$message) {
$message['vctitle'] = to_page($message['vctitle']);
$message['vcvalue'] = to_page($message['vcvalue']);
}
unset($message);
$pagination = setup_pagination($canned_messages);
$page['pagination'] = $pagination['info'];
$page['pagination.items'] = $pagination['items'];

View File

@ -71,7 +71,7 @@ if (isset($_POST['message']) && isset($_POST['title'])) {
}
$page['saved'] = true;
$page = array_merge($page, prepare_menu($operator, false));
$page_style->render('cannededit', $page);
$page_style->render('canned_edit', $page);
exit;
}
}
@ -84,4 +84,4 @@ $page['title'] = empty($string_id) ? getlocal("cannednew.title") : getlocal("can
$page = array_merge($page, prepare_menu($operator, false));
$page_style->render('cannededit', $page);
$page_style->render('canned_edit', $page);

View File

@ -121,4 +121,4 @@ $page['menuid'] = "getcode";
$page = array_merge($page, prepare_menu($operator));
$page_style = new PageStyle(PageStyle::currentStyle());
$page_style->render('gen_button', $page);
$page_style->render('get_code', $page);

View File

@ -27,10 +27,12 @@ $operator = check_login();
csrf_check_token();
$group_id = verify_param("gid", "/^\d{1,9}$/");
$page = array('groupid' => $group_id);
$page['operators'] = get_operators_list();
$page['errors'] = array();
$page = array(
'groupid' => $group_id,
'errors' => array(),
);
$operators = get_operators_list();
$group = group_by_id($group_id);
if (!$group) {
@ -38,7 +40,7 @@ if (!$group) {
} elseif (isset($_POST['gid'])) {
$new_members = array();
foreach ($page['operators'] as $op) {
foreach ($operators as $op) {
if (verify_param("op" . $op['operatorid'], "/^on$/", "") == "on") {
$new_members[] = $op['operatorid'];
}
@ -52,8 +54,18 @@ if (!$group) {
$page['formop'] = array();
$page['currentgroup'] = $group ? to_page(htmlspecialchars($group['vclocalname'])) : "";
$checked_operators = array();
foreach (get_group_members($group_id) as $rel) {
$page['formop'][] = $rel['operatorid'];
$checked_operators[] = $rel['operatorid'];
}
$page['operators'] = array();
foreach ($operators as $op) {
$op['vclocalename'] = to_page($op['vclocalename']);
$op['vclogin'] = to_page($op['vclogin']);
$op['checked'] = in_array($op['operatorid'], $checked_operators);
$page['operators'][] = $op;
}
$page['stored'] = isset($_GET['stored']);
@ -65,4 +77,4 @@ $page = array_merge($page, prepare_menu($operator));
$page['tabs'] = setup_group_settings_tabs($group_id, 1);
$page_style = new PageStyle(PageStyle::currentStyle());
$page_style->render('groupmembers', $page);
$page_style->render('group_members', $page);

View File

@ -27,6 +27,10 @@ require_once(MIBEW_FS_ROOT . '/libs/groups.php');
$operator = check_login();
csrf_check_token();
$page = array(
'errors' => array(),
);
if (isset($_GET['act']) && $_GET['act'] == 'del') {
$group_id = isset($_GET['gid']) ? $_GET['gid'] : "";
@ -49,10 +53,22 @@ if (isset($_GET['act']) && $_GET['act'] == 'del') {
}
}
$page = array();
$sort['by'] = verify_param("sortby", "/^(name|lastseen|weight)$/", "name");
$sort['desc'] = (verify_param("sortdirection", "/^(desc|asc)$/", "desc") == "desc");
$page['groups'] = get_sorted_groups($sort);
// Load and prepare groups
$groups = get_sorted_groups($sort);
foreach ($groups as &$group) {
$group['vclocalname'] = to_page($group['vclocalname']);
$group['vclocaldescription'] = to_page($group['vclocaldescription']);
$group['isOnline'] = group_is_online($group);
$group['isAway'] = group_is_away($group);
$group['lastTimeOnline'] = time() - ($group['ilastseen'] ? $group['ilastseen'] : time());
$group['inumofagents'] = to_page($group['inumofagents']);
}
unset($group);
$page['groups'] = $groups;
$page['formsortby'] = $sort['by'];
$page['formsortdirection'] = $sort['desc'] ? 'desc' : 'asc';
$page['canmodify'] = is_capable(CAN_ADMINISTRATE, $operator);

View File

@ -54,7 +54,6 @@ if ($query !== false) {
foreach ($groups as $group) {
$group_name[$group['groupid']] = $group['vclocalname'];
}
$page['groupName'] = $group_name;
$values = array(
':query' => "%{$query}%",
@ -119,7 +118,24 @@ if ($query !== false) {
);
foreach ($threads_list as $item) {
$page['pagination.items'][] = Thread::createFromDbInfo($item);
$thread = Thread::createFromDbInfo($item);
$group_name_set = ($thread->groupId
&& $thread->groupId != 0
&& isset($group_name[$thread->groupId]));
$page['pagination.items'][] = array(
'threadId' => $thread->id,
'userName' => to_page($thread->userName),
'userAddress' => get_user_addr(to_page($thread->remote)),
'agentName' => to_page($thread->agentName),
'messageCount' => to_page($thread->messageCount),
'groupName' => ($group_name_set
? to_page($group_name[$thread->groupId])
: false),
'chatTime' => $thread->modified - $thread->created,
'chatCreated' => $thread->created,
);
}
} else {
$page['pagination'] = false;
@ -136,8 +152,10 @@ $page['formtype'] = $search_type;
$page['forminsystemmessages'] = $search_in_system_messages;
$page['title'] = getlocal("page_analysis.search.title");
$page['menuid'] = "history";
$page['canSearchInSystemMessages'] = ($search_type != 'all')
&& ($search_type != 'message');
$page = array_merge($page, prepare_menu($operator));
$page_style = new PageStyle(PageStyle::currentStyle());
$page_style->render('thread_search', $page);
$page_style->render('history', $page);

View File

@ -38,6 +38,7 @@ $page = array(
'newFeatures' => Settings::get('featuresversion') != FEATURES_VERSION,
'featuresPage' => MIBEW_WEB_ROOT . "/operator/features.php",
'isOnline' => $is_online,
'warnOffline' => true,
'title' => getlocal("topMenu.admin"),
'menuid' => "main",
);
@ -45,4 +46,4 @@ $page = array(
$page = array_merge($page, prepare_menu($operator));
$page_style = new PageStyle(PageStyle::currentStyle());
$page_style->render('menu', $page);
$page_style->render('index', $page);

View File

@ -167,10 +167,11 @@ $page['canchangelogin'] = is_capable(CAN_ADMINISTRATE, $operator);
$page['needChangePassword'] = check_password_hash($operator['vclogin'], '', $operator['vcpassword']);
$page['title'] = getlocal("page_agent.title");
$page['menuid'] = ($op_id == $operator['operatorid']) ? "profile" : "operators";
$page['requirePassword'] = (!$op_id || $page['needChangePassword']);
$page = array_merge($page, prepare_menu($operator));
$page['tabs'] = setup_operator_settings_tabs($op_id, 0);
$page_style = new PageStyle(PageStyle::currentStyle());
$page_style->render('agent', $page);
$page_style->render('operator', $page);

View File

@ -104,7 +104,22 @@ $list_options['sort'] = $sort;
if (in_isolation($operator)) {
$list_options['isolated_operator_id'] = $operator['operatorid'];
}
$page['allowedAgents'] = get_operators_list($list_options);
$operators_list = get_operators_list($list_options);
// Prepare operator to render in template
foreach ($operators_list as &$item) {
$item['vclogin'] = to_page($item['vclogin']);
$item['vclocalename'] = to_page($item['vclocalename']);
$item['vccommonname'] = to_page($item['vccommonname']);
$item['isAvailable'] = operator_is_available($item);
$item['isAway'] = operator_is_away($item);
$item['lastTimeOnline'] = time() - $item['time'];
$item['isDisabled'] = operator_is_disabled($item);
}
unset($item);
$page['allowedAgents'] = $operators_list;
$page['canmodify'] = is_capable(CAN_ADMINISTRATE, $operator);
$page['availableOrders'] = array(
array('id' => 'login', 'name' => getlocal('page_agents.login')),
@ -125,4 +140,4 @@ setlocale(LC_TIME, getstring("time.locale"));
$page = array_merge($page, prepare_menu($operator));
$page_style = new PageStyle(PageStyle::currentStyle());
$page_style->render('agents', $page);
$page_style->render('operators', $page);

View File

@ -29,11 +29,14 @@ csrf_check_token();
$operator_in_isolation = in_isolation($operator);
$op_id = verify_param("op", "/^\d{1,9}$/");
$page = array('opid' => $op_id);
$page['groups'] = $operator_in_isolation
$page = array(
'opid' => $op_id,
'errors' => array()
);
$groups = $operator_in_isolation
? get_all_groups_for_operator($operator)
: get_all_groups();
$page['errors'] = array();
$can_modify = is_capable(CAN_ADMINISTRATE, $operator);
@ -49,7 +52,7 @@ if (!$op) {
if (count($page['errors']) == 0) {
$new_groups = array();
foreach ($page['groups'] as $group) {
foreach ($groups as $group) {
if (verify_param("group" . $group['groupid'], "/^on$/", "") == "on") {
$new_groups[] = $group['groupid'];
}
@ -61,21 +64,30 @@ if (!$op) {
}
}
$page['formgroup'] = array();
$page['currentop'] = $op
? to_page(get_operator_name($op)) . " (" . $op['vclogin'] . ")"
: getlocal("not_found");
$page['canmodify'] = $can_modify ? "1" : "";
$checked_groups = array();
if ($op) {
foreach (get_operator_group_ids($op_id) as $rel) {
$page['formgroup'][] = $rel['groupid'];
$checked_groups[] = $rel['groupid'];
}
}
$page['groups'] = array();
foreach ($groups as $group) {
$group['vclocalname'] = to_page($group['vclocalname']);
$group['vclocaldescription'] = to_page($group['vclocaldescription']);
$group['checked'] = in_array($group['groupid'], $checked_groups);
$page['groups'][] = $group;
}
$page['stored'] = isset($_GET['stored']);
$page['title'] = getlocal("operator.groups.title");
$page['menuid'] = ($page['operatorid'] == $op_id) ? "profile" : "operators";
$page['menuid'] = ($operator['operatorid'] == $op_id) ? "profile" : "operators";
$page = array_merge($page, prepare_menu($operator));

View File

@ -64,18 +64,23 @@ if (!$op) {
}
}
$page['permissionsList'] = get_permission_list();
$page['formpermissions'] = array("");
$page['currentop'] = $op ? to_page(get_operator_name($op)) . " (" . $op['vclogin'] . ")" : getlocal("not_found");
$checked_permissions = array();
if ($op) {
foreach (permission_ids() as $perm => $id) {
if (is_capable($perm, $op)) {
$page['formpermissions'][] = $id;
$checked_permissions[] = $id;
}
}
}
$page['permissionsList'] = array();
foreach(get_permission_list() as $perm) {
$perm['checked'] = in_array($perm['id'], $checked_permissions);
$page['permissionsList'][] = $perm;
}
$page['stored'] = isset($_GET['stored']);
$page['title'] = getlocal("permissions.title");
$page['menuid'] = ($operator['operatorid'] == $op_id) ? "profile" : "operators";

View File

@ -44,8 +44,13 @@ $page['showbydate'] = ($statistics_type == 'bydate');
$page['showbyagent'] = ($statistics_type == 'byagent');
$page['showbypage'] = ($statistics_type == 'bypage');
$page['cron_path'] = cron_get_uri(Settings::get('cron_key'));
$page['last_cron_run'] = Settings::get('_last_cron_run');
$page['pageDescription'] = getlocal2(
"statistics.description.full",
array(
date_to_text(Settings::get('_last_cron_run')),
cron_get_uri(Settings::get('cron_key')),
)
);
$page['show_invitations_info'] = (bool) Settings::get('enabletracking');
@ -159,6 +164,15 @@ if ($statistics_type == 'bydate') {
),
array('return_rows' => Database::RETURN_ALL_ROWS)
);
// We need to pass operator name through "to_page" function because we
// cannot do it in a template.
// TODO: Remove this block when "to_page" function will be removed.
foreach ($page['reportByAgent'] as &$row) {
$row['name'] = to_page($row['name']);
}
unset($row);
$active_tab = 1;
} elseif ($statistics_type == 'bypage') {
$page['reportByPage'] = $db->query(

View File

@ -40,14 +40,19 @@ if (isset($_GET['threadid'])) {
$group = group_by_id($thread->groupId);
$thread_info = array(
'thread' => $thread,
'groupName' => get_group_name($group),
'userName' => to_page($thread->userName),
'userAddress' => get_user_addr(to_page($thread->remote)),
'userAgentVersion' => get_user_agent_version(to_page($thread->userAgent)),
'agentName' => to_page($thread->agentName),
'chatTime' => ($thread->modified - $thread->created),
'chatStarted' => $thread->created,
'groupName' => to_page(get_group_name($group)),
);
$page['thread_info'] = $thread_info;
$page['threadInfo'] = $thread_info;
// Build messages list
$last_id = -1;
$messages = $thread_info['thread']->getMessages(false, $last_id);
$messages = $thread->getMessages(false, $last_id);
$page['threadMessages'] = json_encode($messages);
}

View File

@ -63,6 +63,7 @@ foreach ($path as $k => $v) {
}
$page['title'] = getlocal("tracked.path");
$page['show_small_login'] = false;
$page_style = new PageStyle(PageStyle::currentStyle());
$page_style->render('tracked', $page);

View File

@ -43,8 +43,8 @@ $lang2 = $messages[$target];
$page = array(
'lang1' => $source,
'lang2' => $target,
'title1' => isset($lang1["localeid"]) ? $lang1["localeid"] : $source,
'title2' => isset($lang2["localeid"]) ? $lang2["localeid"] : $target,
'title1' => to_page(isset($lang1["localeid"]) ? $lang1["localeid"] : $source),
'title2' => to_page(isset($lang2["localeid"]) ? $lang2["localeid"] : $target),
'errors' => array(),
);
@ -117,6 +117,9 @@ foreach ($all_keys as $key) {
'id' => $key,
'l1' => $t_source,
'l2' => $value,
'idToPage' => to_page($key),
'l1ToPage' => to_page($t_source),
'l2ToPage' => to_page($value),
);
}
}
@ -163,4 +166,4 @@ $page['menuid'] = "translate";
$page = array_merge($page, prepare_menu($operator));
$page_style->render('translatelist', $page);
$page_style->render('translate_list', $page);

View File

@ -71,11 +71,19 @@ $page['pagination'] = $pagination['info'];
$page['pagination.items'] = $pagination['items'];
foreach ($page['pagination.items'] as $key => $item) {
$page['pagination.items'][$key] = Thread::createFromDbInfo($item);
$thread = Thread::createFromDbInfo($item);
$page['pagination.items'][$key] = array(
'threadId' => to_page($thread->id),
'userName' => to_page($thread->userName),
'userAddress' => get_user_addr(to_page($thread->remote)),
'agentName' => to_page($thread->agentName),
'chatTime' => ($thread->modified - $thread->created),
'chatCreated' => $thread->created,
);
}
$page['title'] = getlocal("page.analysis.userhistory.title");
$page['menuid'] = "history";
$page_style = new PageStyle(PageStyle::currentStyle());
$page_style->render('userhistory', $page);
$page_style->render('user_history', $page);

View File

@ -35,7 +35,7 @@ notify_operator_alive($operator['operatorid'], $status);
$_SESSION[SESSION_PREFIX . "operatorgroups"] = get_operator_groups_list($operator['operatorid']);
$page = array();
$page['havemenu'] = isset($_GET['nomenu']) ? "0" : "1";
$page['havemenu'] = !isset($_GET['nomenu']);
$page['showpopup'] = (Settings::get('enablepopupnotification') == '1') ? "1" : "0";
$page['frequency'] = Settings::get('updatefrequency_operator');
$page['istatus'] = $status;
@ -68,4 +68,4 @@ $page = array_merge($page, get_plugins_data('users'));
$page = array_merge($page, prepare_menu($operator));
$page_style->render('pending_users', $page);
$page_style->render('users', $page);

View File

@ -800,10 +800,13 @@ table.awaiting .no-threads, table.awaiting .no-visitors {
}
.dashitem {
width:33%;
margin: 0px 2em 5em 0px;
padding: 5px 2em 5em;
width:32%;
vertical-align: top;
display: inline-block;
}
.dashitem-content {
padding: 5px 2em 5em;
}
.dashitem:hover {

View File

@ -18,3 +18,8 @@
display: inline;
zoom: 1;
}
.dashitem {
display: inline;
zoom: 1;
}

View File

@ -0,0 +1,13 @@
{{#if errors}}
<div class="errinfo">
<img src="{{stylePath}}/images/icon_err.gif" width="40" height="40" border="0" alt="" class="left"/>
{{l10n "errors.header"}}
{{#each errors}}
{{l10n "errors.prefix"}}
{{{this}}}
{{l10n "errors.suffix"}}
{{/each}}
{{l10n "errors.footer"}}
</div>
<br clear="all"/>
{{/if}}

View File

@ -0,0 +1,14 @@
<div id="sidebar">
<ul>
<li>
<h2><b>{{l10n "lang.choose"}}</b></h2>
<ul class="locales">
{{#each localeLinks}}
<li {{#ifEqual @key ../currentLocale}} class="active"{{/ifEqual}}>
<a href="?locale={{@key}}">{{this}}</a>
</li>
{{/each}}
</ul>
</li>
</ul>
</div>

View File

@ -0,0 +1,51 @@
<div id="sidebar">
<ul>
{{#if warnOffline}}
{{#unless isOnline}}
<li id="offwarn">
<img src="{{stylePath}}/images/dash/warn.gif" alt="" width="24" height="24"/>
<p>{{{goOnlineLink}}}</p>
</li>
{{/unless}}
{{/if}}
{{#if operator}}
<li>
<h2>{{l10n "right.main"}}</h2>
<ul class="submenu">
<li{{#ifEqual menuid "main"}} class="active"{{/ifEqual}}><a href="{{mibewRoot}}/operator/index.php">{{l10n "topMenu.main"}}</a></li>
<li{{#ifEqual menuid "users"}} class="active"{{/ifEqual}}><a href="{{mibewRoot}}/operator/users.php">{{l10n "topMenu.users"}}</a> <span class="small">(<a class="inner" href="{{mibewRoot}}/operator/users.php?nomenu">{{l10n "topMenu.users.nomenu"}}</a>)</span></li>
<li{{#ifEqual menuid "history"}} class="active"{{/ifEqual}}><a href="{{mibewRoot}}/operator/history.php">{{l10n "page_analysis.search.title"}}</a></li>
{{#if showstat}}
<li{{#ifEqual menuid "statistics"}} class="active"{{/ifEqual}}><a href="{{mibewRoot}}/operator/statistics.php">{{l10n "statistics.title"}}</a></li>
{{/if}}
{{#if showban}}
<li{{#ifEqual menuid "blocked"}} class="active"{{/ifEqual}}><a href="{{mibewRoot}}/operator/blocked.php">{{l10n "menu.blocked"}}</a></li>
{{/if}}
</ul>
</li>
<li>
<h2>{{l10n "right.administration"}}</h2>
<ul class="submenu">
<li{{#ifEqual menuid "canned"}} class="active"{{/ifEqual}}><a href="{{mibewRoot}}/operator/canned.php">{{l10n "menu.canned"}}</a></li>
{{#if showadmin}}
<li{{#ifEqual menuid "getcode"}} class="active"{{/ifEqual}}><a href="{{mibewRoot}}/operator/getcode.php">{{l10n "leftMenu.client_gen_button"}}</a></li>
<li{{#ifEqual menuid "operators"}} class="active"{{/ifEqual}}><a href="{{mibewRoot}}/operator/operators.php">{{l10n "leftMenu.client_agents"}}</a></li>
<li{{#ifEqual menuid "groups"}} class="active"{{/ifEqual}}><a href="{{mibewRoot}}/operator/groups.php">{{l10n "menu.groups"}}</a></li>
<li{{#ifEqual menuid "settings"}} class="active"{{/ifEqual}}><a href="{{mibewRoot}}/operator/settings.php">{{l10n "leftMenu.client_settings"}}</a></li>
<li{{#ifEqual menuid "translate"}} class="active"{{/ifEqual}}><a href="{{mibewRoot}}/operator/translate.php">{{l10n "menu.translate"}}</a></li>
<li{{#ifEqual menuid "updates"}} class="active"{{/ifEqual}}><a href="{{mibewRoot}}/operator/updates.php">{{l10n "menu.updates"}}</a></li>
{{/if}}
{{#if currentopid}}
<li{{#ifEqual menuid "profile"}} class="active"{{/ifEqual}}><a href="{{mibewRoot}}/operator/operator.php?op={{currentopid}}">{{l10n "menu.profile"}}</a></li>
{{/if}}
</ul>
</li>
<li>
<h2>{{l10n "right.other"}}</h2>
<ul class="submenu">
<li><a href="{{mibewRoot}}/operator/logout.php">{{l10n "topMenu.logoff"}}</a></li>
</ul>
</li>
{{/if}}
</ul>
</div>

View File

@ -0,0 +1,11 @@
{{#if tabs}}
<ul class="tabs">
{{#each tabs}}
{{#if this}}
<li><a href="{{this}}">{{@key}}</a></li>
{{else}}
<li class="active"><a href="#">{{@key}}</a></li>
{{/if}}
{{/each}}
</ul>
{{/if}}

View File

@ -0,0 +1,84 @@
{{#extends "layout"}}
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "content"}}
{{l10n "page_avatar.intro"}}
<br />
<br />
{{> _errors}}
<form name="avatarForm" method="post" action="{{mibewRoot}}/operator/avatar.php" enctype="multipart/form-data">
{{csrfTokenInput}}
<input type="hidden" name="op" value="{{opid}}"/>
<div>
{{> _tabs}}
<div class="mform">
<div class="formtop">
<div class="formtopi"></div>
</div>
<div class="forminner">
<p><b>{{currentop}}&lrm;</b></p>
<div class="fieldForm">
{{#if avatar}}
<div class="field">
<div class="flabel">{{l10n "form.field.avatar.current"}}</div>
<div class="fvalue">
<img src="{{avatar}}" alt="cannot load avatar"/><br/>
{{#if canmodify}}
<a class="formauth" href="{{mibewRoot}}/operator/avatar.php?op={{opid}}&amp;delete=true">
{{l10n "page_agent.clear_avatar"}}
</a>
{{/if}}
</div>
<div class="fdescr"> &mdash; {{l10n "form.field.avatar.current.description"}}</div>
<br clear="all"/>
</div>
{{else}}
{{#unless canmodify}}
<div class="field">
<div class="fvaluenodesc">
No avatar
</div>
</div>
{{/unless}}
{{/if}}
{{#if canmodify}}
<div class="field">
<label for="avatarFile" class="flabel">
{{l10n "form.field.avatar.upload"}}<span class="required">*</span>
</label>
<div class="fvalue">
<input id="avatarFile" type="file" name="avatarFile" size="40" value="{{formavatarFile}}" class="formauth"/>
</div>
<label for="avatarFile" class="fdescr"> &mdash; {{l10n "form.field.avatar.upload.description"}}</label>
<br clear="all"/>
</div>
<div class="fbutton">
<input type="image" name="save" value="" src="{{mibewRoot}}{{l10n "image.button.save"}}" alt="{{l10n "button.save"}}"/>
</div>
{{/if}}
</div>
</div>
<div class="formbottom">
<div class="formbottomi"></div>
</div>
</div>
</div>
<div class="asterisk">
{{l10n "common.asterisk_explanation"}}
</div>
</form>
{{/override}}
{{/extends}}

View File

@ -0,0 +1,85 @@
{{#extends "layout"}}
{{#override "content"}}
{{#if saved}}
{{l10n "page_ban.sent" address}}
<script type="text/javascript"><!--
if(window.opener && window.opener.location) {
window.opener.location.reload();
}
setTimeout( (function() { window.close(); }), 1500 );
//--></script>
{{else}}
{{l10n "page_ban.intro"}}
<br/>
<br/>
{{> _errors}}
{{#if thread}}
{{l10n "page_ban.thread" thread}}<br/>
<br/>
{{/if}}
<form name="banForm" method="post" action="{{mibewRoot}}/operator/ban.php">
{{csrfTokenInput}}
<input type="hidden" name="banId" value="{{banId}}"/>
{{#if threadid}}
<input type="hidden" name="threadid" value="{{threadid}}"/>
{{/if}}
<div class="mform">
<div class="formtop">
<div class="formtopi"></div>
</div>
<div class="forminner">
<div class="fieldForm">
<div class="field">
<label for="address" class="flabel">{{l10n "form.field.address"}}<span class="required">*</span></label>
<div class="fvalue">
<input id="address" type="text" name="address" size="40" value="{{formaddress}}" class="formauth"/>
</div>
<label for="address" class="fdescr"> &mdash; {{l10n "form.field.address.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="days" class="flabel">{{l10n "form.field.ban_days"}}<span class="required">*</span></label>
<div class="fvalue">
<input id="days" type="text" name="days" size="4" value="{{formdays}}" class="formauth"/>
</div>
<label for="days" class="fdescr"> &mdash; {{l10n "form.field.ban_days.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="comment" class="flabel">{{l10n "form.field.ban_comment"}}<span class="required">*</span></label>
<div class="fvalue">
<input id="comment" type="text" name="comment" size="40" value="{{formcomment}}" class="formauth"/>
</div>
<label for="comment" class="fdescr"> &mdash; {{l10n "form.field.ban_comment.description"}}</label>
<br clear="all"/>
</div>
<div class="fbutton">
<input type="image" name="save" value="" src="{{mibewRoot}}{{l10n "image.button.save"}}" alt="{{l10n "button.save"}}"/>
</div>
</div>
</div>
<div class="formbottom">
<div class="formbottomi"></div>
</div>
</div>
<div class="asterisk">
{{l10n "common.asterisk_explanation"}}
</div>
</form>
{{/if}}
{{/override}}
{{/extends}}

View File

@ -0,0 +1,81 @@
{{#extends "layout"}}
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "header"}}
<script type="text/javascript" language="javascript" src="{{mibewRoot}}/js/libs/jquery.min.js"></script>
<script type="text/javascript" language="javascript"><!--
(function($) {
$(document).ready(function(){
var confirmMessage = "{{#jsString}}{{l10n 'page_bans.confirm' '{addr}'}}{{/jsString}}";
$('a.removelink').click(function(){
var addr = $.trim($("#t" + this.id).text());
return confirm(confirmMessage.replace("{addr}", addr));
});
});
})(jQuery);
//--></script>
{{/override}}
{{#override "content"}}
{{l10n "page_ban.intro"}}
<br />
<br />
{{> _errors}}
<div class="tabletool">
<img src="{{stylePath}}/images/buttons/createban.gif" border="0" alt=""/>
<a href="{{mibewRoot}}/operator/ban.php" title="{{l10n "page_bans.add"}}"
onclick="this.newWindow = window.open('{{mibewRoot}}/operator/ban.php', '', 'toolbar=0,scrollbars=1,location=0,status=1,menubar=0,width=640,height=480,resizable=1');this.newWindow.focus();this.newWindow.opener=window;return false;">{{l10n "page_bans.add"}}</a>
</div>
<br clear="all"/>
<table class="list">
<thead>
<tr class="header">
<th>{{l10n "form.field.address"}}</th>
<th>{{l10n "page_bans.to"}}</th>
<th>{{l10n "form.field.ban_comment"}}</th>
<th>{{l10n "page_bans.edit"}}</th>
</tr>
</thead>
<tbody>
{{#each [pagination.items]}}
<tr>
<td class="notlast">
<a href="{{../mibewRoot}}/operator/history.php?q={{address}}&type=visitor" class="man" id="ti{{banid}}">
{{address}}
</a>
</td>
<td class="notlast">{{formatDate till}}</td>
<td>{{cutString comment "30"}}</td>
<td>
<a class="removelink" id="i{{banid}}" href="{{../mibewRoot}}/operator/blocked.php?act=del&amp;id={{banid}}{{csrfTokenInUrl}}">
{{l10n "remove.item"}}
</a>,
<a href="{{../mibewRoot}}/operator/ban.php?id={{banid}}"
onclick="this.newWindow = window.open('{{../mibewRoot}}/operator/ban.php?id={{banid}}', '', 'toolbar=0,scrollbars=1,location=0,status=1,menubar=0,width=640,height=480,resizable=1');this.newWindow.focus();this.newWindow.opener=window;return false;">{{l10n "edit.item"}}</a>
</td>
</tr>
{{else}}
<tr>
<td colspan="4">
{{l10n "tag.pagination.no_items.elements"}}
</td>
</tr>
{{/each}}
</tbody>
</table>
{{#if pagination}}
<br />
{{generatePagination stylePath pagination}}
{{/if}}
{{/override}}
{{/extends}}

View File

@ -0,0 +1,93 @@
{{#extends "layout"}}
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "content"}}
{{l10n "canned.descr"}}
<br />
<br />
{{> _errors}}
<form name="cannedForm" method="get" action="{{mibewRoot}}/operator/canned.php">
<div class="mform">
<div class="formtop">
<div class="formtopi"></div>
</div>
<div class="forminner">
<div class="packedFormField">
{{l10n "canned.locale"}}<br/>
<select name="lang" onchange="this.form.submit();">
{{#each locales}}
<option value="{{id}}"{{#ifEqual id ../formlang}} selected="selected"{{/ifEqual}}>{{name}}</option>
{{/each}}
</select>
</div>
<div class="packedFormField">
{{l10n "canned.group"}}<br/>
<select name="group" onchange="this.form.submit();">
{{#each groups}}
<option value="{{groupid}}"{{#ifEqual groupid ../formgroup}} selected="selected"{{/ifEqual}}>{{#repeat level}}&nbsp;&nbsp;{{/repeat}}{{vclocalname}}</option>
{{/each}}
</select>
</div>
<br clear="all"/>
</div>
<div class="formbottom">
<div class="formbottomi"></div>
</div>
</div>
</form>
<br/>
<div class="tabletool">
<img src="{{stylePath}}/images/buttons/createban.gif" border="0" alt=""/>
<a href="{{mibewRoot}}/operator/cannededit.php?lang={{formlang}}&amp;group={{formgroup}}" target="_blank"
onclick="this.newWindow = window.open('{{mibewRoot}}/operator/cannededit.php?lang={{formlang}}&amp;group={{formgroup}}', '', 'toolbar=0,scrollbars=1,location=0,status=1,menubar=0,width=640,height=480,resizable=1');this.newWindow.focus();this.newWindow.opener=window;return false;">
{{l10n "canned.add"}}
</a>
</div>
<br clear="all"/>
<table class="translate">
<thead>
<tr class="header">
<th>{{l10n "canned.message_title"}}</th>
<th>{{l10n "cannededit.message"}}</th>
<th>{{l10n "canned.actions"}}</th>
</tr>
</thead>
<tbody>
{{#each [pagination.items]}}
<tr>
<td>
{{#replace "\n" ""}}{{vctitle}}{{/replace}}
</td>
<td>
{{#replace "\n" "<br/>"}}{{vcvalue}}{{/replace}}
</td>
<td>
<a href="{{../mibewRoot}}/operator/cannededit.php?key={{id}}" target="_blank"
onclick="this.newWindow = window.open('{{../mibewRoot}}/operator/cannededit.php?key={{id}}', '', 'toolbar=0,scrollbars=1,location=0,status=1,menubar=0,width=640,height=480,resizable=1');this.newWindow.focus();this.newWindow.opener=window;return false;">{{l10n "canned.actions.edit"}}</a>,
<a href="{{../mibewRoot}}/operator/canned.php?act=delete&amp;key={{id}}&amp;lang={{../formlang}}&amp;group={{../formgroup}}{{csrfTokenInUrl}}">{{l10n "canned.actions.del"}}</a>
</td>
</tr>
{{else}}
<tr>
<td colspan="3">{{l10n "tag.pagination.no_items.elements"}}</td>
</tr>
{{/each}}
</tbody>
</table>
{{#if pagination}}
<br />
{{generatePagination stylePath pagination}}
{{/if}}
{{/override}}
{{/extends}}

View File

@ -0,0 +1,67 @@
{{#extends "layout"}}
{{#override "content"}}
{{#if saved}}
{{l10n "cannededit.done"}}
<script type="text/javascript"><!--
if(window.opener && window.opener.location) {
window.opener.location.reload();
}
setTimeout( (function() { window.close(); }), 1500 );
//--></script>
{{else}}
{{#if key}}
{{l10n "cannededit.descr"}}
{{else}}
{{l10n "cannednew.descr"}}
{{/if}}
<br/>
<br/>
{{> _errors}}
<form name="cannedForm" method="post" action="{{mibewRoot}}/operator/cannededit.php">
{{csrfTokenInput}}
<input type="hidden" name="key" value="{{key}}"/>
{{#unless key}}
<input type="hidden" name="lang" value="{{locale}}"/>
<input type="hidden" name="group" value="{{groupid}}"/>
{{/unless}}
<div class="mform">
<div class="formtop">
<div class="formtopi"></div>
</div>
<div class="forminner">
<div class="fieldForm">
<div class="field">
<label for="titlefield" class="flabel">{{l10n "canned.message_title"}}</label>
<div class="fvaluenodesc">
<input id="titlefield" type="text" name="title" class="wide" maxlength="100" value="{{formtitle}}"/>
</div>
</div>
<div class="field">
<label for="message" class="flabel">{{l10n "cannededit.message"}}</label>
<div class="fvaluenodesc">
<textarea id="message" name="message" cols="20" rows="5" class="wide">{{formmessage}}</textarea>
</div>
</div>
<div class="fbutton">
<input type="image" name="save" value="" src="{{mibewRoot}}{{l10n "image.button.save"}}" alt="{{l10n "button.save"}}"/>
</div>
</div>
</div>
<div class="formbottom">
<div class="formbottomi"></div>
</div>
</div>
</form>
{{/if}}
{{/override}}
{{/extends}}

View File

@ -0,0 +1,67 @@
{{#extends "layout"}}
{{#override "content"}}
<div id="confirmpane">
<div class="mform">
<div class="formtop">
<div class="formtopi"></div>
</div>
<div class="forminner">
{{l10n "confirm.take.message" user agent}}
<br/>
<br/>
<br/>
<div>
<table class="nicebutton">
<tr>
<td>
<a href="{{link}}">
<img src="{{stylePath}}/images/submit.gif" width="40" height="35" border="0" alt="" />
</a>
</td>
<td class="submit">
<a href="{{link}}">
{{l10n "confirm.take.yes"}}
</a>
</td>
<td>
<a href="{{link}}">
<img src="{{stylePath}}/images/submitrest.gif" width="10" height="35" border="0" alt="" />
</a>
</td>
</tr>
</table>
<table class="nicebutton">
<tr>
<td>
<a href="javascript:window.close();">
<img src="{{stylePath}}/images/submit.gif" width="40" height="35" border="0" alt="" />
</a>
</td>
<td class="submit">
<a href="javascript:window.close();">
{{l10n "confirm.take.no"}}
</a>
</td>
<td>
<a href="javascript:window.close();">
<img src="{{stylePath}}/images/submitrest.gif" width="10" height="35" border="0" alt="" />
</a>
</td>
</tr>
</table>
<br clear="all"/>
</div>
</div>
<div class="formbottom">
<div class="formbottomi"></div>
</div>
</div>
</div>
{{/override}}
{{/extends}}

View File

@ -0,0 +1,188 @@
{{#extends "layout"}}
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "header"}}
<script type="text/javascript" language="javascript" src="{{mibewRoot}}/js/libs/jquery.min.js"></script>
<script type="text/javascript" language="javascript" src="{{stylePath}}/js/features.js"></script>
{{/override}}
{{#override "content"}}
{{l10n "page_settings.intro"}}
<br />
<br />
{{> _errors}}
{{#if stored}}
<div id="formmessage">{{l10n "features.saved"}}</div>
{{/if}}
<form name="features" method="post" action="{{mibewRoot}}/operator/features.php">
{{csrfTokenInput}}
<input type="hidden" name="sent" value="true"/>
<div>
{{> _tabs}}
<div class="mform">
<div class="formtop">
<div class="formtopi"></div>
</div>
<div class="forminner">
<div class="fieldForm">
<div class="field">
<label for="usercanchangename" class="flabel">{{l10n "settings.usercanchangename"}}</label>
<div class="fvalue">
<input id="usercanchangename" type="checkbox" name="usercanchangename" value="on"{{#if formusercanchangename}} checked="checked"{{/if}}{{#unless canmodify}} disabled="disabled"{{/unless}}/>
</div>
<label for="usercanchangename" class="fdescr"> &mdash; {{l10n "settings.usercanchangename.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="enablessl" class="flabel">{{l10n "settings.enablessl"}}</label>
<div class="fvalue">
<input id="enablessl" type="checkbox" name="enablessl" value="on"{{#if formenablessl}} checked="checked"{{/if}}{{#unless canmodify}} disabled="disabled"{{/unless}}/>
</div>
<label for="enablessl" class="fdescr"> &mdash; {{l10n "settings.enablessl.description"}}</label>
<br clear="all"/>
<div class="subfield underssl">
<label for="forcessl" class="flabel">{{l10n "settings.forcessl"}}</label>
<div class="fvalue">
<input id="forcessl" type="checkbox" name="forcessl" value="on"{{#if formforcessl}} checked="checked"{{/if}}{{#unless canmodify}} disabled="disabled"{{/unless}}/>
</div>
<label for="forcessl" class="fdescr"> &mdash; {{l10n "settings.forcessl.description"}}</label>
<br clear="all"/>
</div>
</div>
<div class="field">
<label for="enablegroups" class="flabel">{{l10n "settings.enablegroups"}}</label>
<div class="fvalue">
<input id="enablegroups" type="checkbox" name="enablegroups" value="on"{{#if formenablegroups}} checked="checked"{{/if}}{{#unless canmodify}} disabled="disabled"{{/unless}}/>
</div>
<label for="enablegroups" class="fdescr"> &mdash; {{l10n "settings.enablegroups.description"}}</label>
<br clear="all"/>
<div class="subfield undergroups">
<label for="enablegroupsisolation" class="flabel">{{l10n "settings.enablegroupsisolation"}}</label>
<div class="fvalue">
<input id="enablegroupsisolation" type="checkbox" name="enablegroupsisolation" value="on"{{#if formenablegroupsisolation}} checked="checked"{{/if}}{{#unless canmodify}} disabled="disabled"{{/unless}}/>
</div>
<label for="enablegroupsisolation" class="fdescr"> &mdash; {{l10n "settings.enablegroupsisolation.description"}}</label>
<br clear="all"/>
</div>
</div>
<div class="field">
<label for="enablestatistics" class="flabel">{{l10n "settings.enablestatistics"}}</label>
<div class="fvalue">
<input id="enablestatistics" type="checkbox" name="enablestatistics" value="on"{{#if formenablestatistics}} checked="checked"{{/if}}{{#unless canmodify}} disabled="disabled"{{/unless}}/>
</div>
<label for="enablestatistics" class="fdescr"> &mdash; {{l10n "settings.enablestatistics.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="enabletracking" class="flabel">{{l10n "settings.enabletracking"}}</label>
<div class="fvalue">
<input id="enabletracking" type="checkbox" name="enabletracking" value="on"{{#if formenabletracking}} checked="checked"{{/if}}{{#unless canmodify}} disabled="disabled"{{/unless}}/>
</div>
<label for="enabletracking" class="fdescr"> &mdash; {{l10n "settings.enabletracking.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="enableban" class="flabel">{{l10n "settings.enableban"}}</label>
<div class="fvalue">
<input id="enableban" type="checkbox" name="enableban" value="on"{{#if formenableban}} checked="checked"{{/if}}{{#unless canmodify}} disabled="disabled"{{/unless}}/>
</div>
<label for="enableban" class="fdescr"> &mdash; {{l10n "settings.enableban.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="enablepresurvey" class="flabel">{{l10n "settings.enablepresurvey"}}</label>
<div class="fvalue">
<input id="enablepresurvey" type="checkbox" name="enablepresurvey" value="on"{{#if formenablepresurvey}} checked="checked"{{/if}}{{#unless canmodify}} disabled="disabled"{{/unless}}/>
</div>
<label for="enablepresurvey" class="fdescr"> &mdash; {{l10n "settings.enablepresurvey.description"}}</label>
<br clear="all"/>
<div class="subfield undersurvey">
<label for="surveyaskmail" class="flabel">{{l10n "settings.survey.askmail"}}</label>
<div class="fvalue">
<input id="surveyaskmail" type="checkbox" name="surveyaskmail" value="on"{{#if formsurveyaskmail}} checked="checked"{{/if}}{{#unless canmodify}} disabled="disabled"{{/unless}}/>
</div>
<label for="surveyaskmail" class="fdescr"> &mdash; {{l10n "settings.survey.askmail.description"}}</label>
<br clear="all"/>
</div>
<div class="subfield undersurvey">
<label for="surveyaskgroup" class="flabel">{{l10n "settings.survey.askgroup"}}</label>
<div class="fvalue">
<input id="surveyaskgroup" type="checkbox" name="surveyaskgroup" value="on"{{#if formsurveyaskgroup}} checked="checked"{{/if}}{{#unless canmodify}} disabled="disabled"{{/unless}}/>
</div>
<label for="surveyaskgroup" class="fdescr"> &mdash; {{l10n "settings.survey.askgroup.description"}}</label>
<br clear="all"/>
</div>
<div class="subfield undersurvey">
<label for="surveyaskmessage" class="flabel">{{l10n "settings.survey.askmessage"}}</label>
<div class="fvalue">
<input id="surveyaskmessage" type="checkbox" name="surveyaskmessage" value="on"{{#if formsurveyaskmessage}} checked="checked"{{/if}}{{#unless canmodify}} disabled="disabled"{{/unless}}/>
</div>
<label for="surveyaskmessage" class="fdescr"> &mdash; {{l10n "settings.survey.askmessage.description"}}</label>
<br clear="all"/>
</div>
</div>
<div class="field">
<label for="enablepopupnotification" class="flabel">{{l10n "settings.popup_notification"}}</label>
<div class="fvalue">
<input id="enablepopupnotification" type="checkbox" name="enablepopupnotification" value="on"{{#if formenablepopupnotification}} checked="checked"{{/if}}{{#unless canmodify}} disabled="disabled"{{/unless}}/>
</div>
<label for="enablepopupnotification" class="fdescr"> &mdash; {{l10n "settings.popup_notification.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="showonlineoperators" class="flabel">{{l10n "settings.show_online_operators"}}</label>
<div class="fvalue">
<input id="showonlineoperators" type="checkbox" name="showonlineoperators" value="on"{{#if formshowonlineoperators}} checked="checked"{{/if}}{{#unless canmodify}} disabled="disabled"{{/unless}}/>
</div>
<label for="showonlineoperators" class="fdescr"> &mdash; {{l10n "settings.show_online_operators.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="enablecaptcha" class="flabel">{{l10n "settings.leavemessage_captcha"}}</label>
<div class="fvalue">
<input id="enablecaptcha" type="checkbox" name="enablecaptcha" value="on"{{#if formenablecaptcha}} checked="checked"{{/if}}{{#unless canmodify}} disabled="disabled"{{/unless}}/>
</div>
<label for="enablecaptcha" class="fdescr"> &mdash; {{l10n "settings.leavemessage_captcha.description"}}</label>
<br clear="all"/>
</div>
{{#if canmodify}}
<div class="fbutton">
<input type="image" name="save" value="" src="{{mibewRoot}}{{l10n "image.button.save"}}" alt="{{l10n "button.save"}}"/>
</div>
{{/if}}
</div>
</div>
<div class="formbottom">
<div class="formbottomi"></div>
</div>
</div>
</div>
</form>
{{/override}}
{{/extends}}

View File

@ -0,0 +1,144 @@
{{#extends "layout"}}
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "content"}}
{{l10n "page.gen_button.intro"}}
<br />
<br />
{{> _errors}}
<form name="buttonCodeForm" method="get" action="{{mibewRoot}}/operator/getcode.php">
<div class="mform">
<div class="formtop">
<div class="formtopi"></div>
</div>
<div class="forminner">
<div class="fieldForm">
<div class="fieldinrow">
<label for="lang" class="flabel">{{l10n "page.gen_button.choose_locale"}}</label>
<div class="fvaluenodesc">
<select id="lang" name="lang" onchange="this.form.submit();">
{{#each availableLocales}}
<option value="{{this}}"{{#ifEqual this ../formlang}} selected="selected"{{/ifEqual}}>{{this}}</option>
{{/each}}
</select>
</div>
</div>
<div class="fieldinrow">
<label for="style" class="flabel">{{l10n "page.gen_button.choose_style"}}</label>
<div class="fvaluenodesc">
<select id="style" name="style" onchange="this.form.submit();">
{{#each availableChatStyles}}
"<option value="{{@key}}"{{#ifEqual @key ../formstyle}} selected="selected"{{/ifEqual}}>{{this}}</option>
{{/each}}
</select>
</div>
</div>
<br clear="all"/>
<div class="fieldinrow">
<label for="codetype" class="flabel">{{l10n "page.gen_button.choose_type"}}</label>
<div class="fvaluenodesc">
<select id="codetype" name="codetype" onchange="this.form.submit();">
{{#each availableCodeTypes}}
<option value="{{@key}}"{{#ifEqual @key ../formcodetype}} selected="selected"{{/ifEqual}}>{{this}}</option>
{{/each}}
</select>
</div>
</div>
<br clear="all"/>
{{#unless operator_code}}
<div class="fieldinrow">
<label for="i" class="flabel">{{l10n "page.gen_button.choose_image"}}</label>
<div class="fvaluenodesc">
<select id="i" name="i" onchange="this.form.submit();">
{{#each availableImages}}
<option value="{{this}}"{{#ifEqual this ../formimage}} selected="selected"{{/ifEqual}}>{{this}}</option>
{{/each}}
</select>
</div>
</div>
{{#if enabletracking}}
<div class="fieldinrow">
<label for="invitationstyle" class="flabel">{{l10n "page.gen_button.choose_invitationstyle"}}</label>
<div class="fvaluenodesc">
<select id="invitationstyle" name="invitationstyle" onchange="this.form.submit();">
{{#each availableInvitationStyles}}
<option value="{{@key}}"{{#ifEqual @key ../forminvitationstyle}} selected="selected"{{/ifEqual}}>{{this}}</option>
{{/each}}
</select>
</div>
</div>
{{/if}}
<br clear="all"/>
{{/unless}}
<div class="fieldinrow">
<label for="group" class="flabel">{{l10n "page.gen_button.choose_group"}}</label>
<div class="fvaluenodesc">
<select id="group" name="group" onchange="this.form.submit();">
{{#each groups}}
<option value="{{groupid}}"{{#ifEqual groupid ../formgroup}} selected="selected"{{/ifEqual}}>{{#repeat level}}&nbsp;&nbsp;{{/repeat}}{{vclocalname}}</option>
{{/each}}
</select>
</div>
</div>
<br clear="all"/>
<div class="fieldinrow">
<label for="hostname" class="flabel">{{l10n "page.gen_button.include_site_name"}}</label>
<div class="fvaluenodesc">
<input id="hostname" type="checkbox" name="hostname" value="on"{{#if formhostname}} checked="checked"{{/if}} onchange="this.form.submit();"/>
</div>
</div>
{{#if formhostname}}
<div class="fieldinrow">
<label for="secure" class="flabel">{{l10n "page.gen_button.secure_links"}}</label>
<div class="fvaluenodesc">
<input id="secure" type="checkbox" name="secure" value="on"{{#if formsecure}} checked="checked"{{/if}} onchange="this.form.submit();"/>
</div>
</div>
{{/if}}
<br clear="all"/>
<div class="field">
<label for="modsecurity" class="flabel">{{l10n "page.gen_button.modsecurity"}}</label>
<div class="fvaluenodesc">
<input id="modsecurity" type="checkbox" name="modsecurity" value="on"{{#if formmodsecurity}} checked="checked"{{/if}} onchange="this.form.submit();"/>
</div>
</div>
<div class="field">
<label for="buttonCode" class="flabel">{{l10n "page.gen_button.code"}}</label>
<div class="fvaluewithta" dir="ltr">
<textarea id="buttonCode" cols="44" rows="15">{{buttonCode}}</textarea>
</div>
<label for="buttonCode" class="fdescr">{{l10n "page.gen_button.code.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<div class="flabel">{{l10n "page.gen_button.sample"}}</div>
<div class="fvaluenodesc">
{{{buttonCode}}}
</div>
</div>
</div>
</div>
<div class="formbottom">
<div class="formbottomi"></div>
</div>
</div>
</form>
{{/override}}
{{/extends}}

View File

@ -0,0 +1,164 @@
{{#extends "layout"}}
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "header"}}
<script type="text/javascript" language="javascript" src="{{mibewRoot}}/js/libs/jquery.min.js"></script>
<script type="text/javascript" language="javascript" src="{{stylePath}}/js/group.js"></script>
{{/override}}
{{#override "content"}}
{{#if grid}}
{{l10n "page.group.intro"}}
{{else}}
{{l10n "page.group.create_new"}}
{{/if}}
<br />
<br />
{{> _errors}}
{{#if stored}}
<div id="formmessage">{{l10n "data.saved"}}</div>
{{/if}}
<form name="groupForm" method="post" action="{{mibewRoot}}/operator/group.php">
{{csrfTokenInput}}
<input type="hidden" name="gid" value="{{grid}}"/>
<div>
{{> _tabs}}
<div class="mform">
<div class="formtop">
<div class="formtopi"></div>
</div>
<div class="forminner">
<div class="fieldForm">
<div class="field">
<label for="name" class="flabel">{{l10n "form.field.groupname"}}<span class="required">*</span></label>
<div class="fvalue">
<input id="name" type="text" name="name" size="40" value="{{formname}}" class="formauth"/>
</div>
<label for="name" class="fdescr"> &mdash; {{l10n "form.field.groupname.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="description" class="flabel">{{l10n "form.field.groupdesc"}}</label>
<div class="fvalue">
<input id="description" type="text" name="description" size="40" value="{{formdescription}}" class="formauth"/>
</div>
<label for="description" class="fdescr"> &mdash; {{l10n "form.field.groupdesc.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="commonname" class="flabel">{{l10n "form.field.groupcommonname"}}</label>
<div class="fvalue">
<input id="commonname" type="text" name="commonname" size="40" value="{{formcommonname}}" class="formauth"/>
</div>
<label for="commonname" class="fdescr"> &mdash; {{l10n "form.field.groupcommonname.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="commondescription" class="flabel">{{l10n "form.field.groupcommondesc"}}</label>
<div class="fvalue">
<input id="commondescription" type="text" name="commondescription" size="40" value="{{formcommondescription}}" class="formauth"/>
</div>
<label for="commondescription" class="fdescr"> &mdash; {{l10n "form.field.groupcommondesc.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="email" class="flabel">{{l10n "form.field.mail"}}</label>
<div class="fvalue">
<input id="email" type="text" name="email" size="40" value="{{formemail}}" class="formauth"/>
</div>
<label for="email" class="fdescr"> &mdash; {{l10n "form.field.groupemail.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="weight" class="flabel">{{l10n "form.field.groupweight"}}</label>
<div class="fvalue">
<input id="weight" type="text" name="weight" size="40" value="{{formweight}}" class="formauth"/>
</div>
<label for="weight" class="fdescr"> &mdash; {{l10n "form.field.groupweight.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="parentgroup" class="flabel">{{l10n "form.field.groupparent"}}</label>
<div class="fvalue">
<select name="parentgroup" id="parentgroup">
{{#each availableParentGroups}}
<option value="{{groupid}}"{{#ifEqual groupid ../formparentgroup}} selected="selected"{{/ifEqual}}>{{#repeat level}}&nbsp;&nbsp;{{/repeat}}{{vclocalname}}</option>
{{/each}}
</select>
</div>
<label for="parentgroup" class="fdescr"> &mdash; {{l10n "form.field.groupparent.description"}}</label>
<br clear="all"/>
</div>
<div id="extrafields">
<div class="fheader">{{l10n "page.group.extrafields.title"}}</div>
<div class="field">
<label for="titlefield" class="flabel">{{l10n "settings.company.title"}}</label>
<div class="fvalue">
<input id="titlefield" type="text" name="title" size="40" value="{{formtitle}}" class="formauth"/>
</div>
<label for="titlefield" class="fdescr"> &mdash; {{l10n "settings.company.title.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="chattitle" class="flabel">{{l10n "settings.chat.title"}}</label>
<div class="fvalue">
<input id="chattitle" type="text" name="chattitle" size="40" value="{{formchattitle}}" class="formauth"/>
</div>
<label for="chattitle" class="fdescr"> &mdash; {{l10n "settings.chat.title"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="logofield" class="flabel">{{l10n "settings.logo"}}</label>
<div class="fvalue">
<input id="logofield" type="text" name="logo" size="40" value="{{formlogo}}" class="formauth"/>
</div>
<label for="logofield" class="fdescr"> &mdash; {{l10n "settings.logo.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="hosturl" class="flabel">{{l10n "settings.host"}}</label>
<div class="fvalue">
<input id="hosturl" type="text" name="hosturl" size="40" value="{{formhosturl}}" class="formauth"/>
</div>
<label for="hosturl" class="fdescr"> &mdash; {{l10n "settings.host.description"}}</label>
<br clear="all"/>
</div>
</div>
<div class="fbutton">
<input type="image" name="save" value="" src="{{mibewRoot}}{{l10n "image.button.save"}}" alt="{{l10n "button.save"}}"/>
</div>
</div>
</div>
<div class="formbottom">
<div class="formbottomi"></div>
</div>
</div>
</div>
<div class="asterisk">
{{l10n "common.asterisk_explanation"}}
</div>
</form>
{{/override}}
{{/extends}}

View File

@ -0,0 +1,52 @@
{{#extends "layout"}}
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "content"}}
{{l10n "page.groupmembers.intro"}}
<br />
<br />
{{> _errors}}
{{#if stored}}
<div id="formmessage">{{l10n "data.saved"}}</div>
{{/if}}
<form name="membersForm" method="post" action="{{mibewRoot}}/operator/groupmembers.php">
{{csrfTokenInput}}
<input type="hidden" name="gid" value="{{groupid}}"/>
<div>
{{> _tabs}}
<div class="mform">
<div class="formtop">
<div class="formtopi"></div>
</div>
<div class="forminner">
<p><b>{{currentgroup}}</b></p>
{{#each operators}}
<div class="field">
<div class="fvaluenodesc">
<input id="op{{operatorid}}" type="checkbox" name="op{{operatorid}}" value="on"{{#if checked}} checked="checked"{{/if}}/>
<label for="op{{operatorid}}">{{vclocalename}} (<a href="operator.php?op={{operatorid}}">{{vclogin}}</a>)</label>
</div>
</div>
{{/each}}
<div class="fbutton">
<input type="image" name="save" value="" src="{{mibewRoot}}{{l10n "image.button.save"}}" alt="{{l10n "button.save"}}"/>
</div>
</div>
<div class="formbottom">
<div class="formbottomi"></div>
</div>
</div>
</div>
</form>
{{/override}}
{{/extends}}

View File

@ -0,0 +1,142 @@
{{#extends "layout"}}
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "header"}}
<script type="text/javascript" language="javascript" src="{{mibewRoot}}/js/libs/jquery.min.js"></script>
<script type="text/javascript" language="javascript"><!--
(function($) {
$(document).ready(function(){
var confirmMessage = "{{#jsString}}{{l10n 'page.groups.confirm' '{groupName}'}}{{/jsString}}";
$('a.removelink').click(function(){
var groupName = $.trim($("#t" + this.id).text());
return confirm(confirmMessage.replace("{groupName}", groupName));
});
});
})(jQuery);
//--></script>
{{/override}}
{{#override "content"}}
{{l10n "page.groups.intro"}}
<br />
<br />
{{> _errors}}
<form name="groupsForm" method="get" action="{{mibewRoot}}/operator/groups.php">
<div class="mform">
<div class="formtop">
<div class="formtopi"></div>
</div>
<div class="forminner">
<div class="packedFormField">
{{l10n "page.groups.sort"}}<br/>
<select name="sortby" onchange="this.form.submit();">
{{#each availableOrders}}
<option value="{{id}}"{{#ifEqual id ../formsortby}} selected="selected"{{/ifEqual}}>{{name}}</option>
{{/each}}
</select>
</div>
<div class="packedFormField">
{{l10n "page.groups.sortdirection"}}<br/>
<select name="sortdirection" onchange="this.form.submit();">
{{#each availableDirections}}
<option value="{{id}}"{{#ifEqual id ../formsortdirection}} selected="selected"{{/ifEqual}}>{{name}}</option>
{{/each}}
</select>
</div>
<br clear="all"/>
</div>
<div class="formbottom">
<div class="formbottomi"></div>
</div>
</div>
</form>
<br />
{{#if canmodify}}
<div class="tabletool">
<img src="{{stylePath}}/images/buttons/createdep.gif" border="0" alt="" />
<a href="{{mibewRoot}}/operator/group.php" title="{{l10n "page.groups.new"}}">
{{l10n "page.groups.new"}}
</a>
</div>
<br clear="all"/>
{{/if}}
<table class="list">
<thead>
<tr class="header">
<th>{{l10n "form.field.groupname"}}</th>
<th>{{l10n "form.field.groupdesc"}}</th>
<th>{{l10n "page_agents.status"}}</th>
<th>{{l10n "page.group.membersnum"}}</th>
<th>{{l10n "page.groups.weight"}}</th>
{{#if canmodify}}
<th></th>
{{/if}}
</tr>
</thead>
<tbody>
{{#each groups}}
<tr>
<td class="notlast level{{level}}">
<a href="{{../mibewRoot}}/operator/group.php?gid={{groupid}}" id="ti{{groupid}}" class="man">
{{vclocalname}}
</a>
</td>
<td class="notlast">
{{#if vclocaldescription}}
{{vclocaldescription}}
{{else}}
&lt;none&gt;
{{/if}}
</td>
<td class="notlast">
{{#ifAny isOnline isAway}}
{{#if isOnline}}
{{l10n "page.groups.isonline"}}
{{else}}
{{l10n "page.groups.isaway"}}
{{/if}}
{{else}}
{{formatDate lastTimeOnline}}
{{/ifAny}}
</td>
<td>
<a href="{{../mibewRoot}}/operator/groupmembers.php?gid={{groupid}}">
{{inumofagents}}
</a>
</td>
<td>
{{iweight}}
</td>
{{#if ../canmodify}}
<td>
<a href="{{../mibewRoot}}/operator/groups.php?act=del&amp;gid={{groupid}}{{csrfTokenInUrl}}" id="i{{groupid}}" class="removelink">
{{l10n "remove.item"}}
</a>
</td>
{{/if}}
</tr>
{{else}}
<tr>
<td colspan="5">{{l10n "tag.pagination.no_items.elements"}}</td>
</tr>
{{/each}}
</tbody>
</table>
{{/override}}
{{/extends}}

View File

@ -0,0 +1,104 @@
{{#extends "layout"}}
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "content"}}
{{l10n "page_search.intro"}}
<br />
<br />
<form name="searchForm" method="get" action="{{mibewRoot}}/operator/history.php">
<div class="mform">
<div class="formtop">
<div class="formtopi"></div>
</div>
<div class="forminner">
<div class="fieldForm">
<div class="field">
<label for="q" class="flabel">{{l10n "page_analysis.full.text.search"}}</label>
<div class="fvaluenodesc">
<div id="searchtext">
<input id="q" type="text" name="q" size="60" value="{{formq}}" class="formauth"/>
</div>
<div class="searchctrl">
<label for="type">{{l10n "page_search.type.title"}}</label>
<select id="type" name="type" onchange="if (this.value == 'all' || this.value == 'message') {document.getElementById('inSystemMessages').style.display='inline'} else {document.getElementById('inSystemMessages').style.display='none'}; ">
<option value="all" {{#ifEqual formtype "all"}}selected="selected"{{/ifEqual}}>{{l10n "page_search.type.all"}}</option>
<option value="message" {{#ifEqual formtype "message"}}selected="selected"{{/ifEqual}}>{{l10n "page_search.type.message"}}</option>
<option value="operator" {{#ifEqual formtype "operator"}}selected="selected"{{/ifEqual}}>{{l10n "page_search.type.operator"}}</option>
<option value="visitor" {{#ifEqual formtype "visitor"}}selected="selected"{{/ifEqual}}>{{l10n "page_search.type.visitor"}}</option>
</select>
</div>
<div id="searchbutton">
<input type="image" name="search" src="{{mibewRoot}}{{l10n "image.button.search"}}" alt="{{l10n "button.search"}}"/>
</div><br clear="all"/>
<div class="searchctrl" id="inSystemMessages"{{#if canSearchInSystemMessages}} style="display: none;"{{/if}}>
<input id="insystemmessagesfield" type="checkbox" name="insystemmessages" {{#if forminsystemmessages}}checked="checked"{{/if}}/> <label for="insystemmessagesfield">{{l10n "page_search.search.type.in_system_messages"}}</label>
</div>
</div>
<br clear="all"/>
</div>
</div>
</div>
<div class="formbottom">
<div class="formbottomi"></div>
</div>
</div>
</form>
<br/>
<table class="list">
<thead>
<tr class="header">
<th>{{l10n "page.analysis.search.head_name"}}</th>
<th>{{l10n "page.analysis.search.head_host"}}</th>
<th>{{l10n "page.analysis.search.head_operator"}}</th>
<th>{{l10n "page.analysis.search.head_messages"}}</th>
<th>{{l10n "page.analysis.search.head_time"}}</th>
</tr>
</thead>
<tbody>
{{#each [pagination.items]}}
<tr>
<td>
<a href="{{../mibewRoot}}/operator/threadprocessor.php?threadid={{threadId}}" target="_blank" onclick="this.newWindow = window.open('{{../mibewRoot}}/operator/threadprocessor.php?threadid={{threadId}}', '', 'toolbar=0,scrollbars=1,location=0,status=1,menubar=0,width=720,height=520,resizable=1');this.newWindow.focus();this.newWindow.opener=window;return false;">{{userName}}</a>
</td>
<td>
{{{userAddress}}}
</td>
<td>
{{#if agentName}}
{{agentName}}
{{else}}
{{#if groupName}}
- {{groupName}} -
{{/if}}
{{/if}}
</td>
<td>
{{messageCount}}
</td>
<td>
{{formatDateDiff chatTime}}, {{formatDate chatCreated}}
</td>
</tr>
{{else}}
<tr>
<td colspan="5">
{{l10n "tag.pagination.no_items"}}
</td>
</tr>
{{/each}}
</tbody>
</table>
{{#if pagination}}
<br/>
{{generatePagination stylePath pagination}}
{{/if}}
{{/override}}
{{/extends}}

View File

@ -0,0 +1,186 @@
{{#extends "layout"}}
{{#override "header"}}
{{#if localeLinks}}
<script type="text/javascript" language="javascript" src="{{mibewRoot}}/js/libs/jquery.min.js"></script>
<script type="text/javascript" language="javascript" src="{{mibewRoot}}/js/compiled/locale.js"></script>
{{/if}}
{{/override}}
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "content"}}
<br/>
{{#if needChangePassword}}
<div id="formmessage">{{l10n "error.no_password"}} {{l10n "error.no_password.visit_profile" profilePage}}</div>
<br/>
{{else}}
{{#if needUpdate}}
<div id="formmessage">{{l10n "install.updatedb" updateWizard}}</div>
<br/>
{{else}}
{{#if newFeatures}}
<div><div id="formmessage">{{l10n "install.newfeatures" featuresPage mibewVersion}}</div></div>
<br/>
{{/if}}
{{/if}}
{{/if}}
<div id="dashboard">
<div class="dashitem">
<div class="dashitem-content">
<img src="{{stylePath}}/images/dash/visitors.gif" alt=""/>
<a href="{{mibewRoot}}/operator/users.php">
{{l10n "topMenu.users"}}
</a>
{{l10n "page_client.pending_users"}}
</div>
</div>
<div class="dashitem">
<div class="dashitem-content">
<img src="{{stylePath}}/images/dash/history.gif" alt=""/>
<a href="{{mibewRoot}}/operator/history.php">
{{l10n "page_analysis.search.title"}}
</a>
{{l10n "content.history"}}
</div>
</div>
{{#if showstat}}
<div class="dashitem">
<div class="dashitem-content">
<img src="{{stylePath}}/images/dash/stat.gif" alt=""/>
<a href="{{mibewRoot}}/operator/statistics.php">
{{l10n "statistics.title"}}
</a>
{{l10n "statistics.description"}}
</div>
</div>
{{/if}}
{{#if showban}}
<div class="dashitem">
<div class="dashitem-content">
<img src="{{stylePath}}/images/dash/blocked.gif" alt=""/>
<a href="{{mibewRoot}}/operator/blocked.php">
{{l10n "menu.blocked"}}
</a>
{{l10n "content.blocked"}}
</div>
</div>
{{/if}}
<div class="dashitem">
<div class="dashitem-content">
<img src="{{stylePath}}/images/dash/canned.gif" alt=""/>
<a href="{{mibewRoot}}/operator/canned.php">
{{l10n "menu.canned"}}
</a>
{{l10n "canned.descr"}}
</div>
</div>
{{#if showadmin}}
<div class="dashitem">
<div class="dashitem-content">
<img src="{{stylePath}}/images/dash/getcode.gif" alt=""/>
<a href="{{mibewRoot}}/operator/getcode.php">
{{l10n "leftMenu.client_gen_button"}}
</a>
{{l10n "admin.content.client_gen_button"}}
</div>
</div>
<div class="dashitem">
<div class="dashitem-content">
<img src="{{stylePath}}/images/dash/operators.gif" alt=""/>
<a href="{{mibewRoot}}/operator/operators.php">
{{l10n "leftMenu.client_agents"}}
</a>
{{l10n "admin.content.client_agents"}}
</div>
</div>
<div class="dashitem">
<div class="dashitem-content">
<img src="{{stylePath}}/images/dash/dep.gif" alt=""/>
<a href="{{mibewRoot}}/operator/groups.php">
{{l10n "menu.groups"}}
</a>
{{l10n "menu.groups.content"}}
</div>
</div>
<div class="dashitem">
<div class="dashitem-content">
<img src="{{stylePath}}/images/dash/settings.gif" alt=""/>
<a href="{{mibewRoot}}/operator/settings.php">
{{l10n "leftMenu.client_settings"}}
</a>
{{l10n "admin.content.client_settings"}}
</div>
</div>
{{/if}}
{{#if currentopid}}
<div class="dashitem">
<div class="dashitem-content">
<img src="{{stylePath}}/images/dash/profile.gif" alt=""/>
<a href="{{mibewRoot}}/operator/operator.php?op={{currentopid}}">
{{l10n "menu.profile"}}
</a>
{{l10n "menu.profile.content"}}
</div>
</div>
{{/if}}
{{#if localeLinks}}
<div class="dashitem">
<div class="dashitem-content">
<img src="{{stylePath}}/images/dash/locale.gif" alt=""/>
<a href="#" id="changelang">
{{l10n "menu.locale"}}
</a>
{{l10n "menu.locale.content"}}
</div>
</div>
{{/if}}
{{#if showadmin}}
<div class="dashitem">
<div class="dashitem-content">
<img src="{{stylePath}}/images/dash/updates.gif" alt=""/>
<a href="{{mibewRoot}}/operator/updates.php">
{{l10n "menu.updates"}}
</a>
{{l10n "menu.updates.content"}}
</div>
</div>
{{/if}}
<div class="dashitem">
<div class="dashitem-content">
<img src="{{stylePath}}/images/dash/exit.gif" alt=""/>
<a href="{{mibewRoot}}/operator/logout.php">
{{l10n "topMenu.logoff"}}
</a>
{{l10n "content.logoff"}}
</div>
</div>
</div>
{{#if localeLinks}}
<div id="dashlocalesPopup">
<a href="#" id="dashlocalesPopupClose"><img src="{{stylePath}}/images/dash/close.gif" alt="X"/></a>
<h2><img src="{{stylePath}}/images/dash/locale.gif" alt=""/><b>{{l10n "lang.choose"}}</b></h2>
<ul class="locales">
{{#each localeLinks}}
<li{{#ifEqual currentLocale @key}} class="active"{{/ifEqual}}><a href="?locale={{@key}}">{{this}}</a></li>
{{/each}}
</ul>
</div>
<div id="backgroundPopup"></div>
{{/if}}
{{/override}}
{{/extends}}

View File

@ -0,0 +1,7 @@
{{#extends "layout"}}
{{#override "content"}}
{{> _errors}}
{{l10n "install.err.back"}}
{{/override}}
{{/extends}}

View File

@ -0,0 +1,76 @@
{{#extends "layout"}}
{{#if localeLinks}}
{{#override "menu"}}{{> _locales}}{{/override}}
{{/if}}
{{#override "header"}}
{{#if soundcheck}}
<!-- External libs -->
<script type="text/javascript" src="{{mibewRoot}}/js/libs/jquery.min.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/json2.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/underscore-min.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/backbone-min.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/backbone.marionette.min.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/handlebars.js"></script>
<!-- Default application files -->
<script type="text/javascript" src="{{mibewRoot}}/js/compiled/mibewapi.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/compiled/default_app.js"></script>
<script type="text/javascript" language="javascript" src="{{mibewRoot}}/js/compiled/soundcheck.js"></script>
{{/if}}
{{/override}}
{{#override "content"}}
{{l10n "install.message"}}
<br/>
<br/>
{{> _errors}}
{{#if done}}
<div id="install">
<div class="mform">
<div class="formtop">
<div class="formtopi"></div>
</div>
<div class="forminner">
{{l10n "install.done"}}
<ul>
{{#each done}}
<li>{{{this}}}</li>
{{/each}}
</ul>
{{#if nextstep}}
<br/>
<br/>
{{l10n "install.next"}}
<ul>
<li>
{{#if nextnotice}}
{{nextnotice}}<br/><br/>
{{/if}}
<a href="{{nextstepurl}}">{{nextstep}}</a>
</li>
</ul>
{{/if}}
</div>
<div class="formbottom">
<div class="formbottomi"></div>
</div>
</div>
</div>
{{/if}}
<br/>
<a href="{{mibewRoot}}/license.php">{{l10n "install.license"}}</a>
{{/override}}
{{/extends}}

View File

@ -0,0 +1,57 @@
{{#extends "layout"}}
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "header"}}
<link href="{{mibewRoot}}/styles/invitations/{{preview}}/invite.css" rel="stylesheet" type="text/css" />
{{/override}}
{{#override "content"}}
{{l10n "page.preview.intro"}}
<br />
<br />
<form name="preview" method="get" action="{{mibewRoot}}/operator/invitationthemes.php">
<div>
{{> _tabs}}
<div class="mform">
<div class="formtop">
<div class="formtopi"></div>
</div>
<div class="forminner">
<div class="fieldForm">
<div class="field">
<label for="preview" class="flabel">{{l10n "page.preview.choose"}}</label>
<div class="fvaluenodesc">
<select id="preview" name="preview" onchange="this.form.submit();">
{{#each availablePreviews}}
<option value="{{this}}"{{#ifEqual this ../formpreview}} selected="selected"{{/ifEqual}}>{{this}}</option>
{{/each}}
</select>
</div>
</div>
</div>
</div>
<div class="formbottom">
<div class="formbottomi"></div>
</div>
</div>
</div>
</form>
<div id="mibewinvitation">
<div id="mibewinvitationpopup">
<div id="mibewinvitationclose">
<a onclick="void(0);" href="javascript:void(0);">&times;</a>
</div>
<h1 onclick="void(0);">{{operatorName}}</h1>
<div id="mibewinvitationframe">{{l10n "invitation.message"}}</div>
<div id="mibewinvitationaccept" onclick="void(0);">{{l10n "invitation.accept.caption"}}</div>
<div style="clear: both;"></div>
</div>
</div>
{{/override}}
{{/extends}}

View File

@ -0,0 +1,65 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"{{#if rtl}} dir="rtl"{{/if}}>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" href="{{stylePath}}/images/favicon.ico" type="image/x-icon"/>
{{#block "header"}}{{/block}}
<title>
{{title}} - {{l10n "app.title"}}
</title>
<link href="{{stylePath}}/css/default.css" rel="stylesheet" type="text/css" />
<!--[if lte IE 7]><link href="{{stylePath}}/css/default_ie.css" rel="stylesheet" type="text/css" /><![endif] -->
<!--[if lte IE 6]><script language="JavaScript" type="text/javascript" src="{{mibewRoot}}/js/compiled/ie.js"></script><![endif]-->
</head>
<body{{#unlessOverridden "menu"}} style="min-width: 400px;"{{/unlessOverridden}}>
<div id="{{#if fixedwrap}}fixedwrap{{else}}{{#ifOverridden "menu"}}wrap700{{else}}wrap400{{/ifOverridden}}{{/if}}" class="l{{l10n "localedirection"}}">
<div id="header">
<div id="title">
<h1><img src="{{mibewRoot}}/styles/pages/default/images/logo.png" alt="" width="32" height="32" class="left logo" />
<a href="#">{{#if headertitle}}{{headertitle}}{{else}}{{title}}{{/if}}</a></h1>
</div>
{{#if operator}}
<div id="path"><p>{{l10n "menu.operator" operator}}</p></div>
{{else}}
{{#if show_small_login}}
<div id="loginsmallpane">
<form name="smallLogin" method="post" action="{{mibewRoot}}/operator/login.php">
{{l10n "page_login.login"}}
<input type="text" name="login" size="8" class="formauth"/>
<input type="password" name="password" size="8" class="formauth" autocomplete="off"/>
<input type="hidden" name="isRemember" value=""/>
<input type="submit" value="&gt;&gt;" class="butt"/>
</form>
</div>
{{/if}}
{{/if}}
</div>
<br clear="all"/>
<div class="contentdiv">
{{#ifOverridden "menu"}}
<div id="wcontent" class="contentinner">
{{else}}
<div id="wcontent" class="contentnomenu">
{{/ifOverridden}}
{{#block "content"}}{{/block}}
</div>
</div>
{{#block "menu"}}{{/block}}
<div style="clear: both;">&nbsp;</div>
<div class="empty_inner" style="">&#160;</div>
</div>
<div id="footer">
<p id="legal"><a href="http://mibew.org/" target="_blank" class="flink">Mibew Messenger</a> {{mibewVersion}} | (c) 2011-2013 mibew.org</p>
</div>
</body>
</html>

View File

@ -0,0 +1,21 @@
{{#extends "layout"}}
{{#override "content"}}
<p>Copyright 2005-2013 the original author or authors.</p>
<br/>
<p>Licensed under the <b>Apache License, Version 2.0</b> (the "License").</p>
<br/>
<p>You may obtain a copy of the License at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a></p>
<br/>
<p>Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.</p>
{{/override}}
{{/extends}}

View File

@ -0,0 +1,66 @@
{{#extends "layout"}}
{{#if localeLinks}}
{{#override "menu"}}{{> _locales}}{{/override}}
{{/if}}
{{#override "content"}}
<div id="loginintro">
<p>{{l10n "app.descr"}}</p>
</div>
<form name="loginForm" method="post" action="{{mibewRoot}}/operator/login.php">
<div id="loginpane">
<div class="header">
<h2>{{l10n "page_login.title"}}</h2>
</div>
<div class="fieldForm">
{{l10n "page_login.intro"}}
<br/>
<br/>
{{> _errors}}
<div class="field">
<div class="fleftlabel">{{l10n "page_login.login"}}</div>
<div class="fvalue">
<input type="text" name="login" size="25" value="{{formlogin}}" class="formauth"/>
</div>
<br clear="all"/>
</div>
<div class="field">
<div class="fleftlabel">{{l10n "page_login.password"}}</div>
<div class="fvalue">
<input type="password" name="password" size="25" value="" class="formauth" autocomplete="off"/>
</div>
<br clear="all"/>
</div>
<div class="field">
<div class="fleftlabel">&nbsp;</div>
<div class="fvalue">
<label>
<input type="checkbox" name="isRemember" value="on"{{#if formisRemember}} checked="checked"{{/if}} />
{{l10n "page_login.remember"}}
</label>
</div>
<br clear="all"/>
</div>
<div class="fbutton">
<input type="image" name="login" src="{{mibewRoot}}{{l10n "image.button.login"}}" alt="{{l10n "button.enter"}}"/>
<div class="links">
<a href="restore.php">{{l10n "restore.pwd.message"}}</a><br/>
</div>
</div>
</div>
</div>
</form>
{{/override}}
{{/extends}}

View File

@ -0,0 +1,129 @@
{{#extends "layout"}}
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "content"}}
{{#if opid}}
{{l10n "page_agent.intro"}}
{{else}}
{{l10n "page_agent.create_new"}}
{{/if}}
<br />
<br />
{{> _errors}}
{{#if needChangePassword}}
<div id="formmessage">{{l10n "error.no_password"}}</div>
<br/>
{{else}}
{{#if stored}}
<div id="formmessage">{{l10n "data.saved"}}</div>
{{/if}}
{{/if}}
{{#ifAny opid canmodify}}
<form name="agentForm" method="post" action="{{mibewRoot}}/operator/operator.php">
{{csrfTokenInput}}
<input type="hidden" name="opid" value="{{opid}}"/>
<div>
{{#unless needChangePassword}}{{> _tabs}}{{/unless}}
<div class="mform">
<div class="formtop">
<div class="formtopi"></div>
</div>
<div class="forminner">
<div class="fieldForm">
<div class="field">
<label for="login" class="flabel">{{l10n "form.field.login"}}<span class="required">*</span></label>
<div class="fvalue">
<input id="login" type="text" name="login" size="40" value="{{formlogin}}" class="formauth"{{#unless canchangelogin}} disabled="disabled"{{/unless}}/>
</div>
<label for="login" class="fdescr"> &mdash; {{l10n "form.field.login.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="email" class="flabel">{{l10n "form.field.mail"}}<span class="required">*</span></label>
<div class="fvalue">
<input id="email" type="text" name="email" size="40" value="{{formemail}}" class="formauth"{{#unless canmodify}} disabled="disabled"{{/unless}}/>
</div>
<label for="email" class="fdescr"> &mdash; {{l10n "form.field.mail.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="password" class="flabel">
{{l10n "form.field.password"}}{{#if requirePassword}}<span class="required">*</span>{{/if}}
</label>
<div class="fvalue">
<input id="password" type="password" name="password" size="40" value="" class="formauth"{{#unless canmodify}} disabled="disabled"{{/unless}} autocomplete="off"/>
</div>
<label for="password" class="fdescr"> &mdash; {{l10n "form.field.password.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="passwordConfirm" class="flabel">
{{l10n "form.field.password_confirm"}}{{#if requirePassword}}<span class="required">*</span>{{/if}}
</label>
<div class="fvalue">
<input id="passwordConfirm" type="password" name="passwordConfirm" size="40" value="" class="formauth"{{#unless canmodify}} disabled="disabled"{{/unless}} autocomplete="off"/>
</div>
<label for="passwordConfirm" class="fdescr"> &mdash; {{l10n "form.field.password_confirm.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="name" class="flabel">{{l10n "form.field.agent_name"}}<span class="required">*</span></label>
<div class="fvalue">
<input id="name" type="text" name="name" size="40" value="{{formname}}" class="formauth"{{#unless canmodify}} disabled="disabled"{{/unless}}/>
</div>
<label for="name" class="fdescr"> &mdash; {{l10n "form.field.agent_name.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="commonname" class="flabel">{{l10n "form.field.agent_commonname"}}<span class="required">*</span></label>
<div class="fvalue">
<input id="commonname" type="text" name="commonname" size="40" value="{{formcommonname}}" class="formauth"{{#unless canmodify}} disabled="disabled"{{/unless}}/>
</div>
<label for="commonname" class="fdescr"> &mdash; {{l10n "form.field.agent_commonname.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="code" class="flabel">{{l10n "form.field.agent_code"}}</label>
<div class="fvalue">
<input id="code" type="text" name="code" size="40" value="{{formcode}}" class="formauth"{{#unless canmodify}} disabled="disabled"{{/unless}}/>
</div>
<label for="code" class="fdescr"> &mdash; {{l10n "form.field.agent_code.description"}}</label>
<br clear="all"/>
</div>
{{#if canmodify}}
<div class="fbutton">
<input type="image" name="save" value="" src="{{mibewRoot}}{{l10n "image.button.save"}}" alt="{{l10n "button.save"}}"/>
</div>
{{/if}}
</div>
</div>
<div class="formbottom">
<div class="formbottomi"></div>
</div>
</div>
</div>
<div class="asterisk">
{{l10n "common.asterisk_explanation"}}
</div>
</form>
{{/ifAny}}
{{/override}}
{{/extends}}

View File

@ -0,0 +1,58 @@
{{#extends "layout"}}
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "content"}}
{{l10n "operator.groups.intro"}}
<br />
<br />
{{> _errors}}
{{#if stored}}
<div id="formmessage">{{l10n "data.saved"}}</div>
{{/if}}
<form name="opgroupsForm" method="post" action="{{mibewRoot}}/operator/opgroups.php">
{{csrfTokenInput}}
<input type="hidden" name="op" value="{{opid}}"/>
<div>
{{> _tabs}}
<div class="mform">
<div class="formtop">
<div class="formtopi"></div>
</div>
<div class="forminner">
<p><b>{{currentop}}&lrm;</b></p>
{{#each groups}}
<div class="field level{{level}}">
<label for="group{{groupid}}" class="flabel">{{vclocalname}}</label>
<div class="fvalue">
<input id="group{{groupid}}" type="checkbox" name="group{{groupid}}" value="on"{{#if checked}} checked="checked"{{/if}}{{#unless ../canmodify}} disabled="disabled"{{/unless}}/>
</div>
<label for="group{{groupid}}" class="fdescr">
&mdash; {{#if vclocaldescription}}{{vclocaldescription}}{{else}}{{l10n "operator.group.no_description"}}{{/if}}
</label>
<br clear="all"/>
</div>
{{/each}}
{{#if canmodify}}
<div class="fbutton">
<input type="image" name="save" value="" src="{{mibewRoot}}{{l10n "image.button.save"}}" alt="{{l10n "button.save"}}"/>
</div>
{{/if}}
</div>
<div class="formbottom">
<div class="formbottomi"></div>
</div>
</div>
</div>
</form>
{{/override}}
{{/extends}}

View File

@ -0,0 +1,131 @@
{{#extends "layout"}}
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "header"}}
<script type="text/javascript" language="javascript" src="{{mibewRoot}}/js/libs/jquery.min.js"></script>
<script type="text/javascript" language="javascript"><!--
(function($) {
$(document).ready(function(){
var confirmMessage = "{{#jsString}}{{l10n 'page_agents.confirm' '{login}'}}{{/jsString}}";
$('a.removelink').click(function(){
var login = $.trim($("#t" + this.id).text());
return confirm(confirmMessage.replace("{login}", login));
});
});
})(jQuery);
//--></script>
{{/override}}
{{#override "content"}}
{{l10n "page_agents.intro"}}
<br />
<br />
{{> _errors}}
<form name="agentsForm" method="get" action="{{mibewRoot}}/operator/operators.php">
<div class="mform">
<div class="formtop">
<div class="formtopi"></div>
</div>
<div class="forminner">
<div class="packedFormField">
{{l10n "page_agents.sort"}}<br/>
<select name="sortby" onchange="this.form.submit();">
{{#each availableOrders}}
<option value="{{id}}"{{#ifEqual id ../formsortby}} selected="selected"{{/ifEqual}}>{{name}}</option>
{{/each}}
</select>
</div>
<div class="packedFormField">
{{l10n "page_agents.sortdirection"}}<br/>
<select name="sortdirection" onchange="this.form.submit();">
{{#each availableDirections}}
<option value="{{id}}"{{#ifEqual id ../formsortdirection}} selected="selected"{{/ifEqual}}>{{name}}</option>
{{/each}}
</select>
</div>
<br clear="all"/>
</div>
<div class="formbottom">
<div class="formbottomi"></div>
</div>
</div>
</form>
<br />
{{#if canmodify}}
<div class="tabletool">
<img src="{{stylePath}}/images/buttons/createagent.gif" border="0" alt="" />
<a href="{{mibewRoot}}/operator/operator.php" title="{{l10n "page_agents.new_agent"}}">
{{l10n "page_agents.new_agent"}}
</a>
</div>
<br clear="all"/>
{{/if}}
<table class="list">
<thead>
<tr class="header">
<th>{{l10n "page_agents.login"}}</th>
<th>{{l10n "page_agents.agent_name"}}</th>
<th>{{l10n "page_agents.status"}}</th>
{{#if canmodify}}
<th></th>
<th></th>
{{/if}}
</tr>
</thead>
<tbody>
{{#each allowedAgents}}
<tr>
<td class="notlast">
<a id="ti{{operatorid}}" href="{{../mibewRoot}}/operator/operator.php?op={{operatorid}}" class="man">
{{vclogin}}
</a>
</td>
<td class="notlast">
{{vclocalename}} / {{vccommonname}}
</td>
<td class="notlast">
{{#ifAny isAvailable isAway}}
{{#if isAvailable}}
{{l10n "page_agents.isonline"}}
{{else}}
{{l10n "page_agents.isaway"}}
{{/if}}
{{else}}
{{formatDate lastTimeOnline}}
{{/ifAny}}
</td>
{{#if ../canmodify}}
<td>
{{#if isDisabled}}
<a href="{{../mibewRoot}}/operator/operators.php?act=enable&amp;id={{operatorid}}">{{l10n "page_agents.enable.agent"}}</a>
{{else}}
<a href="{{../mibewRoot}}/operator/operators.php?act=disable&amp;id={{operatorid}}">{{l10n "page_agents.disable.agent"}}</a>
{{/if}}
</td>
<td>
<a class="removelink" id="i{{operatorid}}" href="{{../mibewRoot}}/operator/operators.php?act=del&amp;id={{operatorid}}{{csrfTokenInUrl}}">
{{l10n "remove.item"}}
</a>
</td>
{{/if}}
</tr>
{{/each}}
</tbody>
</table>
{{/override}}
{{/extends}}

View File

@ -0,0 +1,48 @@
{{#extends "layout"}}
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "content"}}
{{l10n "page.preview.intro"}}
<br />
<br />
<form name="preview" method="get" action="{{mibewRoot}}/operator/page_themes.php">
<div>
{{> _tabs}}
<div class="mform">
<div class="formtop">
<div class="formtopi"></div>
</div>
<div class="forminner">
<div class="fieldForm">
<div class="field">
<label for="preview" class="flabel">{{l10n "page.preview.choose"}}</label>
<div class="fvaluenodesc">
<select id="preview" name="preview" onchange="this.form.submit();">
{{#each availablePreviews}}
<option value="{{this}}"{{#ifEqual this ../formpreview}} selected="selected"{{/ifEqual}}>{{this}}</option>
{{/each}}
</select>
</div>
</div>
{{#each screenshotsList}}
<div class="field">
<div class="flabel">{{description}}</div>
<div class="fvalueframe">
<img class="screenshot" alt="{{name}}" src="{{file}}" />
</div>
</div>
{{/each}}
</div>
</div>
<div class="formbottom">
<div class="formbottomi"></div>
</div>
</div>
</div>
</form>
{{/override}}
{{/extends}}

View File

@ -0,0 +1,140 @@
{{#extends "layout"}}
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "content"}}
{{l10n "page_settings.intro"}}
<br />
<br />
{{> _errors}}
{{#if stored}}
<div id="formmessage">{{l10n "settings.saved"}}</div>
{{/if}}
<form name="performance" method="post" action="{{mibewRoot}}/operator/performance.php">
{{csrfTokenInput}}
<div>
{{> _tabs}}
<div class="mform">
<div class="formtop">
<div class="formtopi"></div>
</div>
<div class="forminner">
<div class="fieldForm">
<div class="field">
<label for="onlinetimeout" class="flabel">{{l10n "settings.onlinetimeout"}}</label>
<div class="fvalue">
<input id="onlinetimeout" type="text" name="onlinetimeout" size="40" value="{{formonlinetimeout}}" class="formauth"/>
</div>
<label for="onlinetimeout" class="fdescr"> &mdash; {{l10n "settings.onlinetimeout.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="frequencyoperator" class="flabel">{{l10n "settings.frequencyoperator"}}</label>
<div class="fvalue">
<input id="frequencyoperator" type="text" name="frequencyoperator" size="40" value="{{formfrequencyoperator}}" class="formauth"/>
</div>
<label for="frequencyoperator" class="fdescr"> &mdash; {{l10n "settings.frequencyoperator.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="frequencychat" class="flabel">{{l10n "settings.frequencychat"}}</label>
<div class="fvalue">
<input id="frequencychat" type="text" name="frequencychat" size="40" value="{{formfrequencychat}}" class="formauth"/>
</div>
<label for="frequencychat" class="fdescr"> &mdash; {{l10n "settings.frequencychat.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="onehostconnections" class="flabel">{{l10n "settings.onehostconnections"}}</label>
<div class="fvalue">
<input id="onehostconnections" type="text" name="onehostconnections" size="40" value="{{formonehostconnections}}" class="formauth"/>
</div>
<label for="onehostconnections" class="fdescr"> &mdash; {{l10n "settings.onehostconnections.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="threadlifetime" class="flabel">{{l10n "settings.threadlifetime"}}</label>
<div class="fvalue">
<input id="threadlifetime" type="text" name="threadlifetime" size="40" value="{{formthreadlifetime}}" class="formauth"/>
</div>
<label for="threadlifetime" class="fdescr"> &mdash; {{l10n "settings.threadlifetime.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="statistics_aggregation_interval" class="flabel">{{l10n "settings.statistics_aggregation_interval"}}</label>
<div class="fvalue">
<input id="statistics_aggregation_interval" type="text" name="statistics_aggregation_interval" size="40" value="{{formstatistics_aggregation_interval}}" class="formauth"/>
</div>
<label for="statistics_aggregation_interval" class="fdescr"> &mdash; {{l10n "settings.statistics_aggregation_interval.description"}}</label>
<br clear="all"/>
</div>
{{#if enabletracking}}
<div class="field">
<label for="frequencytracking" class="flabel">{{l10n "settings.frequencytracking"}}</label>
<div class="fvalue">
<input id="frequencytracking" type="text" name="frequencytracking" size="40" value="{{formfrequencytracking}}" class="formauth"/>
</div>
<label for="frequencytracking" class="fdescr"> &mdash; {{l10n "settings.frequencytracking.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="visitorslimit" class="flabel">{{l10n "settings.visitorslimit"}}</label>
<div class="fvalue">
<input id="visitorslimit" type="text" name="visitorslimit" size="40" value="{{formvisitorslimit}}" class="formauth"/>
</div>
<label for="visitorslimit" class="fdescr"> &mdash; {{l10n "settings.visitorslimit.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="invitationlifetime" class="flabel">{{l10n "settings.invitationlifetime"}}</label>
<div class="fvalue">
<input id="invitationlifetime" type="text" name="invitationlifetime" size="40" value="{{forminvitationlifetime}}" class="formauth"/>
</div>
<label for="invitationlifetime" class="fdescr"> &mdash; {{l10n "settings.invitationlifetime.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="trackinglifetime" class="flabel">{{l10n "settings.trackinglifetime"}}</label>
<div class="fvalue">
<input id="trackinglifetime" type="text" name="trackinglifetime" size="40" value="{{formtrackinglifetime}}" class="formauth"/>
</div>
<label for="trackinglifetime" class="fdescr"> &mdash; {{l10n "settings.trackinglifetime.description"}}</label>
<br clear="all"/>
</div>
{{/if}}
<div class="fbutton">
<input type="image" name="save" value="" src="{{mibewRoot}}{{l10n "image.button.save"}}" alt="{{l10n "button.save"}}"/>
</div>
</div>
</div>
<div class="formbottom">
<div class="formbottomi"></div>
</div>
</div>
</div>
<div class="asterisk">
{{l10n "common.asterisk_explanation"}}
</div>
</form>
{{/override}}
{{/extends}}

View File

@ -0,0 +1,53 @@
{{#extends "layout"}}
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "content"}}
{{l10n "permissions.intro"}}
<br />
<br />
{{> _errors}}
{{#if stored}}
<div id="formmessage">{{l10n "data.saved"}}</div>
{{/if}}
<form name="permissionsForm" method="post" action="{{mibewRoot}}/operator/permissions.php">
{{csrfTokenInput}}
<input type="hidden" name="op" value="{{opid}}"/>
<div>
{{> _tabs}}
<div class="mform">
<div class="formtop">
<div class="formtopi"></div>
</div>
<div class="forminner">
<p><b>{{currentop}}&lrm;</b></p>
{{#each permissionsList}}
<label>
<input type="checkbox" name="permissions{{id}}" value="on"{{#if checked}} checked="checked"{{/if}}{{#unless ../canmodify}} disabled="disabled"{{/unless}}/>
{{descr}}
</label>
<br/>
{{/each}}
{{#if canmodify}}
<div class="fbutton">
<input type="image" name="save" value="" src='{{mibewRoot}}{{l10n "image.button.save"}}' alt='{{l10n "button.save"}}'/>
</div>
{{/if}}
</div>
<div class="formbottom">
<div class="formbottomi"></div>
</div>
</div>
</div>
</form>
{{/override}}
{{/extends}}

View File

@ -0,0 +1,90 @@
{{#extends "layout"}}
{{#if localeLinks}}
{{#override "menu"}}{{> _locales}}{{/override}}
{{/if}}
{{#override "content"}}
{{#if isdone}}
<div id="loginpane">
<div class="header">
<h2>{{l10n "resetpwd.changed.title"}}</h2>
</div>
<div class="fieldForm">
{{l10n "resetpwd.changed"}}
<br/>
<br/>
<a href="login.php?login={{loginname}}">{{l10n "resetpwd.login"}}</a>
</div>
</div>
{{else}}
<form name="resetForm" method="post" action="{{mibewRoot}}/operator/resetpwd.php">
<input type="hidden" name="id" value="{{id}}"/>
<input type="hidden" name="token" value="{{token}}"/>
<div id="loginpane">
<div class="header">
<h2>{{l10n "resetpwd.title"}}</h2>
</div>
<div class="fieldForm">
{{l10n "resetpwd.intro"}}
<br/>
<br/>
{{> _errors}}
{{#if showform}}
<div class="field">
<div class="fleftlabel">{{l10n "form.field.password"}}</div>
<div class="fvalue">
<input type="password" name="password" size="25" value="" class="formauth" autocomplete="off"/>
</div>
<br clear="all"/>
</div>
<div class="field">
<div class="fleftlabel">{{l10n "form.field.password_confirm"}}</div>
<div class="fvalue">
<input type="password" name="passwordConfirm" size="25" value="" class="formauth" autocomplete="off"/>
</div>
<br clear="all"/>
</div>
<div class="fbutton">
<table class="submitbutton">
<tr>
<td>
<a href="javascript:document.resetForm.submit();">
<img src="{{stylePath}}/images/submit.gif" width="40" height="35" border="0" alt="" />
</a>
</td>
<td class="submit">
<a href="javascript:document.resetForm.submit();">
{{l10n "resetpwd.submit"}}
</a>
</td>
<td>
<a href="javascript:document.resetForm.submit();">
<img src="{{stylePath}}/images/submitrest.gif" width="10" height="35" border="0" alt="" />
</a>
</td>
</tr>
</table>
<div class="links">
<a href="login.php">{{l10n "restore.back_to_login"}}</a>
</div>
</div>
{{else}}
<a href="login.php">{{l10n "restore.back_to_login"}}</a>
{{/if}}
</div>
</div>
</form>
{{/if}}
{{/override}}
{{/extends}}

View File

@ -0,0 +1,73 @@
{{#extends "layout"}}
{{#if localeLinks}}
{{#override "menu"}}{{> _locales}}{{/override}}
{{/if}}
{{#override "content"}}
{{#if isdone}}
<div id="loginpane">
<div class="header">
<h2>{{l10n "restore.sent.title"}}</h2>
</div>
<div class="fieldForm">
{{l10n "restore.sent"}}
<br/>
<br/>
<a href="login.php">{{l10n "restore.back_to_login"}}</a>
</div>
</div>
{{else}}
<form name="restoreForm" method="post" action="{{mibewRoot}}/operator/restore.php">
<div id="loginpane">
<div class="header">
<h2>{{l10n "restore.title"}}</h2>
</div>
<div class="fieldForm">
{{l10n "restore.intro"}}<br/><br/>
{{> _errors}}
<div class="field">
<div class="fleftlabel">{{l10n "restore.emailorlogin"}}</div>
<div class="fvalue">
<input type="text" name="loginoremail" size="25" value="{{formloginoremail}}" class="formauth"/>
</div>
<br clear="all"/>
</div>
<div class="fbutton">
<table class="submitbutton">
<tr>
<td>
<a href="javascript:document.restoreForm.submit();">
<img src="{{stylePath}}/images/submit.gif" width="40" height="35" border="0" alt="" />
</a>
</td>
<td class="submit">
<a href="javascript:document.restoreForm.submit();">
{{l10n "restore.submit"}}
</a>
</td>
<td>
<a href="javascript:document.restoreForm.submit();">
<img src="{{stylePath}}/images/submitrest.gif" width="10" height="35" border="0" alt="" />
</a>
</td>
</tr>
</table>
<div class="links">
<a href="login.php">{{l10n "restore.back_to_login"}}</a>
</div>
</div>
</div>
</div>
</form>
{{/if}}
{{/override}}
{{/extends}}

View File

@ -0,0 +1,180 @@
{{#extends "layout"}}
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "content"}}
{{l10n "page_settings.intro"}}
<br />
<br />
{{> _errors}}
{{#if stored}}
<div id="formmessage">{{l10n "settings.saved"}}</div>
{{/if}}
<form name="settings" method="post" action="{{mibewRoot}}/operator/settings.php">
{{csrfTokenInput}}
<div>
{{> _tabs}}
<div class="mform">
<div class="formtop">
<div class="formtopi"></div>
</div>
<div class="forminner">
<div class="fieldForm">
<div class="field">
<label for="email" class="flabel">{{l10n "settings.email"}}</label>
<div class="fvalue">
<input id="email" type="text" name="email" size="40" value="{{formemail}}" class="formauth"/>
</div>
<label for="email" class="fdescr"> &mdash; {{l10n "settings.email.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="titlefield" class="flabel">{{l10n "settings.company.title"}}</label>
<div class="fvalue">
<input id="titlefield" type="text" name="title" size="40" value="{{formtitle}}" class="formauth"/>
</div>
<label for="titlefield" class="fdescr"> &mdash; {{l10n "settings.company.title.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="chattitle" class="flabel">{{l10n "settings.chat.title"}}</label>
<div class="fvalue">
<input id="chattitle" type="text" name="chattitle" size="40" value="{{formchattitle}}" class="formauth"/>
</div>
<label for="chattitle" class="fdescr"> &mdash; {{l10n "settings.chat.title.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="logofield" class="flabel">{{l10n "settings.logo"}}</label>
<div class="fvalue">
<input id="logofield" type="text" name="logo" size="40" value="{{formlogo}}" class="formauth"/>
</div>
<label for="logofield" class="fdescr"> &mdash; {{l10n "settings.logo.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="hosturl" class="flabel">{{l10n "settings.host"}}</label>
<div class="fvalue">
<input id="hosturl" type="text" name="hosturl" size="40" value="{{formhosturl}}" class="formauth"/>
</div>
<label for="hosturl" class="fdescr"> &mdash; {{l10n "settings.host.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="geolink" class="flabel">{{l10n "settings.geolink"}}</label>
<div class="fvalue">
<input id="geolink" type="text" name="geolink" size="40" value="{{formgeolink}}" class="formauth"/>
</div>
<label for="geolink" class="fdescr"> &mdash; {{l10n "settings.geolink.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="geolinkparams" class="flabel">{{l10n "settings.geolinkparams"}}</label>
<div class="fvalue">
<input id="geolinkparams" type="text" name="geolinkparams" size="40" value="{{formgeolinkparams}}" class="formauth"/>
</div>
<label for="geolinkparams" class="fdescr"> &mdash; {{l10n "settings.geolinkparams.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="usernamepattern" class="flabel">{{l10n "settings.usernamepattern"}}</label>
<div class="fvalue">
<input id="usernamepattern" type="text" name="usernamepattern" size="40" value="{{formusernamepattern}}" class="formauth"/>
</div>
<label for="usernamepattern" class="fdescr"> &mdash; {{l10n "settings.usernamepattern.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="cronkey" class="flabel">{{l10n "settings.cronkey"}}</label>
<div class="fvalue">
<input id="cronkey" type="text" name="cronkey" size="40" value="{{formcronkey}}" class="formauth"/>
</div>
<label for="cronkey" class="fdescr"> &mdash; {{l10n "settings.cronkey.description" cron_path}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="page_style" class="flabel">{{l10n "settings.page_style"}}</label>
<div class="fvalue">
<select id="pages_style" name="page_style">
{{#each availablePageStyles}}
<option value="{{this}}"{{#ifEqual this ../formpagestyle}} selected="selected"{{/ifEqual}}>{{this}}</option>
{{/each}}
</select>
</div>
<label for="page_style" class="fdescr"> &mdash; {{l10n "settings.page_style.description"}}</label>
<br clear="all"/>
</div>
<div class="field">
<label for="chat_style" class="flabel">{{l10n "settings.chatstyle"}}</label>
<div class="fvalue">
<select id="chat_style" name="chat_style" >
{{#each availableChatStyles}}
<option value="{{this}}"{{#ifEqual this ../formchatstyle}} selected="selected"{{/ifEqual}}>{{this}}</option>
{{/each}}
</select>
</div>
<label for="chat_style" class="fdescr"> &mdash; {{l10n "settings.chatstyle.description"}}</label>
<br clear="all"/>
</div>
{{#if enabletracking}}
<div class="field">
<label for="invitation_style" class="flabel">{{l10n "settings.invitationstyle"}}</label>
<div class="fvalue">
<select id="invitation_style" name="invitation_style" >
{{#each availableInvitationStyles}}
<option value="{{this}}"{{#ifEqual this ../forminvitationstyle}} selected="selected"{{/ifEqual}}>{{this}}</option>
{{/each}}
</select>
</div>
<label for="invitation_style" class="fdescr"> &mdash; {{l10n "settings.invitationstyle.description"}}</label>
<br clear="all"/>
</div>
{{/if}}
<div class="field">
<div class="flabel">{{l10n "settings.sendmessagekey"}}</div>
<div class="fvaluenodesc">
<input id="sendmessagekeyenter" type="radio" name="sendmessagekey" value="enter" {{#ifEqual formsendmessagekey "enter"}} checked="checked"{{/ifEqual}}/><label for="sendmessagekeyenter">Enter</label>
<input id="sendmessagekeycenter" type="radio" name="sendmessagekey" value="center" {{#ifEqual formsendmessagekey "center"}} checked="checked"{{/ifEqual}}/><label for="sendmessagekeycenter">Ctrl-Enter</label>
</div>
</div>
<div class="fbutton">
<input type="image" name="save" value="" src="{{mibewRoot}}{{l10n "image.button.save"}}" alt="{{l10n "button.save"}}"/>
</div>
</div>
</div>
<div class="formbottom">
<div class="formbottomi"></div>
</div>
</div>
</div>
<div class="asterisk">
{{l10n "common.asterisk_explanation"}}
</div>
</form>
{{/override}}
{{/extends}}

View File

@ -0,0 +1,233 @@
{{#extends "layout"}}
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "content"}}
{{{pageDescription}}}
<br />
<br />
{{> _errors}}
<form name="statisticsForm" method="get" action="{{mibewRoot}}/operator/statistics.php">
<input type="hidden" name="type" value="{{type}}" />
{{> _tabs}}
<div class="mform">
<div class="formtop">
<div class="formtopi"></div>
</div>
<div class="forminner">
<div class="fieldForm">
<div class="field">
<div class="flabel">{{l10n "statistics.dates"}}</div>
<div class="fvaluenodesc">
<div class="searchctrl">
<label for="startday">{{l10n "statistics.from"}}</label>
<select id="startday" name="startday">
{{#each availableDays}}
<option value="{{this}}"{{#ifEqual this ../formstartday}} selected="selected"{{/ifEqual}}>{{this}}</option>
{{/each}}
</select>
<select name="startmonth">
{{#each availableMonth}}
<option value="{{@key}}"{{#ifEqual @key ../formstartmonth}} selected="selected"{{/ifEqual}}>{{this}}</option>
{{/each}}
</select>
</div>
<div class="searchctrl">
<label for="endday">{{l10n "statistics.till"}}</label>
<select id="endday" name="endday">
{{#each availableDays}}
<option value="{{this}}"{{#ifEqual this ../formendday}} selected="selected"{{/ifEqual}}>{{this}}</option>
{{/each}}
</select>
<select name="endmonth">
{{#each availableMonth}}
<option value="{{@key}}"{{#ifEqual @key ../formendmonth}} selected="selected"{{/ifEqual}}>{{this}}</option>
{{/each}}
</select>
</div>
<div id="searchbutton">
<input type="image" name="search" src="{{mibewRoot}}{{l10n "image.button.search"}}" alt="{{l10n "button.search"}}"/>
</div>
</div>
<br clear="all"/>
</div>
</div>
</div>
<div class="formbottom">
<div class="formbottomi"></div>
</div>
</div>
</form>
{{#if showresults}}
{{#if showbydate}}
<br/>
<br/>
<div class="tabletitle">
{{l10n "report.bydate.title"}}
</div>
<table class="statistics">
<thead>
<tr>
<th>{{l10n "report.bydate.1"}}</th>
<th>{{l10n "report.bydate.2"}}</th>
<th>{{l10n "report.bydate.7"}}</th>
<th>{{l10n "report.bydate.3"}}</th>
<th>{{l10n "report.bydate.4"}}</th>
<th>{{l10n "report.bydate.5"}}</th>
<th>{{l10n "report.bydate.6"}}</th>
{{#if show_invitations_info}}
<th>{{l10n "report.bydate.8"}}</th>
<th>{{l10n "report.bydate.9"}}</th>
<th>{{l10n "report.bydate.10"}}</th>
<th>{{l10n "report.bydate.11"}}</th>
{{/if}}
</tr>
</thead>
<tbody>
{{#if reportByDate}}
{{#each reportByDate}}
<tr>
<td>{{date}}</td>
<td>{{threads}}</td>
<td>{{missedthreads}}</td>
<td>{{agents}}</td>
<td>{{users}}</td>
<td>{{avgwaitingtime}}</td>
<td>{{avgchattime}}</td>
{{#if ../show_invitations_info}}
<td>{{sentinvitations}}</td>
<td>{{acceptedinvitations}}</td>
<td>{{rejectedinvitations}}</td>
<td>{{ignoredinvitations}}</td>
{{/if}}
</tr>
{{/each}}
<tr>
<td><b>{{l10n "report.total"}}</b></td>
<td>{{reportByDateTotal.threads}}</td>
<td>{{reportByDateTotal.missedthreads}}</td>
<td>{{reportByDateTotal.agents}}</td>
<td>{{reportByDateTotal.users}}</td>
<td>{{reportByDateTotal.avgwaitingtime}}</td>
<td>{{reportByDateTotal.avgchattime}}</td>
{{#if show_invitations_info}}
<td>{{reportByDateTotal.sentinvitations}}</td>
<td>{{reportByDateTotal.acceptedinvitations}}</td>
<td>{{reportByDateTotal.rejectedinvitations}}</td>
<td>{{reportByDateTotal.ignoredinvitations}}</td>
{{/if}}
</tr>
{{else}}
<tr>
<td colspan="{{#if show_invitations_info}}11{{else}}7{{/if}}">
{{l10n "report.no_items"}}
</td>
</tr>
{{/if}}
</tbody>
</table>
{{/if}}
{{#if showbyagent}}
<br/>
<br/>
<div class="tabletitle">{{l10n "report.byoperator.title"}}</div>
<table class="statistics">
<thead>
<tr>
<th>{{l10n "report.byoperator.1"}}</th>
<th>{{l10n "report.byoperator.2"}}</th>
<th>{{l10n "report.byoperator.3"}}</th>
<th>{{l10n "report.byoperator.4"}}</th>
{{#if show_invitations_info}}
<th>{{l10n "report.byoperator.5"}}</th>
<th>{{l10n "report.byoperator.6"}}</th>
<th>{{l10n "report.byoperator.7"}}</th>
<th>{{l10n "report.byoperator.8"}}</th>
{{/if}}
</tr>
</thead>
<tbody>
{{#each reportByAgent}}
<tr>
<td><a href="{{../mibewRoot}}/operator/history.php?q={{name}}&type=operator">{{name}}</a></td>
<td>{{threads}}</td>
<td>{{msgs}}</td>
<td>{{avglen}}</td>
{{#if ../show_invitations_info}}
<td>{{sentinvitations}}</td>
<td>{{acceptedinvitations}}</td>
<td>{{rejectedinvitations}}</td>
<td>{{ignoredinvitations}}</td>
{{/if}}
</tr>
{{else}}
<tr>
<td colspan="{{#if show_invitations_info}}8{{else}}4{{/if}}">
{{l10n "report.no_items"}}
</td>
</tr>
{{/each}}
</tbody>
</table>
{{/if}}
{{#if showbypage}}
<br/>
<br/>
<div class="tabletitle">{{l10n "report.bypage.title"}}</div>
<table class="statistics">
<thead>
<tr>
<th>{{l10n "report.bypage.1"}}</th>
<th>{{l10n "report.bypage.2"}}</th>
<th>{{l10n "report.bypage.3"}}</th>
{{#if show_invitations_info}}
<th>{{l10n "report.bypage.4"}}</th>
<th>{{l10n "report.bypage.5"}}</th>
<th>{{l10n "report.bypage.6"}}</th>
<th>{{l10n "report.bypage.7"}}</th>
{{/if}}
</tr>
</thead>
<tbody>
{{#each reportByPage}}
<tr>
<td><a href="{{address}}">{{address}}</a></td>
<td>{{visittimes}}</td>
<td>{{chattimes}}</td>
{{#if ../show_invitations_info}}
<td>{{sentinvitations}}</td>
<td>{{acceptedinvitations}}</td>
<td>{{rejectedinvitations}}</td>
<td>{{ignoredinvitations}}</td>
{{/if}}
</tr>
{{else}}
<tr>
<td colspan="{{#if show_invitations_info}}7{{else}}3{{/if}}">
{{l10n "report.no_items"}}
</td>
</tr>
{{/each}}
</tbody>
</table>
{{/if}}
{{/if}}
{{/override}}
{{/extends}}

View File

@ -0,0 +1,49 @@
{{#extends "layout"}}
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "content"}}
{{l10n "page.preview.intro"}}
<br />
<br />
<form name="preview" method="get" action="{{mibewRoot}}/operator/themes.php">
<div>
{{> _tabs}}
<div class="mform">
<div class="formtop">
<div class="formtopi"></div>
</div>
<div class="forminner">
<div class="fieldForm">
<div class="field">
<label for="preview" class="flabel">{{l10n "page.preview.choose"}}</label>
<div class="fvaluenodesc">
<select id="preview" name="preview" onchange="this.form.submit();">
{{#each availablePreviews}}
<option value="{{this}}"{{#ifEqual this ../formpreview}} selected="selected"{{/ifEqual}}>{{this}}</option>
{{/each}}
</select>
</div>
</div>
{{#each screenshotsList}}
<div class="field">
<div class="flabel">{{description}}</div>
<div class="fvalueframe">
<img class="screenshot" alt="{{name}}" src="{{file}}" />
</div>
</div>
{{/each}}
</div>
</div>
<div class="formbottom">
<div class="formbottomi"></div>
</div>
</div>
</div>
</form>
{{/override}}
{{/extends}}

View File

@ -0,0 +1,97 @@
{{#extends "layout"}}
{{#override "header"}}
<!-- External libs -->
<script type="text/javascript" src="{{mibewRoot}}/js/libs/jquery.min.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/json2.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/underscore-min.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/backbone-min.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/backbone.marionette.min.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/handlebars.js"></script>
<!-- Application files -->
<script type="text/javascript" src="{{mibewRoot}}/js/compiled/mibewapi.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/compiled/default_app.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/compiled/thread_log_app.js"></script>
<!-- Start application -->
<script type="text/javascript"><!--
jQuery(document).ready(function(){
Mibew.Application.start({
messages: {{{threadMessages}}}
});
});
//--></script>
{{/override}}
{{#override "content"}}
{{l10n "thread.intro"}}
<br/><br/>
<div class="logpane">
<div class="header">
<div class="wlabel">
{{l10n "page.analysis.search.head_name"}}:
</div>
<div class="wvalue">
{{threadInfo.userName}}
</div>
<br clear="all"/>
<div class="wlabel">
{{l10n "page.analysis.search.head_host"}}:
</div>
<div class="wvalue">
{{{threadInfo.userAddress}}}
</div>
<br clear="all"/>
<div class="wlabel">
{{l10n "page.analysis.search.head_browser"}}:
</div>
<div class="wvalue">
{{threadInfo.userAgentVersion}}
</div>
<br clear="all"/>
{{#if threadInfo.groupName}}
<div class="wlabel">
{{l10n "page.analysis.search.head_group"}}:
</div>
<div class="wvalue">
{{threadInfo.groupName}}
</div>
<br clear="all"/>
{{/if}}
{{#if threadInfo.agentName}}
<div class="wlabel">
{{l10n "page.analysis.search.head_operator"}}:
</div>
<div class="wvalue">
{{threadInfo.agentName}}
</div>
<br clear="all"/>
{{/if}}
<div class="wlabel">
{{l10n "page.analysis.search.head_time"}}:
</div>
<div class="wvalue">
{{formatDateDiff threadInfo.chatTime}}
({{formatDate threadInfo.chatStarted}})
</div>
<br clear="all"/>
</div>
<div class="message" id="messages-region"></div>
</div>
<br />
<a href="{{mibewRoot}}/operator/history.php">
{{l10n "thread.back_to_search"}}
</a>
<br />
{{/override}}
{{/extends}}

View File

@ -0,0 +1,44 @@
{{#extends "layout"}}
{{#override "content"}}
{{l10n "tracked.intro"}}
<br/><br/>
<div class="logpane">
<div class="header">
<div class="wlabel">
{{l10n "tracked.visitor.came.from"}}:
</div>
<div class="wvalue">
{{#if entry}}
<a href="{{entry}}">{{entry}}</a>
{{else}}
{{l10n "tracked.empty.referrer"}}
{{/if}}
</div>
<br clear="all"/>
</div>
<div class="message">
<table class="list">
<thead>
<tr class="header">
<th>{{l10n "tracked.date"}}</th>
<th>{{l10n "tracked.link"}}</th>
</tr>
</thead>
<tbody>
{{#each history}}
<tr>
<td class="notlast">{{date}}</td>
<td><a href="{{link}}">{{link}}</a></td>
</tr>
{{/each}}
</tbody>
</table>
</div>
</div>
{{/override}}
{{/extends}}

View File

@ -0,0 +1,59 @@
{{#extends "layout"}}
{{#override "content"}}
{{#if saved}}
{{l10n "page.translate.done"}}
<script type="text/javascript"><!--
if(window.opener && window.opener.location) {
window.opener.location.reload();
}
setTimeout( (function() { window.close(); }), 1500 );
//--></script>
{{else}}
{{l10n "page.translate.one"}}
<br/>
<br/>
{{> _errors}}
<form name="translateForm" method="post" action="{{mibewRoot}}/operator/translate.php">
{{csrfTokenInput}}
<input type="hidden" name="key" value="{{key}}"/>
<input type="hidden" name="target" value="{{target}}"/>
<div class="mform">
<div class="formtop">
<div class="formtopi"></div>
</div>
<div class="forminner">
<div class="fieldForm">
<div class="field">
<label for="original" class="flabel">{{title1}}</label>
<div class="fvaluenodesc">
<textarea id="original" name="original" disabled="disabled" cols="20" rows="5" class="wide">{{formoriginal}}</textarea>
</div>
</div>
<div class="field">
<label for="translation" class="flabel">{{title2}}</label>
<div class="fvaluenodesc">
<textarea id="translation" name="translation" cols="20" rows="5" class="wide">{{formtranslation}}</textarea>
</div>
</div>
<div class="fbutton">
<input type="image" name="save" value="" src="{{mibewRoot}}{{l10n "image.button.save"}}" alt="{{l10n "button.save"}}"/>
</div>
</div>
</div>
<div class="formbottom">
<div class="formbottomi"></div>
</div>
</div>
</form>
{{/if}}
{{/override}}
{{/extends}}

View File

@ -0,0 +1,105 @@
{{#extends "layout"}}
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "content"}}
{{l10n "page.translate.descr"}}
<br />
<br />
<form name="translateForm" method="get" action="{{mibewRoot}}/operator/translate.php">
<div class="mform">
<div class="formtop">
<div class="formtopi"></div>
</div>
<div class="forminner">
<div class="packedFormField">
{{l10n "translate.direction"}}<br/>
<select name="source" onchange="this.form.submit();">
{{#each availableLocales}}
<option value="{{id}}" {{#ifEqual id ../formsource}} selected="selected"{{/ifEqual}}>{{name}}</option>
{{/each}}
</select>
=&gt;
<select name="target" onchange="this.form.submit();">
{{#each availableLocales}}
<option value="{{id}}"{{#ifEqual id ../formtarget}} selected="selected"{{/ifEqual}}>{{name}}</option>
{{/each}}
</select>
</div>
<div class="packedFormField">
{{l10n "translate.sort"}}<br/>
<select name="sort" onchange="this.form.submit();">
{{#each availableOrders}}
<option value="{{id}}"{{#ifEqual id ../formsort}} selected="selected"{{/ifEqual}}>{{name}}</option>
{{/each}}
</select>
</div>
<div class="packedFormField">
{{l10n "translate.show"}}<br/>
<select name="show" onchange="this.form.submit();">
{{#each showOptions}}
<option value="{{id}}"{{#ifEqual id ../formshow}} selected="selected"{{/ifEqual}}>{{name}}</option>
{{/each}}
</select>
</div>
<br clear="all"/>
</div>
<div class="formbottom">
<div class="formbottomi"></div>
</div>
</div>
</form>
<br/>
{{#if pagination}}
{{generatePagination stylePath pagination "false"}}
{{/if}}
<table class="translate">
<thead>
<tr class="header"><th>
Key
</th><th>
{{title1}}
</th><th>
{{title2}}
</th></tr>
</thead>
<tbody>
{{#each [pagination.items]}}
<tr>
<td>
<a href="{{../mibewRoot}}/operator/translate.php?source={{../lang1}}&amp;target={{../lang2}}&amp;key={{id}}" target="_blank" onclick="this.newWindow = window.open('{{../mibewRoot}}/operator/translate.php?source={{../lang1}}&amp;target={{../lang2}}&amp;key={{id}}', '', 'toolbar=0,scrollbars=1,location=0,status=1,menubar=0,width=640,height=480,resizable=1');this.newWindow.focus();this.newWindow.opener=window;return false;">{{idToPage}}</a>
</td>
<td>
{{{l1ToPage}}}
</td>
<td>
{{{l2ToPage}}}
</td>
</tr>
{{else}}
<tr>
<td colspan="3">{{l10n "tag.pagination.no_items"}}</td>
</tr>
{{/each}}
</tbody>
</table>
{{#if pagination}}
<br />
{{generatePagination stylePath pagination}}
{{/if}}
{{/override}}
{{/extends}}

View File

@ -0,0 +1,54 @@
{{#extends "layout"}}
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "header"}}
<script type="text/javascript" language="javascript" src="{{mibewRoot}}/js/libs/jquery.min.js"></script>
<script type="text/javascript" language="javascript" src="http://mibew.org/latestMibew.js"></script>
<script type="text/javascript" language="javascript" src="{{mibewRoot}}/js/compiled/update.js"></script>
{{/override}}
{{#override "content"}}
{{l10n "updates.intro"}}
<br />
<br />
<div>
<div class="mform">
<div class="formtop">
<div class="formtopi"></div>
</div>
<div class="forminner">
{{l10n "updates.news"}}<br/>
<div id="news"></div>
{{l10n "updates.current"}}<br/>
<div id="cver">{{version}}</div>
<br/>
{{l10n "updates.latest"}}
<div id="lver"></div>
<br/>
{{l10n "updates.installed_locales"}}<br/>
{{#each localizations}}
{{this}}
{{/each}}
<br/><br/>
{{l10n "updates.env"}}<br/>
PHP {{phpVersion}}
</div>
<div class="formbottom">
<div class="formbottomi"></div>
</div>
</div>
</div>
{{/override}}
{{/extends}}

View File

@ -0,0 +1,43 @@
{{#extends "layout"}}
{{#override "content"}}
{{l10n "page.analysis.userhistory.intro"}}
<br />
<br />
<table class="list">
<thead>
<tr class="header">
<th>{{l10n "page.analysis.search.head_name"}}</th>
<th>{{l10n "page.analysis.search.head_host"}}</th>
<th>{{l10n "page.analysis.search.head_operator"}}</th>
<th>{{l10n "page.analysis.search.head_time"}}</th>
</tr>
</thead>
<tbody>
{{#each [pagination.items]}}
<tr>
<td>
<a href="{{../mibewRoot}}/operator/threadprocessor.php?threadid={{threadId}}" target="_blank" onclick="this.newWindow = window.open('{{../mibewRoot}}/operator/threadprocessor.php?threadid={{threadId}}', '', 'toolbar=0,scrollbars=1,location=0,status=1,menubar=0,width=720,height=520,resizable=1');this.newWindow.focus();this.newWindow.opener=window;return false;">{{userName}}</a>
</td>
<td>{{{userAddress}}}</td>
<td>{{agentName}}</td>
<td>{{formatDateDiff chatTime}}, {{formatDate chatCreated}}</td>
</tr>
{{else}}
<tr>
<td colspan="5">
{{l10n "tag.pagination.no_items"}}
</td>
</tr>
{{/each}}
</tbody>
</table>
{{#if pagination}}
<br />
{{generatePagination stylePath pagination}}
{{/if}}
{{/override}}
{{/extends}}

View File

@ -0,0 +1,137 @@
{{#extends "layout"}}
{{#if havemenu}}
{{#override "menu"}}{{> _menu}}{{/override}}
{{/if}}
{{#override "header"}}
<!-- Plugins CSS files -->
{{{additional_css}}}
<!-- External libs -->
<script type="text/javascript" src="{{mibewRoot}}/js/libs/jquery.min.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/json2.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/underscore-min.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/backbone-min.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/backbone.marionette.min.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/handlebars.js"></script>
<!-- Application files -->
<script type="text/javascript" src="{{mibewRoot}}/js/compiled/mibewapi.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/compiled/default_app.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/compiled/users_app.js"></script>
<!-- Plugins JavaScript files -->
{{{additional_js}}}
<!-- Localization constants -->
<script type="text/javascript"><!--
// Localized strings for the core
Mibew.Localization.set({
'pending.table.speak': "{{#jsString}}{{l10n 'pending.table.speak'}}{{/jsString}}",
'pending.table.view': "{{#jsString}}{{l10n 'pending.table.view'}}{{/jsString}}",
'pending.table.ban': "{{#jsString}}{{l10n 'pending.table.ban'}}{{/jsString}}",
'pending.menu.show': "{{#jsString}}{{l10n 'pending.menu.show'}}{{/jsString}}",
'pending.menu.hide': "{{#jsString}}{{l10n 'pending.menu.hide'}}{{/jsString}}",
'pending.popup_notification': "{{#jsString}}{{l10n 'pending.popup_notification'}}{{/jsString}}",
'pending.table.tracked': "{{#jsString}}{{l10n 'pending.table.tracked'}}{{/jsString}}",
'pending.table.invite': "{{#jsString}}{{l10n 'pending.table.invite'}}{{/jsString}}",
'pending.status.away': "{{#jsString}}{{l10n 'pending.status.away'}}{{/jsString}}",
'pending.status.online': "{{#jsString}}{{l10n 'pending.status.online'}}{{/jsString}}",
'pending.status.setonline': "{{#jsString}}{{l10n 'pending.status.setonline'}}{{/jsString}}",
'pending.status.setaway': "{{#jsString}}{{l10n 'pending.status.setaway'}}{{/jsString}}",
'pending.table.head.name': "{{#jsString}}{{l10n 'pending.table.head.name'}}{{/jsString}}",
'pending.table.head.actions': "{{#jsString}}{{l10n 'pending.table.head.actions'}}{{/jsString}}",
'pending.table.head.contactid': "{{#jsString}}{{l10n 'pending.table.head.contactid'}}{{/jsString}}",
'pending.table.head.state': "{{#jsString}}{{l10n 'pending.table.head.state'}}{{/jsString}}",
'pending.table.head.operator': "{{#jsString}}{{l10n 'pending.table.head.operator'}}{{/jsString}}",
'pending.table.head.total': "{{#jsString}}{{l10n 'pending.table.head.total'}}{{/jsString}}",
'pending.table.head.waittime': "{{#jsString}}{{l10n 'pending.table.head.waittime'}}{{/jsString}}",
'pending.table.head.etc': "{{#jsString}}{{l10n 'pending.table.head.etc'}}{{/jsString}}",
'visitors.table.head.actions': "{{#jsString}}{{l10n 'visitors.table.head.actions'}}{{/jsString}}",
'visitors.table.head.name': "{{#jsString}}{{l10n 'visitors.table.head.name'}}{{/jsString}}",
'visitors.table.head.contactid': "{{#jsString}}{{l10n 'visitors.table.head.contactid'}}{{/jsString}}",
'visitors.table.head.firsttimeonsite': "{{#jsString}}{{l10n 'visitors.table.head.firsttimeonsite'}}{{/jsString}}",
'visitors.table.head.lasttimeonsite': "{{#jsString}}{{l10n 'visitors.table.head.lasttimeonsite'}}{{/jsString}}",
'visitors.table.head.invited.by': "{{#jsString}}{{l10n 'visitors.table.head.invited.by'}}{{/jsString}}",
'visitors.table.head.invitationtime': "{{#jsString}}{{l10n 'visitors.table.head.invitationtime'}}{{/jsString}}",
'visitors.table.head.invitations': "{{#jsString}}{{l10n 'visitors.table.head.invitations'}}{{/jsString}}",
'visitors.table.head.etc': "{{#jsString}}{{l10n 'visitors.table.head.etc'}}{{/jsString}}",
'visitors.no_visitors': "{{#jsString}}{{l10n 'visitors.no_visitors'}}{{/jsString}}",
'clients.no_clients': "{{#jsString}}{{l10n 'clients.no_clients'}}{{/jsString}}",
'chat.thread.state_wait': "{{#jsString}}{{l10n 'chat.thread.state_wait'}}{{/jsString}}",
'chat.thread.state_wait_for_another_agent': "{{#jsString}}{{l10n 'chat.thread.state_wait_for_another_agent'}}{{/jsString}}",
'chat.thread.state_chatting_with_agent': "{{#jsString}}{{l10n 'chat.thread.state_chatting_with_agent'}}{{/jsString}}",
'chat.thread.state_closed': "{{#jsString}}{{l10n 'chat.thread.state_closed'}}{{/jsString}}",
'chat.thread.state_loading': "{{#jsString}}{{l10n 'chat.thread.state_loading'}}{{/jsString}}",
'chat.client.spam.prefix': "{{#jsString}}{{l10n 'chat.client.spam.prefix'}}{{/jsString}}",
'pending.errors.network': "{{#jsString}}{{l10n 'pending.errors.network'}}{{/jsString}}"
});
// Plugins localization
Mibew.Localization.set({{additional_localized_strings}});
//--></script>
<script type="text/javascript"><!--
jQuery(document).ready(function(){
Mibew.Application.start({
server: {
url: "{{mibewRoot}}/operator/update.php",
requestsFrequency: {{frequency}}
},
agent: {
id: {{agentId}}
},
page: {
showOnlineOperators: {{#if showonline}}true{{else}}false{{/if}},
showVisitors: {{#if showvisitors}}true{{else}}false{{/if}},
showPopup: {{#if showpopup}}true{{else}}false{{/if}},
threadTag: "{{[coreStyles.threadTag]}}",
visitorTag: "{{[coreStyles.visitorTag]}}",
agentLink: "{{mibewRoot}}/operator/agent.php",
geoLink: "{{geoLink}}",
trackedLink: "{{mibewRoot}}/operator/tracked.php",
banLink: "{{mibewRoot}}/operator/ban.php",
inviteLink: "{{mibewRoot}}/operator/invite.php",
chatWindowParams: "{{[chatStyles.chatWindowParams]}}",
geoWindowParams: "{{geoWindowParams}}",
trackedUserWindowParams: "{{[coreStyles.trackedUserWindowParams]}}",
trackedVisitorWindowParams: "{{[coreStyles.trackedVisitorWindowParams]}}",
banWindowParams: "{{[coreStyles.banWindowParams]}}",
inviteWindowParams: "{{[coreStyles.inviteWindowParams]}}"
},
plugins: {{js_plugin_options}}
});
});
//--></script>
{{/override}}
{{#override "content"}}
<div>
{{l10n "clients.intro"}}
<br/>
{{l10n "clients.how_to"}}
</div>
<br/>
<div id="threads-region"></div>
{{#if showvisitors}}
<div class="tabletitle">{{l10n "visitors.title"}}</div>
{{l10n "visitors.intro"}}
<br/>
{{l10n "visitors.how_to"}}
<div id="visitors-region"></div>
<hr/>
{{/if}}
<div id="status-panel-region"></div>
<div id="agents-region"></div>
{{/override}}
{{/extends}}

View File

@ -1,135 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
require_once(dirname(__FILE__).'/inc_menu.php');
require_once(dirname(__FILE__).'/inc_tabbar.php');
function tpl_content($page) {
?>
<?php if( $page['opid'] ) { ?>
<?php echo getlocal("page_agent.intro") ?>
<?php } ?>
<?php if( !$page['opid'] ) { ?>
<?php echo getlocal("page_agent.create_new") ?>
<?php } ?>
<br />
<br />
<?php
require_once(dirname(__FILE__).'/inc_errors.php');
?>
<?php if( $page['needChangePassword'] ) { ?>
<div id="formmessage"><?php echo getlocal("error.no_password") ?></div>
<br/>
<?php } else if( $page['stored'] ) { ?>
<div id="formmessage"><?php echo getlocal("data.saved") ?></div>
<?php } ?>
<?php if( $page['opid'] || $page['canmodify'] ) { ?>
<form name="agentForm" method="post" action="<?php echo MIBEW_WEB_ROOT ?>/operator/operator.php">
<?php print_csrf_token_input() ?>
<input type="hidden" name="opid" value="<?php echo $page['opid'] ?>"/>
<div>
<?php if(!$page['needChangePassword']) { print_tabbar($page['tabs']); } ?>
<div class="mform"><div class="formtop"><div class="formtopi"></div></div><div class="forminner">
<div class="fieldForm">
<div class="field">
<label for="login" class="flabel"><?php echo getlocal('form.field.login') ?><span class="required">*</span></label>
<div class="fvalue">
<input id="login" type="text" name="login" size="40" value="<?php echo form_value($page, 'login') ?>" class="formauth"<?php echo $page['canchangelogin'] ? "" : " disabled=\"disabled\"" ?>/>
</div>
<label for="login" class="fdescr"> &mdash; <?php echo getlocal('form.field.login.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="email" class="flabel"><?php echo getlocal('form.field.mail') ?><span class="required">*</span></label>
<div class="fvalue">
<input id="email" type="text" name="email" size="40" value="<?php echo form_value($page, 'email') ?>" class="formauth"<?php echo $page['canmodify'] ? "" : " disabled=\"disabled\"" ?>/>
</div>
<label for="email" class="fdescr"> &mdash; <?php echo getlocal('form.field.mail.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="password" class="flabel"><?php echo getlocal('form.field.password') ?><?php if( !$page['opid'] || $page['needChangePassword'] ) { ?><span class="required">*</span><?php } ?></label>
<div class="fvalue">
<input id="password" type="password" name="password" size="40" value="" class="formauth"<?php echo $page['canmodify'] ? "" : " disabled=\"disabled\"" ?> autocomplete="off"/>
</div>
<label for="password" class="fdescr"> &mdash; <?php echo getlocal('form.field.password.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="passwordConfirm" class="flabel"><?php echo getlocal('form.field.password_confirm') ?><?php if( !$page['opid'] || $page['needChangePassword'] ) { ?><span class="required">*</span><?php } ?></label>
<div class="fvalue">
<input id="passwordConfirm" type="password" name="passwordConfirm" size="40" value="" class="formauth"<?php echo $page['canmodify'] ? "" : " disabled=\"disabled\"" ?> autocomplete="off"/>
</div>
<label for="passwordConfirm" class="fdescr"> &mdash; <?php echo getlocal('form.field.password_confirm.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="name" class="flabel"><?php echo getlocal('form.field.agent_name') ?><span class="required">*</span></label>
<div class="fvalue">
<input id="name" type="text" name="name" size="40" value="<?php echo form_value($page, 'name') ?>" class="formauth"<?php echo $page['canmodify'] ? "" : " disabled=\"disabled\"" ?>/>
</div>
<label for="name" class="fdescr"> &mdash; <?php echo getlocal('form.field.agent_name.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="commonname" class="flabel"><?php echo getlocal('form.field.agent_commonname') ?><span class="required">*</span></label>
<div class="fvalue">
<input id="commonname" type="text" name="commonname" size="40" value="<?php echo form_value($page, 'commonname') ?>" class="formauth"<?php echo $page['canmodify'] ? "" : " disabled=\"disabled\"" ?>/>
</div>
<label for="commonname" class="fdescr"> &mdash; <?php echo getlocal('form.field.agent_commonname.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="code" class="flabel"><?php echo getlocal('form.field.agent_code') ?></label>
<div class="fvalue">
<input id="code" type="text" name="code" size="40" value="<?php echo form_value($page, 'code') ?>" class="formauth"<?php echo $page['canmodify'] ? "" : " disabled=\"disabled\"" ?>/>
</div>
<label for="code" class="fdescr"> &mdash; <?php echo getlocal('form.field.agent_code.description') ?></label>
<br clear="all"/>
</div>
<?php if($page['canmodify']) { ?>
<div class="fbutton">
<input type="image" name="save" value="" src='<?php echo MIBEW_WEB_ROOT . getlocal("image.button.save") ?>' alt='<?php echo getlocal("button.save") ?>'/>
</div>
<?php } ?>
</div>
</div><div class="formbottom"><div class="formbottomi"></div></div></div>
</div>
<div class="asterisk">
<?php echo getlocal("common.asterisk_explanation") ?>
</div>
</form>
<?php } ?>
<?php
} /* content */
require_once(dirname(__FILE__).'/inc_main.php');
?>

View File

@ -1,137 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
require_once(dirname(__FILE__).'/inc_menu.php');
function tpl_header($page) {
?>
<script type="text/javascript" language="javascript" src="<?php echo MIBEW_WEB_ROOT ?>/js/libs/jquery.min.js"></script>
<?php
}
function tpl_content($page) {
?>
<?php echo getlocal("page_agents.intro") ?>
<br />
<br />
<?php
require_once(dirname(__FILE__).'/inc_errors.php');
?>
<form name="agentsForm" method="get" action="<?php echo MIBEW_WEB_ROOT ?>/operator/operators.php">
<div class="mform"><div class="formtop"><div class="formtopi"></div></div><div class="forminner">
<div class="packedFormField">
<?php echo getlocal("page_agents.sort") ?><br/>
<select name="sortby" onchange="this.form.submit();"><?php
foreach($page['availableOrders'] as $k) {
echo "<option value=\"".$k['id']."\"".($k['id'] == form_value($page, "sortby") ? " selected=\"selected\"" : "").">".$k['name']."</option>";
} ?></select>
</div>
<div class="packedFormField">
<?php echo getlocal("page_agents.sortdirection") ?><br/>
<select name="sortdirection" onchange="this.form.submit();"><?php
foreach($page['availableDirections'] as $k) {
echo "<option value=\"".$k['id']."\"".($k['id'] == form_value($page, "sortdirection") ? " selected=\"selected\"" : "").">".$k['name']."</option>";
} ?></select>
</div>
<br clear="all"/>
</div><div class="formbottom"><div class="formbottomi"></div></div></div>
</form>
<br />
<?php if($page['canmodify']) { ?>
<div class="tabletool">
<img src='<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/images/buttons/createagent.gif' border="0" alt="" />
<a href='<?php echo MIBEW_WEB_ROOT ?>/operator/operator.php' title="<?php echo getlocal("page_agents.new_agent") ?>">
<?php echo getlocal("page_agents.new_agent") ?>
</a>
</div>
<br clear="all"/>
<?php } ?>
<table class="list">
<thead>
<tr class="header">
<th>
<?php echo getlocal("page_agents.login") ?>
</th><th>
<?php echo getlocal("page_agents.agent_name") ?>
</th><th>
<?php echo getlocal("page_agents.status") ?>
<?php if($page['canmodify']) { ?>
</th><th>
</th><th>
<?php } ?>
</th>
</tr>
</thead>
<tbody>
<?php foreach( $page['allowedAgents'] as $a ) { ?>
<tr>
<td class="notlast">
<a id="ti<?php echo $a['operatorid'] ?>" href="<?php echo MIBEW_WEB_ROOT ?>/operator/operator.php?op=<?php echo $a['operatorid'] ?>" class="man">
<?php echo htmlspecialchars(to_page($a['vclogin'])) ?>
</a>
</td>
<td class="notlast">
<?php echo htmlspecialchars(to_page($a['vclocalename'])) ?> / <?php echo htmlspecialchars(to_page($a['vccommonname'])) ?>
</td>
<td class="notlast">
<?php if(operator_is_available($a)) { ?>
<?php echo getlocal("page_agents.isonline") ?>
<?php } else if(operator_is_away($a)) { ?>
<?php echo getlocal("page_agents.isaway") ?>
<?php } else { ?>
<?php echo date_to_text(time() - $a['time']) ?>
<?php } ?>
</td>
<?php if($page['canmodify']) { ?>
<td>
<?php if(operator_is_disabled($a)){ ?>
<a href="<?php echo MIBEW_WEB_ROOT ?>/operator/operators.php?act=enable&amp;id=<?php echo $a['operatorid'] ?>"><?php echo getlocal("page_agents.enable.agent") ?></a>
<?php }else{ ?>
<a href="<?php echo MIBEW_WEB_ROOT ?>/operator/operators.php?act=disable&amp;id=<?php echo $a['operatorid'] ?>"><?php echo getlocal("page_agents.disable.agent") ?></a>
<?php } ?>
</td>
<td>
<a class="removelink" id="i<?php echo $a['operatorid'] ?>" href="<?php echo MIBEW_WEB_ROOT ?>/operator/operators.php?act=del&amp;id=<?php echo $a['operatorid'] ?><?php print_csrf_token_in_url() ?>">
<?php echo getlocal("remove.item") ?>
</a>
</td>
<?php } ?>
</tr>
<?php } ?>
</tbody>
</table>
<script type="text/javascript" language="javascript"><!--
$('a.removelink').click(function(){
var login = $("#t"+this.id).text();
return confirm("<?php echo get_local_for_js("page_agents.confirm", array('"+$.trim(login)+"')) ?>");
});
//--></script>
<?php
} /* content */
require_once(dirname(__FILE__).'/inc_main.php');
?>

View File

@ -1,94 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
require_once(dirname(__FILE__).'/inc_menu.php');
require_once(dirname(__FILE__).'/inc_tabbar.php');
function tpl_content($page) {
?>
<?php echo getlocal("page_avatar.intro") ?>
<br />
<br />
<?php
require_once(dirname(__FILE__).'/inc_errors.php');
?>
<form name="avatarForm" method="post" action="<?php echo MIBEW_WEB_ROOT ?>/operator/avatar.php" enctype="multipart/form-data">
<?php print_csrf_token_input() ?>
<input type="hidden" name="op" value="<?php echo $page['opid'] ?>"/>
<div>
<?php print_tabbar($page['tabs']); ?>
<div class="mform"><div class="formtop"><div class="formtopi"></div></div><div class="forminner">
<p>
<b><?php echo $page['currentop'] ?>&lrm;</b>
</p>
<div class="fieldForm">
<?php if( $page['avatar'] ) { ?>
<div class="field">
<div class="flabel"><?php echo getlocal('form.field.avatar.current') ?></div>
<div class="fvalue">
<img src="<?php echo $page['avatar'] ?>" alt="cannot load avatar"/><br/>
<?php if($page['canmodify']) { ?>
<a class="formauth" href='<?php echo MIBEW_WEB_ROOT ?>/operator/avatar.php?op=<?php echo $page['opid'] ?>&amp;delete=true'>
<?php echo getlocal("page_agent.clear_avatar") ?>
</a>
<?php } ?>
</div>
<div class="fdescr"> &mdash; <?php echo getlocal('form.field.avatar.current.description') ?></div>
<br clear="all"/>
</div>
<?php } else if(!$page['canmodify']) { ?>
<div class="field">
<div class="fvaluenodesc">
No avatar
</div>
</div>
<?php } ?>
<?php if($page['canmodify']) { ?>
<div class="field">
<label for="avatarFile" class="flabel"><?php echo getlocal('form.field.avatar.upload') ?><span class="required">*</span></label>
<div class="fvalue">
<input id="avatarFile" type="file" name="avatarFile" size="40" value="<?php echo form_value($page, 'avatarFile') ?>" class="formauth"/>
</div>
<label for="avatarFile" class="fdescr"> &mdash; <?php echo getlocal('form.field.avatar.upload.description') ?></label>
<br clear="all"/>
</div>
<div class="fbutton">
<input type="image" name="save" value="" src='<?php echo MIBEW_WEB_ROOT . getlocal("image.button.save") ?>' alt='<?php echo getlocal("button.save") ?>'/>
</div>
<?php } ?>
</div>
</div><div class="formbottom"><div class="formbottomi"></div></div></div>
</div>
<div class="asterisk">
<?php echo getlocal("common.asterisk_explanation") ?>
</div>
</form>
<?php
} /* content */
require_once(dirname(__FILE__).'/inc_main.php');
?>

View File

@ -1,100 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
function tpl_content($page) {
?>
<?php if( $page['saved'] ) { ?>
<?php echo getlocal2("page_ban.sent",array($page['address'])) ?>
<script type="text/javascript"><!--
if(window.opener && window.opener.location) {
window.opener.location.reload();
}
setTimeout( (function() { window.close(); }), 1500 );
//--></script>
<?php } else { ?>
<?php echo getlocal("page_ban.intro") ?>
<br/>
<br/>
<?php
require_once(dirname(__FILE__).'/inc_errors.php');
?>
<?php if( $page['thread'] ) { ?>
<?php echo getlocal2("page_ban.thread",array(htmlspecialchars($page['thread']))) ?><br/>
<br/>
<?php } ?>
<form name="banForm" method="post" action="<?php echo MIBEW_WEB_ROOT ?>/operator/ban.php">
<?php print_csrf_token_input() ?>
<input type="hidden" name="banId" value="<?php echo $page['banId'] ?>"/>
<?php if( $page['threadid'] ) { ?>
<input type="hidden" name="threadid" value="<?php echo $page['threadid'] ?>"/>
<?php } ?>
<div class="mform"><div class="formtop"><div class="formtopi"></div></div><div class="forminner">
<div class="fieldForm">
<div class="field">
<label for="address" class="flabel"><?php echo getlocal('form.field.address') ?><span class="required">*</span></label>
<div class="fvalue">
<input id="address" type="text" name="address" size="40" value="<?php echo form_value($page, 'address') ?>" class="formauth"/>
</div>
<label for="address" class="fdescr"> &mdash; <?php echo getlocal('form.field.address.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="days" class="flabel"><?php echo getlocal('form.field.ban_days') ?><span class="required">*</span></label>
<div class="fvalue">
<input id="days" type="text" name="days" size="4" value="<?php echo form_value($page, 'days') ?>" class="formauth"/>
</div>
<label for="days" class="fdescr"> &mdash; <?php echo getlocal('form.field.ban_days.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="comment" class="flabel"><?php echo getlocal('form.field.ban_comment') ?><span class="required">*</span></label>
<div class="fvalue">
<input id="comment" type="text" name="comment" size="40" value="<?php echo form_value($page, 'comment') ?>" class="formauth"/>
</div>
<label for="comment" class="fdescr"> &mdash; <?php echo getlocal('form.field.ban_comment.description') ?></label>
<br clear="all"/>
</div>
<div class="fbutton">
<input type="image" name="save" value="" src='<?php echo MIBEW_WEB_ROOT . getlocal("image.button.save") ?>' alt='<?php echo getlocal("button.save") ?>'/>
</div>
</div>
</div><div class="formbottom"><div class="formbottomi"></div></div></div>
<div class="asterisk">
<?php echo getlocal("common.asterisk_explanation") ?>
</div>
</form>
<?php } ?>
<?php
} /* content */
require_once(dirname(__FILE__).'/inc_main.php');
?>

View File

@ -1,117 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
require_once(dirname(__FILE__).'/inc_menu.php');
function tpl_header($page) {
?>
<script type="text/javascript" language="javascript" src="<?php echo MIBEW_WEB_ROOT ?>/js/libs/jquery.min.js"></script>
<?php
}
function tpl_content($page) {
?>
<?php echo getlocal("page_ban.intro") ?>
<br />
<br />
<?php
require_once(dirname(__FILE__).'/inc_errors.php');
?>
<div class="tabletool">
<img src="<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/images/buttons/createban.gif" border="0" alt=""/>
<a href="<?php echo MIBEW_WEB_ROOT ?>/operator/ban.php" title="<?php echo getlocal("page_bans.add") ?>"
onclick="this.newWindow = window.open('<?php echo MIBEW_WEB_ROOT ?>/operator/ban.php', '', 'toolbar=0,scrollbars=1,location=0,status=1,menubar=0,width=640,height=480,resizable=1');this.newWindow.focus();this.newWindow.opener=window;return false;"><?php echo getlocal("page_bans.add") ?></a>
</div>
<br clear="all"/>
<table class="list">
<thead>
<tr class="header">
<th>
<?php echo getlocal("form.field.address") ?>
</th><th>
<?php echo getlocal("page_bans.to") ?>
</th><th>
<?php echo getlocal("form.field.ban_comment") ?>
</th><th>
<?php echo getlocal("page_bans.edit") ?>
</th>
</tr>
</thead>
<tbody>
<?php
if( $page['pagination.items'] ) {
foreach( $page['pagination.items'] as $b ) { ?>
<tr>
<td class="notlast">
<a href="<?php echo MIBEW_WEB_ROOT ?>/operator/history.php?q=<?php echo $b['address']?>&type=visitor" class="man" id="ti<?php echo $b['banid'] ?>">
<?php echo htmlspecialchars($b['address']) ?>
</a>
</td>
<td class="notlast">
<?php echo date_to_text($b['till']) ?>
</td>
<td>
<?php
if( strlen(to_page($b['comment'])) > 30 ) {
echo htmlspecialchars(substr(to_page($b['comment']),0,30));
} else {
echo htmlspecialchars(to_page($b['comment']));
}
?>
</td>
<td>
<a class="removelink" id="i<?php echo $b['banid'] ?>" href="<?php echo MIBEW_WEB_ROOT ?>/operator/blocked.php?act=del&amp;id=<?php echo $b['banid'] ?><?php print_csrf_token_in_url() ?>">
<?php echo getlocal("remove.item") ?></a>,
<a href="<?php echo MIBEW_WEB_ROOT ?>/operator/ban.php?id=<?php echo $b['banid'] ?>"
onclick="this.newWindow = window.open('<?php echo MIBEW_WEB_ROOT ?>/operator/ban.php?id=<?php echo $b['banid'] ?>', '', 'toolbar=0,scrollbars=1,location=0,status=1,menubar=0,width=640,height=480,resizable=1');this.newWindow.focus();this.newWindow.opener=window;return false;"><?php echo getlocal("edit.item") ?></a>
</td>
</tr>
<?php
}
} else {
?>
<tr>
<td colspan="4">
<?php echo getlocal("tag.pagination.no_items.elements") ?>
</td>
</tr>
<?php
}
?>
</tbody>
</table>
<?php
if ($page['pagination']) {
echo "<br/>";
echo generate_pagination($page['stylepath'], $page['pagination']);
}
?>
<script type="text/javascript" language="javascript"><!--
$('a.removelink').click(function(){
var addr = $("#t"+this.id).text();
return confirm("<?php echo get_local_for_js("page_bans.confirm", array('"+$.trim(addr)+"')) ?>");
});
//--></script>
<?php
} /* content */
require_once(dirname(__FILE__).'/inc_main.php');
?>

View File

@ -1,118 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
require_once(dirname(__FILE__).'/inc_menu.php');
function tpl_content($page) {
?>
<?php echo getlocal("canned.descr") ?>
<br />
<br />
<?php
require_once(dirname(__FILE__).'/inc_errors.php');
?>
<form name="cannedForm" method="get" action="<?php echo MIBEW_WEB_ROOT ?>/operator/canned.php">
<div class="mform"><div class="formtop"><div class="formtopi"></div></div><div class="forminner">
<div class="packedFormField">
<?php echo getlocal("canned.locale") ?><br/>
<select name="lang" onchange="this.form.submit();"><?php
foreach($page['locales'] as $k) {
echo "<option value=\"".$k["id"]."\"".($k["id"] == form_value($page, "lang") ? " selected=\"selected\"" : "").">".$k["name"]."</option>";
} ?></select>
</div>
<div class="packedFormField">
<?php echo getlocal("canned.group") ?><br/>
<select name="group" onchange="this.form.submit();"><?php
foreach($page['groups'] as $k) {
echo "<option value=\"".$k["groupid"]."\"".($k["groupid"] == form_value($page, "group") ? " selected=\"selected\"" : "").">".str_repeat('&nbsp', $k['level']*2).$k["vclocalname"]."</option>";
} ?></select>
</div>
<br clear="all"/>
</div><div class="formbottom"><div class="formbottomi"></div></div></div>
</form>
<br/>
<div class="tabletool">
<img src="<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/images/buttons/createban.gif" border="0" alt=""/>
<a href="<?php echo MIBEW_WEB_ROOT ?>/operator/cannededit.php?lang=<?php echo form_value($page, "lang") ?>&amp;group=<?php echo form_value($page, "group")?>" target="_blank"
onclick="this.newWindow = window.open('<?php echo MIBEW_WEB_ROOT ?>/operator/cannededit.php?lang=<?php echo form_value($page, "lang") ?>&amp;group=<?php echo form_value($page, "group")?>', '', 'toolbar=0,scrollbars=1,location=0,status=1,menubar=0,width=640,height=480,resizable=1');this.newWindow.focus();this.newWindow.opener=window;return false;">
<?php echo getlocal("canned.add") ?>
</a>
</div>
<br clear="all"/>
<table class="translate">
<thead>
<tr class="header"><th>
<?php echo getlocal("canned.message_title") ?>
</th><th>
<?php echo getlocal("cannededit.message") ?>
</th><th>
<?php echo getlocal("canned.actions") ?>
</th></tr>
</thead>
<tbody>
<?php
if( $page['pagination.items'] ) {
foreach( $page['pagination.items'] as $localstr ) { ?>
<tr>
<td>
<?php echo str_replace("\n", "", htmlspecialchars(to_page($localstr['vctitle']))) ?>
</td>
<td>
<?php echo str_replace("\n", "<br/>",htmlspecialchars(to_page($localstr['vcvalue']))) ?>
</td>
<td>
<a href="<?php echo MIBEW_WEB_ROOT ?>/operator/cannededit.php?key=<?php echo $localstr['id'] ?>" target="_blank"
onclick="this.newWindow = window.open('<?php echo MIBEW_WEB_ROOT ?>/operator/cannededit.php?key=<?php echo $localstr['id'] ?>', '', 'toolbar=0,scrollbars=1,location=0,status=1,menubar=0,width=640,height=480,resizable=1');this.newWindow.focus();this.newWindow.opener=window;return false;"><?php echo getlocal("canned.actions.edit") ?></a>,
<a href="<?php echo MIBEW_WEB_ROOT ?>/operator/canned.php?act=delete&amp;key=<?php echo $localstr['id'] ?>&amp;lang=<?php echo form_value($page, "lang") ?>&amp;group=<?php echo form_value($page, "group")?><?php print_csrf_token_in_url() ?>"><?php echo getlocal("canned.actions.del") ?></a>
</td>
</tr>
<?php
}
} else {
?>
<tr>
<td colspan="3">
<?php echo getlocal("tag.pagination.no_items.elements") ?>
</td>
</tr>
<?php
}
?>
</tbody>
</table>
<?php
if ($page['pagination']) {
echo "<br/>";
echo generate_pagination($page['stylepath'], $page['pagination']);
}
?>
<?php
} /* content */
require_once(dirname(__FILE__).'/inc_main.php');
?>

View File

@ -1,78 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
function tpl_content($page) {
?>
<?php if( $page['saved'] ) { ?>
<?php echo getlocal("cannededit.done") ?>
<script type="text/javascript"><!--
if(window.opener && window.opener.location) {
window.opener.location.reload();
}
setTimeout( (function() { window.close(); }), 1500 );
//--></script>
<?php } ?>
<?php if( !$page['saved'] ) { ?>
<?php echo $page['key'] ? getlocal("cannededit.descr") : getlocal("cannednew.descr") ?>
<br/>
<br/>
<?php
require_once(dirname(__FILE__).'/inc_errors.php');
?>
<form name="cannedForm" method="post" action="<?php echo MIBEW_WEB_ROOT ?>/operator/cannededit.php">
<?php print_csrf_token_input() ?>
<input type="hidden" name="key" value="<?php echo $page['key'] ?>"/>
<?php if(!$page['key']) { ?>
<input type="hidden" name="lang" value="<?php echo $page['locale'] ?>"/>
<input type="hidden" name="group" value="<?php echo $page['groupid'] ?>"/>
<?php } ?>
<div class="mform"><div class="formtop"><div class="formtopi"></div></div><div class="forminner">
<div class="fieldForm">
<div class="field">
<label for="titlefield" class="flabel"><?php echo getlocal("canned.message_title") ?></label>
<div class="fvaluenodesc">
<input id="titlefield" type="text" name="title" class="wide" maxlength="100" value="<?php echo form_value($page, 'title') ?>"/>
</div>
</div>
<div class="field">
<label for="message" class="flabel"><?php echo getlocal("cannededit.message") ?></label>
<div class="fvaluenodesc">
<textarea id="message" name="message" cols="20" rows="5" class="wide"><?php echo form_value($page, 'message') ?></textarea>
</div>
</div>
<div class="fbutton">
<input type="image" name="save" value="" src='<?php echo MIBEW_WEB_ROOT . getlocal("image.button.save") ?>' alt='<?php echo getlocal("button.save") ?>'/>
</div>
</div>
</div><div class="formbottom"><div class="formbottomi"></div></div></div>
</form>
<?php } ?>
<?php
} /* content */
require_once(dirname(__FILE__).'/inc_main.php');
?>

View File

@ -1,56 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
function tpl_content($page) {
?>
<div id="confirmpane">
<div class="mform"><div class="formtop"><div class="formtopi"></div></div><div class="forminner">
<?php echo getlocal2("confirm.take.message",array($page['user'], $page['agent'])) ?><br/><br/>
<br/>
<div>
<table class="nicebutton"><tr>
<td><a href="<?php echo $page['link'] ?>">
<img src='<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/images/submit.gif' width="40" height="35" border="0" alt="" /></a></td>
<td class="submit"><a href="<?php echo $page['link'] ?>">
<?php echo getlocal("confirm.take.yes") ?></a></td>
<td><a href="<?php echo $page['link'] ?>">
<img src='<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/images/submitrest.gif' width="10" height="35" border="0" alt="" /></a></td>
</tr></table>
<table class="nicebutton"><tr>
<td><a href="javascript:window.close();">
<img src='<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/images/submit.gif' width="40" height="35" border="0" alt="" /></a></td>
<td class="submit"><a href="javascript:window.close();">
<?php echo getlocal("confirm.take.no") ?></a></td>
<td><a href="javascript:window.close();">
<img src='<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/images/submitrest.gif' width="10" height="35" border="0" alt="" /></a></td>
</tr></table>
<br clear="all"/>
</div>
</div><div class="formbottom"><div class="formbottomi"></div></div></div>
</div>
<?php
} /* content */
require_once(dirname(__FILE__).'/inc_main.php');
?>

View File

@ -1,199 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
require_once(dirname(__FILE__).'/inc_menu.php');
require_once(dirname(__FILE__).'/inc_tabbar.php');
function tpl_header($page) {
?>
<script type="text/javascript" language="javascript" src="<?php echo MIBEW_WEB_ROOT ?>/js/libs/jquery.min.js"></script>
<script type="text/javascript" language="javascript" src="<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/js/features.js"></script>
<?php
}
function tpl_content($page) {
?>
<?php echo getlocal("page_settings.intro") ?>
<br />
<br />
<?php
require_once(dirname(__FILE__).'/inc_errors.php');
?>
<?php if( $page['stored'] ) { ?>
<div id="formmessage"><?php echo getlocal("features.saved") ?></div>
<?php } ?>
<form name="features" method="post" action="<?php echo MIBEW_WEB_ROOT ?>/operator/features.php">
<?php print_csrf_token_input() ?>
<input type="hidden" name="sent" value="true"/>
<div>
<?php print_tabbar($page['tabs']); ?>
<div class="mform"><div class="formtop"><div class="formtopi"></div></div><div class="forminner">
<div class="fieldForm">
<div class="field">
<label for="usercanchangename" class="flabel"><?php echo getlocal('settings.usercanchangename') ?></label>
<div class="fvalue">
<input id="usercanchangename" type="checkbox" name="usercanchangename" value="on"<?php echo form_value_cb($page, 'usercanchangename') ? " checked=\"checked\"" : "" ?><?php echo $page['canmodify'] ? "" : " disabled=\"disabled\"" ?>/>
</div>
<label for="usercanchangename" class="fdescr"> &mdash; <?php echo getlocal('settings.usercanchangename.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="enablessl" class="flabel"><?php echo getlocal('settings.enablessl') ?></label>
<div class="fvalue">
<input id="enablessl" type="checkbox" name="enablessl" value="on"<?php echo form_value_cb($page, 'enablessl') ? " checked=\"checked\"" : "" ?><?php echo $page['canmodify'] ? "" : " disabled=\"disabled\"" ?>/>
</div>
<label for="enablessl" class="fdescr"> &mdash; <?php echo getlocal('settings.enablessl.description') ?></label>
<br clear="all"/>
<div class="subfield underssl">
<label for="forcessl" class="flabel"><?php echo getlocal('settings.forcessl') ?></label>
<div class="fvalue">
<input id="forcessl" type="checkbox" name="forcessl" value="on"<?php echo form_value_cb($page, 'forcessl') ? " checked=\"checked\"" : "" ?><?php echo $page['canmodify'] ? "" : " disabled=\"disabled\"" ?>/>
</div>
<label for="forcessl" class="fdescr"> &mdash; <?php echo getlocal('settings.forcessl.description') ?></label>
<br clear="all"/>
</div>
</div>
<div class="field">
<label for="enablegroups" class="flabel"><?php echo getlocal('settings.enablegroups') ?></label>
<div class="fvalue">
<input id="enablegroups" type="checkbox" name="enablegroups" value="on"<?php echo form_value_cb($page, 'enablegroups') ? " checked=\"checked\"" : "" ?><?php echo $page['canmodify'] ? "" : " disabled=\"disabled\"" ?>/>
</div>
<label for="enablegroups" class="fdescr"> &mdash; <?php echo getlocal('settings.enablegroups.description') ?></label>
<br clear="all"/>
<div class="subfield undergroups">
<label for="enablegroupsisolation" class="flabel"><?php echo getlocal('settings.enablegroupsisolation') ?></label>
<div class="fvalue">
<input id="enablegroupsisolation" type="checkbox" name="enablegroupsisolation" value="on"<?php echo form_value_cb($page, 'enablegroupsisolation') ? " checked=\"checked\"" : "" ?><?php echo $page['canmodify'] ? "" : " disabled=\"disabled\"" ?>/>
</div>
<label for="enablegroupsisolation" class="fdescr"> &mdash; <?php echo getlocal('settings.enablegroupsisolation.description') ?></label>
<br clear="all"/>
</div>
</div>
<div class="field">
<label for="enablestatistics" class="flabel"><?php echo getlocal('settings.enablestatistics') ?></label>
<div class="fvalue">
<input id="enablestatistics" type="checkbox" name="enablestatistics" value="on"<?php echo form_value_cb($page, 'enablestatistics') ? " checked=\"checked\"" : "" ?><?php echo $page['canmodify'] ? "" : " disabled=\"disabled\"" ?>/>
</div>
<label for="enablestatistics" class="fdescr"> &mdash; <?php echo getlocal('settings.enablestatistics.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="enabletracking" class="flabel"><?php echo getlocal('settings.enabletracking') ?></label>
<div class="fvalue">
<input id="enabletracking" type="checkbox" name="enabletracking" value="on"<?php echo form_value_cb($page, 'enabletracking') ? " checked=\"checked\"" : "" ?><?php echo $page['canmodify'] ? "" : " disabled=\"disabled\"" ?>/>
</div>
<label for="enabletracking" class="fdescr"> &mdash; <?php echo getlocal('settings.enabletracking.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="enableban" class="flabel"><?php echo getlocal('settings.enableban') ?></label>
<div class="fvalue">
<input id="enableban" type="checkbox" name="enableban" value="on"<?php echo form_value_cb($page, 'enableban') ? " checked=\"checked\"" : "" ?><?php echo $page['canmodify'] ? "" : " disabled=\"disabled\"" ?>/>
</div>
<label for="enableban" class="fdescr"> &mdash; <?php echo getlocal('settings.enableban.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="enablepresurvey" class="flabel"><?php echo getlocal('settings.enablepresurvey') ?></label>
<div class="fvalue">
<input id="enablepresurvey" type="checkbox" name="enablepresurvey" value="on"<?php echo form_value_cb($page, 'enablepresurvey') ? " checked=\"checked\"" : "" ?><?php echo $page['canmodify'] ? "" : " disabled=\"disabled\"" ?>/>
</div>
<label for="enablepresurvey" class="fdescr"> &mdash; <?php echo getlocal('settings.enablepresurvey.description') ?></label>
<br clear="all"/>
<div class="subfield undersurvey">
<label for="surveyaskmail" class="flabel"><?php echo getlocal('settings.survey.askmail') ?></label>
<div class="fvalue">
<input id="surveyaskmail" type="checkbox" name="surveyaskmail" value="on"<?php echo form_value_cb($page, 'surveyaskmail') ? " checked=\"checked\"" : "" ?><?php echo $page['canmodify'] ? "" : " disabled=\"disabled\"" ?>/>
</div>
<label for="surveyaskmail" class="fdescr"> &mdash; <?php echo getlocal('settings.survey.askmail.description') ?></label>
<br clear="all"/>
</div>
<div class="subfield undersurvey">
<label for="surveyaskgroup" class="flabel"><?php echo getlocal('settings.survey.askgroup') ?></label>
<div class="fvalue">
<input id="surveyaskgroup" type="checkbox" name="surveyaskgroup" value="on"<?php echo form_value_cb($page, 'surveyaskgroup') ? " checked=\"checked\"" : "" ?><?php echo $page['canmodify'] ? "" : " disabled=\"disabled\"" ?>/>
</div>
<label for="surveyaskgroup" class="fdescr"> &mdash; <?php echo getlocal('settings.survey.askgroup.description') ?></label>
<br clear="all"/>
</div>
<div class="subfield undersurvey">
<label for="surveyaskmessage" class="flabel"><?php echo getlocal('settings.survey.askmessage') ?></label>
<div class="fvalue">
<input id="surveyaskmessage" type="checkbox" name="surveyaskmessage" value="on"<?php echo form_value_cb($page, 'surveyaskmessage') ? " checked=\"checked\"" : "" ?><?php echo $page['canmodify'] ? "" : " disabled=\"disabled\"" ?>/>
</div>
<label for="surveyaskmessage" class="fdescr"> &mdash; <?php echo getlocal('settings.survey.askmessage.description') ?></label>
<br clear="all"/>
</div>
</div>
<div class="field">
<label for="enablepopupnotification" class="flabel"><?php echo getlocal('settings.popup_notification') ?></label>
<div class="fvalue">
<input id="enablepopupnotification" type="checkbox" name="enablepopupnotification" value="on"<?php echo form_value_cb($page, 'enablepopupnotification') ? " checked=\"checked\"" : "" ?><?php echo $page['canmodify'] ? "" : " disabled=\"disabled\"" ?>/>
</div>
<label for="enablepopupnotification" class="fdescr"> &mdash; <?php echo getlocal('settings.popup_notification.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="showonlineoperators" class="flabel"><?php echo getlocal('settings.show_online_operators') ?></label>
<div class="fvalue">
<input id="showonlineoperators" type="checkbox" name="showonlineoperators" value="on"<?php echo form_value_cb($page, 'showonlineoperators') ? " checked=\"checked\"" : "" ?><?php echo $page['canmodify'] ? "" : " disabled=\"disabled\"" ?>/>
</div>
<label for="showonlineoperators" class="fdescr"> &mdash; <?php echo getlocal('settings.show_online_operators.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="enablecaptcha" class="flabel"><?php echo getlocal('settings.leavemessage_captcha') ?></label>
<div class="fvalue">
<input id="enablecaptcha" type="checkbox" name="enablecaptcha" value="on"<?php echo form_value_cb($page, 'enablecaptcha') ? " checked=\"checked\"" : "" ?><?php echo $page['canmodify'] ? "" : " disabled=\"disabled\"" ?>/>
</div>
<label for="enablecaptcha" class="fdescr"> &mdash; <?php echo getlocal('settings.leavemessage_captcha.description') ?></label>
<br clear="all"/>
</div>
<?php if($page['canmodify']) { ?>
<div class="fbutton">
<input type="image" name="save" value="" src='<?php echo MIBEW_WEB_ROOT . getlocal("image.button.save") ?>' alt='<?php echo getlocal("button.save") ?>'/>
</div>
<?php } ?>
</div>
</div><div class="formbottom"><div class="formbottomi"></div></div></div>
</div>
</form>
<?php
} /* content */
require_once(dirname(__FILE__).'/inc_main.php');
?>

View File

@ -1,133 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
require_once(dirname(__FILE__).'/inc_menu.php');
function tpl_content($page) {
?>
<?php echo getlocal("page.gen_button.intro") ?>
<br />
<br />
<?php
require_once(dirname(__FILE__).'/inc_errors.php');
?>
<form name="buttonCodeForm" method="get" action="<?php echo MIBEW_WEB_ROOT ?>/operator/getcode.php">
<div class="mform"><div class="formtop"><div class="formtopi"></div></div><div class="forminner">
<div class="fieldForm">
<div class="fieldinrow">
<label for="lang" class="flabel"><?php echo getlocal("page.gen_button.choose_locale") ?></label>
<div class="fvaluenodesc">
<select id="lang" name="lang" onchange="this.form.submit();"><?php foreach($page['availableLocales'] as $k) { echo "<option value=\"".$k."\"".($k == form_value($page, "lang") ? " selected=\"selected\"" : "").">".$k."</option>"; } ?></select>
</div>
</div>
<div class="fieldinrow">
<label for="style" class="flabel"><?php echo getlocal("page.gen_button.choose_style") ?></label>
<div class="fvaluenodesc">
<select id="style" name="style" onchange="this.form.submit();"><?php foreach($page['availableChatStyles'] as $k => $v) { echo "<option value=\"".$k."\"".($k == form_value($page, "style") ? " selected=\"selected\"" : "").">".$v."</option>"; } ?></select>
</div>
</div>
<br clear="all"/>
<div class="fieldinrow">
<label for="codetype" class="flabel"><?php echo getlocal("page.gen_button.choose_type") ?></label>
<div class="fvaluenodesc">
<select id="codetype" name="codetype" onchange="this.form.submit();"><?php foreach($page['availableCodeTypes'] as $k => $v) { echo "<option value=\"".$k."\"".($k == form_value($page, "codetype") ? " selected=\"selected\"" : "").">".$v."</option>"; } ?></select>
</div>
</div>
<br clear="all"/>
<?php if(! $page['operator_code']) { ?>
<div class="fieldinrow">
<label for="i" class="flabel"><?php echo getlocal("page.gen_button.choose_image") ?></label>
<div class="fvaluenodesc">
<select id="i" name="i" onchange="this.form.submit();"><?php foreach($page['availableImages'] as $k) { echo "<option value=\"".$k."\"".($k == form_value($page, "image") ? " selected=\"selected\"" : "").">".$k."</option>"; } ?></select>
</div>
</div>
<?php if($page['enabletracking']) { ?>
<div class="fieldinrow">
<label for="invitationstyle" class="flabel"><?php echo getlocal("page.gen_button.choose_invitationstyle") ?></label>
<div class="fvaluenodesc">
<select id="invitationstyle" name="invitationstyle" onchange="this.form.submit();"><?php foreach($page['availableInvitationStyles'] as $k => $v) { echo "<option value=\"".$k."\"".($k == form_value($page, "invitationstyle") ? " selected=\"selected\"" : "").">".$v."</option>"; } ?></select>
</div>
</div>
<?php } ?>
<br clear="all"/>
<?php } ?>
<div class="fieldinrow">
<label for="group" class="flabel"><?php echo getlocal("page.gen_button.choose_group") ?></label>
<div class="fvaluenodesc">
<select id="group" name="group" onchange="this.form.submit();"><?php foreach($page['groups'] as $k) { echo "<option value=\"".$k['groupid']."\"".($k['groupid'] == form_value($page, "group") ? " selected=\"selected\"" : "").">".str_repeat('&nbsp;', $k['level']*2).$k['vclocalname']."</option>"; } ?></select>
</div>
</div>
<br clear="all"/>
<div class="fieldinrow">
<label for="hostname" class="flabel"><?php echo getlocal("page.gen_button.include_site_name") ?></label>
<div class="fvaluenodesc">
<input id="hostname" type="checkbox" name="hostname" value="on"<?php echo form_value_cb($page, 'hostname') ? " checked=\"checked\"" : "" ?> onchange="this.form.submit();"/>
</div>
</div>
<?php if( $page['formhostname'] ) { ?>
<div class="fieldinrow">
<label for="secure" class="flabel"><?php echo getlocal("page.gen_button.secure_links") ?></label>
<div class="fvaluenodesc">
<input id="secure" type="checkbox" name="secure" value="on"<?php echo form_value_cb($page, 'secure') ? " checked=\"checked\"" : "" ?> onchange="this.form.submit();"/>
</div>
</div>
<?php } ?>
<br clear="all"/>
<div class="field">
<label for="modsecurity" class="flabel"><?php echo getlocal("page.gen_button.modsecurity") ?></label>
<div class="fvaluenodesc">
<input id="modsecurity" type="checkbox" name="modsecurity" value="on"<?php echo form_value_cb($page, 'modsecurity') ? " checked=\"checked\"" : "" ?> onchange="this.form.submit();"/>
</div>
</div>
<div class="field">
<label for="buttonCode" class="flabel"><?php echo getlocal("page.gen_button.code") ?></label>
<div class="fvaluewithta" dir="ltr">
<textarea id="buttonCode" cols="44" rows="15"><?php echo htmlspecialchars($page['buttonCode']) ?></textarea>
</div>
<label for="buttonCode" class="fdescr"><?php echo getlocal("page.gen_button.code.description") ?></label>
<br clear="all"/>
</div>
<div class="field">
<div class="flabel"><?php echo getlocal("page.gen_button.sample") ?></div>
<div class="fvaluenodesc">
<?php echo $page['buttonCode'] ?>
</div>
</div>
</div>
</div><div class="formbottom"><div class="formbottomi"></div></div></div>
</form>
<?php
} /* content */
require_once(dirname(__FILE__).'/inc_main.php');
?>

View File

@ -1,175 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
require_once(dirname(__FILE__).'/inc_menu.php');
require_once(dirname(__FILE__).'/inc_tabbar.php');
function tpl_header($page) {
?>
<script type="text/javascript" language="javascript" src="<?php echo MIBEW_WEB_ROOT ?>/js/libs/jquery.min.js"></script>
<script type="text/javascript" language="javascript" src="<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/js/group.js"></script>
<?php
}
function tpl_content($page) {
?>
<?php if( $page['grid'] ) { ?>
<?php echo getlocal("page.group.intro") ?>
<?php } ?>
<?php if( !$page['grid'] ) { ?>
<?php echo getlocal("page.group.create_new") ?>
<?php } ?>
<br />
<br />
<?php
require_once(dirname(__FILE__).'/inc_errors.php');
?>
<?php if( $page['stored'] ) { ?>
<div id="formmessage"><?php echo getlocal("data.saved") ?></div>
<?php } ?>
<form name="groupForm" method="post" action="<?php echo MIBEW_WEB_ROOT ?>/operator/group.php">
<?php print_csrf_token_input() ?>
<input type="hidden" name="gid" value="<?php echo $page['grid'] ?>"/>
<div>
<?php print_tabbar($page['tabs']); ?>
<div class="mform"><div class="formtop"><div class="formtopi"></div></div><div class="forminner">
<div class="fieldForm">
<div class="field">
<label for="name" class="flabel"><?php echo getlocal('form.field.groupname') ?><span class="required">*</span></label>
<div class="fvalue">
<input id="name" type="text" name="name" size="40" value="<?php echo form_value($page, 'name') ?>" class="formauth"/>
</div>
<label for="name" class="fdescr"> &mdash; <?php echo getlocal('form.field.groupname.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="description" class="flabel"><?php echo getlocal('form.field.groupdesc') ?></label>
<div class="fvalue">
<input id="description" type="text" name="description" size="40" value="<?php echo form_value($page, 'description') ?>" class="formauth"/>
</div>
<label for="description" class="fdescr"> &mdash; <?php echo getlocal('form.field.groupdesc.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="commonname" class="flabel"><?php echo getlocal('form.field.groupcommonname') ?></label>
<div class="fvalue">
<input id="commonname" type="text" name="commonname" size="40" value="<?php echo form_value($page, 'commonname') ?>" class="formauth"/>
</div>
<label for="commonname" class="fdescr"> &mdash; <?php echo getlocal('form.field.groupcommonname.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="commondescription" class="flabel"><?php echo getlocal('form.field.groupcommondesc') ?></label>
<div class="fvalue">
<input id="commondescription" type="text" name="commondescription" size="40" value="<?php echo form_value($page, 'commondescription') ?>" class="formauth"/>
</div>
<label for="commondescription" class="fdescr"> &mdash; <?php echo getlocal('form.field.groupcommondesc.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="email" class="flabel"><?php echo getlocal('form.field.mail') ?></label>
<div class="fvalue">
<input id="email" type="text" name="email" size="40" value="<?php echo form_value($page, 'email') ?>" class="formauth"/>
</div>
<label for="email" class="fdescr"> &mdash; <?php echo getlocal('form.field.groupemail.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="weight" class="flabel"><?php echo getlocal('form.field.groupweight') ?></label>
<div class="fvalue">
<input id="weight" type="text" name="weight" size="40" value="<?php echo form_value($page, 'weight') ?>" class="formauth"/>
</div>
<label for="weight" class="fdescr"> &mdash; <?php echo getlocal('form.field.groupweight.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="parentgroup" class="flabel"><?php echo getlocal('form.field.groupparent') ?></label>
<div class="fvalue">
<select name="parentgroup" id="parentgroup"><?php foreach($page['availableParentGroups'] as $k) { echo "<option value=\"".$k['groupid']."\"".($k['groupid'] == form_value($page, "parentgroup") ? " selected=\"selected\"" : "").">".str_repeat('&nbsp;', $k['level']*2).$k['vclocalname']."</option>"; } ?></select>
</div>
<label for="parentgroup" class="fdescr"> &mdash; <?php echo getlocal('form.field.groupparent.description') ?></label>
<br clear="all"/>
</div>
<div id="extrafields">
<div class="fheader"><?php echo getlocal('page.group.extrafields.title') ?></div>
<div class="field">
<label for="titlefield" class="flabel"><?php echo getlocal('settings.company.title') ?></label>
<div class="fvalue">
<input id="titlefield" type="text" name="title" size="40" value="<?php echo form_value($page, 'title') ?>" class="formauth"/>
</div>
<label for="titlefield" class="fdescr"> &mdash; <?php echo getlocal('settings.company.title.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="chattitle" class="flabel"><?php echo getlocal('settings.chat.title') ?></label>
<div class="fvalue">
<input id="chattitle" type="text" name="chattitle" size="40" value="<?php echo form_value($page, 'chattitle') ?>" class="formauth"/>
</div>
<label for="chattitle" class="fdescr"> &mdash; <?php echo getlocal('settings.chat.title') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="logofield" class="flabel"><?php echo getlocal('settings.logo') ?></label>
<div class="fvalue">
<input id="logofield" type="text" name="logo" size="40" value="<?php echo form_value($page, 'logo') ?>" class="formauth"/>
</div>
<label for="logofield" class="fdescr"> &mdash; <?php echo getlocal('settings.logo.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="hosturl" class="flabel"><?php echo getlocal('settings.host') ?></label>
<div class="fvalue">
<input id="hosturl" type="text" name="hosturl" size="40" value="<?php echo form_value($page, 'hosturl') ?>" class="formauth"/>
</div>
<label for="hosturl" class="fdescr"> &mdash; <?php echo getlocal('settings.host.description') ?></label>
<br clear="all"/>
</div>
</div>
<div class="fbutton">
<input type="image" name="save" value="" src='<?php echo MIBEW_WEB_ROOT . getlocal("image.button.save") ?>' alt='<?php echo getlocal("button.save") ?>'/>
</div>
</div>
</div><div class="formbottom"><div class="formbottomi"></div></div></div>
</div>
<div class="asterisk">
<?php echo getlocal("common.asterisk_explanation") ?>
</div>
</form>
<?php
} /* content */
require_once(dirname(__FILE__).'/inc_main.php');
?>

View File

@ -1,65 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
require_once(dirname(__FILE__).'/inc_menu.php');
require_once(dirname(__FILE__).'/inc_tabbar.php');
function tpl_content($page) {
?>
<?php echo getlocal("page.groupmembers.intro") ?>
<br />
<br />
<?php
require_once(dirname(__FILE__).'/inc_errors.php');
?>
<?php if( $page['stored'] ) { ?>
<div id="formmessage"><?php echo getlocal("data.saved") ?></div>
<?php } ?>
<form name="membersForm" method="post" action="<?php echo MIBEW_WEB_ROOT ?>/operator/groupmembers.php">
<?php print_csrf_token_input() ?>
<input type="hidden" name="gid" value="<?php echo $page['groupid'] ?>"/>
<div>
<?php print_tabbar($page['tabs']); ?>
<div class="mform"><div class="formtop"><div class="formtopi"></div></div><div class="forminner">
<p>
<b><?php echo $page['currentgroup'] ?></b>
</p>
<?php foreach( $page['operators'] as $pm ) { ?>
<div class="field">
<div class="fvaluenodesc">
<input id="op<?php echo htmlspecialchars($pm['operatorid']); ?>" type="checkbox" name="op<?php echo htmlspecialchars($pm['operatorid']); ?>" value="on"<?php echo form_value_mb($page, 'op',$pm['operatorid']) ? " checked=\"checked\"" : "" ?>/>
<label for="op<?php echo htmlspecialchars($pm['operatorid']); ?>"><?php echo htmlspecialchars(to_page($pm['vclocalename'])) ?> (<a href="operator.php?op=<?php echo $pm['operatorid'] ?>"><?php echo htmlspecialchars(to_page($pm['vclogin'])) ?></a>)</label>
</div>
</div>
<?php } ?>
<div class="fbutton">
<input type="image" name="save" value="" src='<?php echo MIBEW_WEB_ROOT . getlocal("image.button.save") ?>' alt='<?php echo getlocal("button.save") ?>'/>
</div>
</div><div class="formbottom"><div class="formbottomi"></div></div></div>
</div>
</form>
<?php
} /* content */
require_once(dirname(__FILE__).'/inc_main.php');
?>

View File

@ -1,154 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
require_once(dirname(__FILE__).'/inc_menu.php');
function tpl_header($page) {
?>
<script type="text/javascript" language="javascript" src="<?php echo MIBEW_WEB_ROOT ?>/js/libs/jquery.min.js"></script>
<?php
}
function tpl_content($page) {
?>
<?php echo getlocal("page.groups.intro") ?>
<br />
<br />
<?php
require_once(dirname(__FILE__).'/inc_errors.php');
?>
<form name="groupsForm" method="get" action="<?php echo MIBEW_WEB_ROOT ?>/operator/groups.php">
<div class="mform"><div class="formtop"><div class="formtopi"></div></div><div class="forminner">
<div class="packedFormField">
<?php echo getlocal("page.groups.sort") ?><br/>
<select name="sortby" onchange="this.form.submit();"><?php
foreach($page['availableOrders'] as $k) {
echo "<option value=\"".$k['id']."\"".($k['id'] == form_value($page, "sortby") ? " selected=\"selected\"" : "").">".$k['name']."</option>";
} ?></select>
</div>
<div class="packedFormField">
<?php echo getlocal("page.groups.sortdirection") ?><br/>
<select name="sortdirection" onchange="this.form.submit();"><?php
foreach($page['availableDirections'] as $k) {
echo "<option value=\"".$k['id']."\"".($k['id'] == form_value($page, "sortdirection") ? " selected=\"selected\"" : "").">".$k['name']."</option>";
} ?></select>
</div>
<br clear="all"/>
</div><div class="formbottom"><div class="formbottomi"></div></div></div>
</form>
<br />
<?php if($page['canmodify']) { ?>
<div class="tabletool">
<img src='<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/images/buttons/createdep.gif' border="0" alt="" />
<a href='<?php echo MIBEW_WEB_ROOT ?>/operator/group.php' title="<?php echo getlocal("page.groups.new") ?>">
<?php echo getlocal("page.groups.new") ?>
</a>
</div>
<br clear="all"/>
<?php } ?>
<table class="list">
<thead>
<tr class="header">
<th>
<?php echo getlocal("form.field.groupname") ?>
</th><th>
<?php echo getlocal("form.field.groupdesc") ?>
</th><th>
<?php echo getlocal("page_agents.status") ?>
</th><th>
<?php echo getlocal("page.group.membersnum") ?>
</th><th>
<?php echo getlocal("page.groups.weight") ?>
<?php if($page['canmodify']) { ?>
</th><th>
<?php } ?>
</th>
</tr>
</thead>
<tbody>
<?php
if(count($page['groups']) > 0) {
foreach( $page['groups'] as $grp ) { ?>
<tr>
<td class="notlast level<?php echo $grp['level'] ?>">
<a href="<?php echo MIBEW_WEB_ROOT ?>/operator/group.php?gid=<?php echo $grp['groupid'] ?>" id="ti<?php echo $grp['groupid'] ?>" class="man">
<?php echo htmlspecialchars(to_page($grp['vclocalname'])) ?>
</a>
</td>
<td class="notlast">
<?php echo $grp['vclocaldescription'] ? htmlspecialchars(to_page($grp['vclocaldescription'])) : "&lt;none&gt;" ?>
</td>
<td class="notlast">
<?php if(group_is_online($grp)) { ?>
<?php echo getlocal("page.groups.isonline") ?>
<?php } else if(group_is_away($grp)) { ?>
<?php echo getlocal("page.groups.isaway") ?>
<?php } else { ?>
<?php echo date_to_text(time() - ($grp['ilastseen'] ? $grp['ilastseen'] : time())) ?>
<?php } ?>
</td>
<td>
<a href="<?php echo MIBEW_WEB_ROOT ?>/operator/groupmembers.php?gid=<?php echo $grp['groupid'] ?>">
<?php echo htmlspecialchars(to_page($grp['inumofagents'])) ?>
</a>
</td>
<td>
<?php echo $grp['iweight'] ?>
</td>
<?php if($page['canmodify']) { ?>
<td>
<a href="<?php echo MIBEW_WEB_ROOT ?>/operator/groups.php?act=del&amp;gid=<?php echo $grp['groupid'] ?><?php print_csrf_token_in_url() ?>" id="i<?php echo $grp['groupid'] ?>" class="removelink">
<?php echo getlocal("remove.item") ?>
</a>
</td>
<?php } ?>
</tr>
<?php
}
} else {
?>
<tr>
<td colspan="5">
<?php echo getlocal("tag.pagination.no_items.elements") ?>
</td>
</tr>
<?php
}
?>
</tbody>
</table>
<script type="text/javascript" language="javascript"><!--
$('a.removelink').click(function(){
var groupname = $("#t"+this.id).text();
return confirm("<?php echo get_local_for_js("page.groups.confirm", array('"+$.trim(groupname)+"')) ?>");
});
//--></script>
<?php
} /* content */
require_once(dirname(__FILE__).'/inc_main.php');
?>

View File

@ -1,32 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
if( isset($page['errors']) && count($page['errors']) > 0 ) { ?>
<div class="errinfo">
<img src='<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/images/icon_err.gif' width="40" height="40" border="0" alt="" class="left"/>
<?php
print getlocal("errors.header");
foreach( $page['errors'] as $e ) {
print getlocal("errors.prefix");
print $e;
print getlocal("errors.suffix");
}
print getlocal("errors.footer");
?>
</div>
<br clear="all"/>
<?php } ?>

View File

@ -1,36 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
function menuloc($id) {
if(CURRENT_LOCALE == $id) {
echo " class=\"active\"";
}
return "";
}
function tpl_menu($page) {
?>
<li>
<h2><b><?php echo getlocal("lang.choose") ?></b></h2>
<ul class="locales">
<?php foreach($page['localeLinks'] as $id => $title) { ?>
<li<?php menuloc($id)?> ><a href='?locale=<?php echo $id ?>'><?php echo $title ?></a></li>
<?php } ?>
</ul>
</li>
<?php
}
?>

View File

@ -1,90 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
$isrtl = getlocal("localedirection") == 'rtl';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"<?php if($isrtl) { ?> dir="rtl"<?php } ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" href="<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/images/favicon.ico" type="image/x-icon"/>
<?php
if(function_exists('tpl_header'))
tpl_header($page);
?>
<title>
<?php echo $page['title'] ?> - <?php echo getlocal("app.title") ?>
</title>
<link href="<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/css/default.css" rel="stylesheet" type="text/css" />
<!--[if lte IE 7]><link href="<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/css/default_ie.css" rel="stylesheet" type="text/css" /><![endif] -->
<!--[if lte IE 6]><script language="JavaScript" type="text/javascript" src="<?php echo MIBEW_WEB_ROOT ?>/<?php echo js_path() ?>/ie.js"></script><![endif]-->
</head>
<body<?php if(!function_exists('tpl_menu')) { ?> style="min-width: 400px;"<?php } ?>>
<div id="<?php echo (isset($page) && isset($page['fixedwrap'])) ? "fixedwrap" : (function_exists('tpl_menu') ? "wrap700" : "wrap400" )?>" class="l<?php echo getlocal("localedirection") ?>">
<div id="header">
<div id="title">
<h1><img src="<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/images/logo.png" alt="" width="32" height="32" class="left logo" />
<a href="#"><?php echo isset($page['headertitle']) ? $page['headertitle'] : $page['title'] ?></a></h1>
</div>
<?php if(isset($page) && isset($page['operator'])) { ?>
<div id="path"><p><?php echo getlocal2("menu.operator",array($page['operator'])) ?></p></div>
<?php } else if(isset($page) && isset($page['show_small_login']) && $page['show_small_login']) { ?>
<div id="loginsmallpane">
<form name="smallLogin" method="post" action="<?php echo MIBEW_WEB_ROOT ?>/operator/login.php">
<?php echo getlocal("page_login.login") ?>
<input type="text" name="login" size="8" class="formauth"/>
<input type="password" name="password" size="8" class="formauth" autocomplete="off"/>
<input type="hidden" name="isRemember" value=""/>
<input type="submit" value="&gt;&gt;" class="butt"/>
</form>
</div>
<?php } ?>
</div>
<br clear="all"/>
<div class="contentdiv">
<?php if(function_exists('tpl_menu')) { ?>
<div id="wcontent" class="contentinner">
<?php } else { ?>
<div id="wcontent" class="contentnomenu">
<?php } ?>
<?php
tpl_content($page);
?>
</div>
</div>
<?php if(function_exists('tpl_menu')) { ?>
<div id="sidebar">
<ul>
<?php
tpl_menu($page);
?>
</ul>
</div>
<?php } ?>
<div style="clear: both;">&nbsp;</div>
<div class="empty_inner" style="">&#160;</div>
</div>
<div id="footer">
<p id="legal"><a href="http://mibew.org/" target="_blank" class="flink">Mibew Messenger</a> <?php echo MIBEW_VERSION ?> | (c) 2011-2013 mibew.org</p>
</div>
</body>
</html>

View File

@ -1,73 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
function menuli($page, $name) {
if(isset($page['menuid']) && $name == $page['menuid']) {
echo " class=\"active\"";
}
return "";
}
function tpl_menu($page) {
if(isset($page['isOnline']) && !$page['isOnline']) { ?>
<li id="offwarn">
<img src="<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/images/dash/warn.gif" alt="" width="24" height="24"/>
<p><?php echo getlocal2("menu.goonline",array(MIBEW_WEB_ROOT . "/operator/users.php?nomenu")) ?></p>
</li>
<?php }
if(isset($page['operator'])) { ?>
<li>
<h2><?php echo getlocal('right.main') ?></h2>
<ul class="submenu">
<li<?php menuli($page, "main")?>><a href='<?php echo MIBEW_WEB_ROOT ?>/operator/index.php'><?php echo getlocal('topMenu.main') ?></a></li>
<li<?php menuli($page, "users")?>><a href='<?php echo MIBEW_WEB_ROOT ?>/operator/users.php'><?php echo getlocal('topMenu.users') ?></a> <span class="small">(<a class="inner" href='<?php echo MIBEW_WEB_ROOT ?>/operator/users.php?nomenu'><?php echo getlocal('topMenu.users.nomenu') ?></a>)</span></li>
<li<?php menuli($page, "history")?>><a href='<?php echo MIBEW_WEB_ROOT ?>/operator/history.php'><?php echo getlocal('page_analysis.search.title') ?></a></li>
<?php if(isset($page['showstat']) && $page['showstat']) { ?>
<li<?php menuli($page, "statistics")?>><a href='<?php echo MIBEW_WEB_ROOT ?>/operator/statistics.php'><?php echo getlocal('statistics.title') ?></a></li>
<?php } ?>
<?php if(isset($page['showban']) && $page['showban']) { ?>
<li<?php menuli($page, "blocked")?>><a href='<?php echo MIBEW_WEB_ROOT ?>/operator/blocked.php'><?php echo getlocal('menu.blocked') ?></a></li>
<?php } ?>
</ul>
</li>
<li>
<h2><?php echo getlocal('right.administration') ?></h2>
<ul class="submenu">
<li<?php menuli($page, "canned")?>><a href='<?php echo MIBEW_WEB_ROOT ?>/operator/canned.php'><?php echo getlocal('menu.canned') ?></a></li>
<?php if(isset($page['showadmin']) && $page['showadmin']) { ?>
<li<?php menuli($page, "getcode")?>><a href='<?php echo MIBEW_WEB_ROOT ?>/operator/getcode.php'><?php echo getlocal('leftMenu.client_gen_button') ?></a></li>
<li<?php menuli($page, "operators")?>><a href='<?php echo MIBEW_WEB_ROOT ?>/operator/operators.php'><?php echo getlocal('leftMenu.client_agents') ?></a></li>
<li<?php menuli($page, "groups")?>><a href='<?php echo MIBEW_WEB_ROOT ?>/operator/groups.php'><?php echo getlocal('menu.groups') ?></a></li>
<li<?php menuli($page, "settings")?>><a href='<?php echo MIBEW_WEB_ROOT ?>/operator/settings.php'><?php echo getlocal('leftMenu.client_settings') ?></a></li>
<li<?php menuli($page, "translate")?>><a href='<?php echo MIBEW_WEB_ROOT ?>/operator/translate.php'><?php echo getlocal('menu.translate') ?></a></li>
<li<?php menuli($page, "updates")?>><a href='<?php echo MIBEW_WEB_ROOT ?>/operator/updates.php'><?php echo getlocal('menu.updates') ?></a></li>
<?php } ?>
<?php if(isset($page['currentopid']) && $page['currentopid']) {?>
<li<?php menuli($page, "profile")?>><a href='<?php echo MIBEW_WEB_ROOT ?>/operator/operator.php?op=<?php echo $page['currentopid'] ?>'><?php echo getlocal('menu.profile') ?></a></li>
<?php } ?>
</ul>
</li>
<li>
<h2><?php echo getlocal('right.other') ?></h2>
<ul class="submenu">
<li><a href='<?php echo MIBEW_WEB_ROOT ?>/operator/logout.php'><?php echo getlocal('topMenu.logoff') ?></a></li>
</ul>
</li>
<?php
}
}
?>

View File

@ -1,30 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
function print_tabbar($tabs) {
if($tabs) { ?>
<ul class="tabs">
<?php foreach($tabs as $k => $v) { if($v) { ?>
<li><a href="<?php echo $v ?>"><?php echo $k ?></a></li>
<?php } else { ?>
<li class="active"><a href="#"><?php echo $k ?></a></li><?php }} ?>
</ul>
<?php }
}
?>

View File

@ -1,30 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
function tpl_content($page) {
?>
<?php
require_once(dirname(__FILE__).'/inc_errors.php');
?>
<?php echo getlocal("install.err.back") ?>
<?php
} /* content */
require_once(dirname(__FILE__).'/inc_main.php');
?>

View File

@ -1,84 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
if(isset($page) && isset($page['localeLinks'])) {
require_once(dirname(__FILE__).'/inc_locales.php');
}
function tpl_header($page) {
if($page['soundcheck']) {
?>
<!-- External libs -->
<script type="text/javascript" src="<?php echo MIBEW_WEB_ROOT ?>/js/libs/jquery.min.js"></script>
<script type="text/javascript" src="<?php echo MIBEW_WEB_ROOT ?>/js/libs/json2.js"></script>
<script type="text/javascript" src="<?php echo MIBEW_WEB_ROOT ?>/js/libs/underscore-min.js"></script>
<script type="text/javascript" src="<?php echo MIBEW_WEB_ROOT ?>/js/libs/backbone-min.js"></script>
<script type="text/javascript" src="<?php echo MIBEW_WEB_ROOT ?>/js/libs/backbone.marionette.min.js"></script>
<script type="text/javascript" src="<?php echo MIBEW_WEB_ROOT ?>/js/libs/handlebars.js"></script>
<!-- Default application files -->
<script type="text/javascript" src="<?php echo MIBEW_WEB_ROOT ?>/js/compiled/mibewapi.js"></script>
<script type="text/javascript" src="<?php echo MIBEW_WEB_ROOT ?>/js/compiled/default_app.js"></script>
<script type="text/javascript" language="javascript" src="<?php echo MIBEW_WEB_ROOT ?>/js/compiled/soundcheck.js"></script>
<?php
}
}
function tpl_content($page) {
?>
<?php echo getlocal("install.message") ?>
<br/>
<br/>
<?php
require_once(dirname(__FILE__).'/inc_errors.php');
?>
<?php if( $page['done'] ) { ?>
<div id="install">
<div class="mform"><div class="formtop"><div class="formtopi"></div></div><div class="forminner">
<?php echo getlocal("install.done") ?>
<ul>
<?php foreach( $page['done'] as $info ) { ?>
<li><?php echo $info ?></li>
<?php } ?>
</ul>
<?php if( $page['nextstep'] ) { ?>
<br/><br/>
<?php echo getlocal("install.next") ?>
<ul>
<li>
<?php if( $page['nextnotice'] ) { ?><?php echo $page['nextnotice'] ?><br/><br/><?php } ?>
<a href="<?php echo $page['nextstepurl'] ?>"><?php echo $page['nextstep'] ?></a>
</li>
</ul>
<?php } ?>
</div><div class="formbottom"><div class="formbottomi"></div></div></div>
</div>
<?php } ?>
<br/>
<a href="<?php echo MIBEW_WEB_ROOT ?>/license.php"><?php echo getlocal("install.license") ?></a>
<?php
} /* content */
require_once(dirname(__FILE__).'/inc_main.php');
?>

View File

@ -1,68 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
require_once(dirname(__FILE__).'/inc_menu.php');
require_once(dirname(__FILE__).'/inc_tabbar.php');
function tpl_header($page) {
?>
<link href="<?php echo MIBEW_WEB_ROOT ?>/styles/invitations/<?php echo $page['preview'] ?>/invite.css" rel="stylesheet" type="text/css" />
<?
} /* header */
function tpl_content($page) {
?>
<?php echo getlocal("page.preview.intro") ?>
<br />
<br />
<form name="preview" method="get" action="<?php echo MIBEW_WEB_ROOT ?>/operator/invitationthemes.php">
<div>
<?php print_tabbar($page['tabs']); ?>
<div class="mform"><div class="formtop"><div class="formtopi"></div></div><div class="forminner">
<div class="fieldForm">
<div class="field">
<label for="preview" class="flabel"><?php echo getlocal("page.preview.choose") ?></label>
<div class="fvaluenodesc">
<select id="preview" name="preview" onchange="this.form.submit();"><?php foreach($page['availablePreviews'] as $k) { echo "<option value=\"".$k."\"".($k == form_value($page, "preview") ? " selected=\"selected\"" : "").">".$k."</option>"; } ?></select>
</div>
</div>
</div>
</div><div class="formbottom"><div class="formbottomi"></div></div></div>
</div>
</form>
<div id="mibewinvitation">
<div id="mibewinvitationpopup">
<div id="mibewinvitationclose">
<a onclick="void(0);" href="javascript:void(0);">&times;</a>
</div>
<h1 onclick="void(0);"><?php echo $page['operatorName'] ?></h1>
<div id="mibewinvitationframe"><?php echo getlocal("invitation.message"); ?></div>
<div id="mibewinvitationaccept" onclick="void(0);"><?php echo getlocal("invitation.accept.caption"); ?></div>
<div style="clear: both;"></div>
</div>
</div>
<?php
} /* content */
require_once(dirname(__FILE__).'/inc_main.php');
?>

View File

@ -1,43 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
function tpl_content($page) {
?>
<p>Copyright 2005-2013 the original author or authors.</p>
<br/>
<p>Licensed under the <b>Apache License, Version 2.0</b> (the "License").</p>
<br/>
<p>You may obtain a copy of the License at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a></p>
<br/>
<p>Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.</p>
<?php
} /* content */
require_once(dirname(__FILE__).'/inc_main.php');
?>

View File

@ -1,87 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
if(isset($page) && isset($page['localeLinks'])) {
require_once(dirname(__FILE__).'/inc_locales.php');
}
function tpl_content($page) {
?>
<div id="loginintro">
<p><?php echo getlocal("app.descr")?></p>
</div>
<form name="loginForm" method="post" action="<?php echo MIBEW_WEB_ROOT ?>/operator/login.php">
<div id="loginpane">
<div class="header">
<h2><?php echo getlocal("page_login.title") ?></h2>
</div>
<div class="fieldForm">
<?php echo getlocal("page_login.intro") ?><br/><br/>
<?php
require_once(dirname(__FILE__).'/inc_errors.php');
?>
<div class="field">
<div class="fleftlabel"><?php echo getlocal("page_login.login") ?></div>
<div class="fvalue">
<input type="text" name="login" size="25" value="<?php echo form_value($page, 'login') ?>" class="formauth"/>
</div>
<br clear="all"/>
</div>
<div class="field">
<div class="fleftlabel"><?php echo getlocal("page_login.password") ?></div>
<div class="fvalue">
<input type="password" name="password" size="25" value="" class="formauth" autocomplete="off"/>
</div>
<br clear="all"/>
</div>
<div class="field">
<div class="fleftlabel">&nbsp;</div>
<div class="fvalue">
<label>
<input type="checkbox" name="isRemember" value="on"<?php echo form_value_cb($page, 'isRemember') ? " checked=\"checked\"" : "" ?> />
<?php echo getlocal("page_login.remember") ?></label>
</div>
<br clear="all"/>
</div>
<div class="fbutton">
<input type="image" name="login" src='<?php echo MIBEW_WEB_ROOT . getlocal("image.button.login") ?>' alt='<?php echo getlocal("button.enter") ?>'/>
<div class="links">
<a href="restore.php"><?php echo getlocal("restore.pwd.message") ?></a><br/>
</div>
</div>
</div>
</div>
</form>
<?php
} /* content */
require_once(dirname(__FILE__).'/inc_main.php');
?>

View File

@ -1,189 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
require_once(dirname(__FILE__).'/inc_menu.php');
function tpl_header($page) {
if(isset($page['localeLinks'])) {
?>
<script type="text/javascript" language="javascript" src="<?php echo MIBEW_WEB_ROOT ?>/js/libs/jquery.min.js"></script>
<script type="text/javascript" language="javascript" src="<?php echo MIBEW_WEB_ROOT ?>/js/compiled/locale.js"></script>
<?php
}
}
function menuseparator() {
static $menu_items_count = 0;
$menu_items_count++;
if(($menu_items_count%3) == 0) { echo "</tr><tr>"; }
}
function tpl_content($page) {
?>
<br/>
<?php if( $page['needChangePassword'] ) { ?>
<div id="formmessage"><?php echo getlocal("error.no_password") ?> <?php echo getlocal2("error.no_password.visit_profile", array($page['profilePage'])) ?></div>
<br/>
<?php } else if( $page['needUpdate'] ) { ?>
<div id="formmessage"><?php echo getlocal2("install.updatedb",array($page['updateWizard'])) ?></div>
<br/>
<?php } else if($page['newFeatures']) { ?>
<div><div id="formmessage"><?php echo getlocal2("install.newfeatures",array($page['featuresPage'], MIBEW_VERSION)) ?></div></div>
<br/>
<?php } ?>
<table id="dashboard">
<tr>
<td class="dashitem">
<img src="<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/images/dash/visitors.gif" alt=""/>
<a href='<?php echo MIBEW_WEB_ROOT ?>/operator/users.php'>
<?php echo getlocal('topMenu.users') ?></a>
<?php echo getlocal('page_client.pending_users') ?>
</td>
<?php menuseparator(); ?>
<td class="dashitem">
<img src="<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/images/dash/history.gif" alt=""/>
<a href='<?php echo MIBEW_WEB_ROOT ?>/operator/history.php'>
<?php echo getlocal('page_analysis.search.title') ?></a>
<?php echo getlocal('content.history') ?>
</td>
<?php menuseparator(); ?>
<?php if($page['showstat']) { ?>
<td class="dashitem">
<img src="<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/images/dash/stat.gif" alt=""/>
<a href='<?php echo MIBEW_WEB_ROOT ?>/operator/statistics.php'>
<?php echo getlocal('statistics.title') ?></a>
<?php echo getlocal('statistics.description') ?>
</td>
<?php menuseparator(); ?>
<?php } ?>
<?php if( $page['showban'] ) { ?>
<td class="dashitem">
<img src="<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/images/dash/blocked.gif" alt=""/>
<a href='<?php echo MIBEW_WEB_ROOT ?>/operator/blocked.php'>
<?php echo getlocal('menu.blocked') ?></a>
<?php echo getlocal('content.blocked') ?>
</td>
<?php menuseparator(); ?>
<?php } ?>
<td class="dashitem">
<img src="<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/images/dash/canned.gif" alt=""/>
<a href='<?php echo MIBEW_WEB_ROOT ?>/operator/canned.php'>
<?php echo getlocal('menu.canned') ?></a>
<?php echo getlocal('canned.descr') ?>
</td>
<?php menuseparator(); ?>
<?php if( $page['showadmin'] ) { ?>
<td class="dashitem">
<img src="<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/images/dash/getcode.gif" alt=""/>
<a href='<?php echo MIBEW_WEB_ROOT ?>/operator/getcode.php'>
<?php echo getlocal('leftMenu.client_gen_button') ?></a>
<?php echo getlocal('admin.content.client_gen_button') ?>
</td>
<?php menuseparator(); ?>
<td class="dashitem">
<img src="<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/images/dash/operators.gif" alt=""/>
<a href='<?php echo MIBEW_WEB_ROOT ?>/operator/operators.php'>
<?php echo getlocal('leftMenu.client_agents') ?></a>
<?php echo getlocal('admin.content.client_agents') ?>
</td>
<?php menuseparator(); ?>
<td class="dashitem">
<img src="<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/images/dash/dep.gif" alt=""/>
<a href='<?php echo MIBEW_WEB_ROOT ?>/operator/groups.php'>
<?php echo getlocal('menu.groups') ?></a>
<?php echo getlocal('menu.groups.content') ?>
</td>
<?php menuseparator(); ?>
<td class="dashitem">
<img src="<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/images/dash/settings.gif" alt=""/>
<a href='<?php echo MIBEW_WEB_ROOT ?>/operator/settings.php'>
<?php echo getlocal('leftMenu.client_settings') ?></a>
<?php echo getlocal('admin.content.client_settings') ?>
</td>
<?php menuseparator(); ?>
<?php } ?>
<?php if(isset($page['currentopid']) && $page['currentopid']) {?>
<td class="dashitem">
<img src="<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/images/dash/profile.gif" alt=""/>
<a href='<?php echo MIBEW_WEB_ROOT ?>/operator/operator.php?op=<?php echo $page['currentopid'] ?>'>
<?php echo getlocal('menu.profile') ?></a>
<?php echo getlocal('menu.profile.content') ?>
</td>
<?php menuseparator(); ?>
<?php } ?>
<?php if(isset($page) && isset($page['localeLinks'])) { ?>
<td class="dashitem">
<img src="<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/images/dash/locale.gif" alt=""/>
<a href='#' id="changelang">
<?php echo getlocal('menu.locale') ?></a>
<?php echo getlocal('menu.locale.content') ?>
</td>
<?php menuseparator(); ?>
<?php } ?>
<?php if( $page['showadmin'] ) { ?>
<td class="dashitem">
<img src="<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/images/dash/updates.gif" alt=""/>
<a href='<?php echo MIBEW_WEB_ROOT ?>/operator/updates.php'>
<?php echo getlocal('menu.updates') ?></a>
<?php echo getlocal('menu.updates.content') ?>
</td>
<?php menuseparator(); ?>
<?php } ?>
<td class="dashitem">
<img src="<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/images/dash/exit.gif" alt=""/>
<a href='<?php echo MIBEW_WEB_ROOT ?>/operator/logout.php'>
<?php echo getlocal('topMenu.logoff') ?></a>
<?php echo getlocal('content.logoff') ?>
</td>
</tr>
</table>
<?php if(isset($page) && isset($page['localeLinks'])) { ?>
<div id="dashlocalesPopup">
<a href="#" id="dashlocalesPopupClose"><img src="<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/images/dash/close.gif" alt="X"/></a>
<h2><img src="<?php echo MIBEW_WEB_ROOT ?>/styles/pages/default/images/dash/locale.gif" alt=""/>
<b><?php echo getlocal("lang.choose") ?></b></h2>
<ul class="locales">
<?php foreach($page['localeLinks'] as $id => $title) { ?>
<li<?php echo CURRENT_LOCALE == $id ? " class=\"active\"" : "" ?> ><a href='?locale=<?php echo $id ?>'><?php echo $title ?></a></li>
<?php } ?>
</ul>
</div>
<div id="backgroundPopup"></div>
<?php } ?>
<?php
} /* content */
require_once(dirname(__FILE__).'/inc_main.php');
?>

View File

@ -1,68 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
require_once(dirname(__FILE__).'/inc_menu.php');
require_once(dirname(__FILE__).'/inc_tabbar.php');
function tpl_content($page) {
?>
<?php echo getlocal("operator.groups.intro") ?>
<br />
<br />
<?php
require_once(dirname(__FILE__).'/inc_errors.php');
?>
<?php if( $page['stored'] ) { ?>
<div id="formmessage"><?php echo getlocal("data.saved") ?></div>
<?php } ?>
<form name="opgroupsForm" method="post" action="<?php echo MIBEW_WEB_ROOT ?>/operator/opgroups.php">
<?php print_csrf_token_input() ?>
<input type="hidden" name="op" value="<?php echo $page['opid'] ?>"/>
<div>
<?php print_tabbar($page['tabs']); ?>
<div class="mform"><div class="formtop"><div class="formtopi"></div></div><div class="forminner">
<p>
<b><?php echo $page['currentop'] ?>&lrm;</b>
</p>
<?php foreach( $page['groups'] as $pm ) { ?>
<div class="field level<?php echo $pm['level'] ?>">
<label for="group<?php echo htmlspecialchars($pm['groupid']); ?>" class="flabel"><?php echo htmlspecialchars(to_page($pm['vclocalname'])) ?></label>
<div class="fvalue">
<input id="group<?php echo htmlspecialchars($pm['groupid']); ?>" type="checkbox" name="group<?php echo htmlspecialchars($pm['groupid']); ?>" value="on"<?php echo form_value_mb($page, 'group',$pm['groupid']) ? " checked=\"checked\"" : "" ?><?php echo $page['canmodify'] ? "" : " disabled=\"disabled\"" ?>/>
</div>
<label for="group<?php echo htmlspecialchars($pm['groupid']); ?>" class="fdescr"> &mdash; <?php echo $pm['vclocaldescription'] ? htmlspecialchars(to_page($pm['vclocaldescription'])) : getlocal("operator.group.no_description") ?></label>
<br clear="all"/>
</div>
<?php } ?>
<?php if($page['canmodify']) { ?>
<div class="fbutton">
<input type="image" name="save" value="" src='<?php echo MIBEW_WEB_ROOT . getlocal("image.button.save") ?>' alt='<?php echo getlocal("button.save") ?>'/>
</div>
<?php } ?>
</div><div class="formbottom"><div class="formbottomi"></div></div></div>
</div>
</form>
<?php
} /* content */
require_once(dirname(__FILE__).'/inc_main.php');
?>

View File

@ -1,60 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
require_once(dirname(__FILE__).'/inc_menu.php');
require_once(dirname(__FILE__).'/inc_tabbar.php');
function tpl_content($page) {
?>
<?php echo getlocal("page.preview.intro") ?>
<br />
<br />
<form name="preview" method="get" action="<?php echo MIBEW_WEB_ROOT ?>/operator/page_themes.php">
<div>
<?php print_tabbar($page['tabs']); ?>
<div class="mform"><div class="formtop"><div class="formtopi"></div></div><div class="forminner">
<div class="fieldForm">
<div class="field">
<label for="preview" class="flabel"><?php echo getlocal("page.preview.choose") ?></label>
<div class="fvaluenodesc">
<select id="preview" name="preview" onchange="this.form.submit();"><?php foreach($page['availablePreviews'] as $k) { echo "<option value=\"".$k."\"".($k == form_value($page, "preview") ? " selected=\"selected\"" : "").">".$k."</option>"; } ?></select>
</div>
</div>
<?php foreach($page['screenshotsList'] as $screenshot) { ?>
<div class="field">
<div class="flabel">
<?php echo($screenshot['description']); ?>
</div>
<div class="fvalueframe">
<img class="screenshot" alt="<?php echo($screenshot['name']); ?>" src="<?php echo($screenshot['file']); ?>" />
</div>
</div>
<?php } ?>
</div>
</div><div class="formbottom"><div class="formbottomi"></div></div></div>
</div>
</form>
<?php
} /* content */
require_once(dirname(__FILE__).'/inc_main.php');
?>

View File

@ -1,161 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
require_once(dirname(__FILE__).'/inc_menu.php');
function tpl_header($page) {
?>
<!-- Plugins CSS files -->
<?php echo $page['additional_css']; ?>
<!-- External libs -->
<script type="text/javascript" src="<?php echo MIBEW_WEB_ROOT ?>/js/libs/jquery.min.js"></script>
<script type="text/javascript" src="<?php echo MIBEW_WEB_ROOT ?>/js/libs/json2.js"></script>
<script type="text/javascript" src="<?php echo MIBEW_WEB_ROOT ?>/js/libs/underscore-min.js"></script>
<script type="text/javascript" src="<?php echo MIBEW_WEB_ROOT ?>/js/libs/backbone-min.js"></script>
<script type="text/javascript" src="<?php echo MIBEW_WEB_ROOT ?>/js/libs/backbone.marionette.min.js"></script>
<script type="text/javascript" src="<?php echo MIBEW_WEB_ROOT ?>/js/libs/handlebars.js"></script>
<!-- Application files -->
<script type="text/javascript" src="<?php echo MIBEW_WEB_ROOT ?>/js/compiled/mibewapi.js"></script>
<script type="text/javascript" src="<?php echo MIBEW_WEB_ROOT ?>/js/compiled/default_app.js"></script>
<script type="text/javascript" src="<?php echo MIBEW_WEB_ROOT ?>/js/compiled/users_app.js"></script>
<!-- Plugins JavaScript files -->
<?php echo $page['additional_js']; ?>
<!-- Localization constants -->
<script type="text/javascript"><!--
// Localized strings for the core
Mibew.Localization.set({
'pending.table.speak': "<?php echo getlocal('pending.table.speak') ?>",
'pending.table.view': "<?php echo getlocal('pending.table.view') ?>",
'pending.table.ban': "<?php echo getlocal('pending.table.ban') ?>",
'pending.menu.show': "<?php echo htmlspecialchars(getlocal('pending.menu.show')) ?>",
'pending.menu.hide': "<?php echo htmlspecialchars(getlocal('pending.menu.hide')) ?>",
'pending.popup_notification': "<?php echo htmlspecialchars(getlocal('pending.popup_notification')) ?>",
'pending.table.tracked': "<?php echo getlocal('pending.table.tracked') ?>",
'pending.table.invite': "<?php echo getlocal('pending.table.invite') ?>",
'pending.status.away': "<?php echo getlocal('pending.status.away') ?>",
'pending.status.online': "<?php echo getlocal('pending.status.online') ?>",
'pending.status.setonline': "<?php echo addslashes(getlocal('pending.status.setonline')) ?>",
'pending.status.setaway': "<?php echo addslashes(getlocal('pending.status.setaway')) ?>",
'pending.table.head.name': "<?php echo getlocal('pending.table.head.name') ?>",
'pending.table.head.actions': "<?php echo getlocal('pending.table.head.actions') ?>",
'pending.table.head.contactid': "<?php echo getlocal('pending.table.head.contactid') ?>",
'pending.table.head.state': "<?php echo getlocal('pending.table.head.state') ?>",
'pending.table.head.operator': "<?php echo getlocal('pending.table.head.operator') ?>",
'pending.table.head.total': "<?php echo getlocal('pending.table.head.total') ?>",
'pending.table.head.waittime': "<?php echo getlocal('pending.table.head.waittime') ?>",
'pending.table.head.etc': "<?php echo getlocal('pending.table.head.etc') ?>",
'visitors.table.head.actions': "<?php echo getlocal('visitors.table.head.actions') ?>",
'visitors.table.head.name': "<?php echo getlocal('visitors.table.head.name') ?>",
'visitors.table.head.contactid': "<?php echo getlocal('visitors.table.head.contactid') ?>",
'visitors.table.head.firsttimeonsite': "<?php echo getlocal('visitors.table.head.firsttimeonsite') ?>",
'visitors.table.head.lasttimeonsite': "<?php echo getlocal('visitors.table.head.lasttimeonsite') ?>",
'visitors.table.head.invited.by': "<?php echo getlocal('visitors.table.head.invited.by') ?>",
'visitors.table.head.invitationtime': "<?php echo getlocal('visitors.table.head.invitationtime') ?>",
'visitors.table.head.invitations': "<?php echo getlocal('visitors.table.head.invitations') ?>",
'visitors.table.head.etc': "<?php echo getlocal('visitors.table.head.etc') ?>",
'visitors.no_visitors': "<?php echo getlocal('visitors.no_visitors') ?>",
'clients.no_clients': "<?php echo getlocal('clients.no_clients') ?>",
'chat.thread.state_wait': "<?php echo getlocal('chat.thread.state_wait'); ?>",
'chat.thread.state_wait_for_another_agent': "<?php echo getlocal('chat.thread.state_wait_for_another_agent'); ?>",
'chat.thread.state_chatting_with_agent': "<?php echo getlocal('chat.thread.state_chatting_with_agent'); ?>",
'chat.thread.state_closed': "<?php echo getlocal('chat.thread.state_closed'); ?>",
'chat.thread.state_loading': "<?php echo getlocal('chat.thread.state_loading'); ?>",
'chat.client.spam.prefix': "<?php echo getstring('chat.client.spam.prefix'); ?>",
'pending.errors.network': "<?php echo getlocal('pending.errors.network'); ?>"
});
// Plugins localization
Mibew.Localization.set(<?php echo $page['additional_localized_strings']; ?>);
//--></script>
<script type="text/javascript"><!--
jQuery(document).ready(function(){
Mibew.Application.start({
server: {
url: "<?php echo MIBEW_WEB_ROOT ?>/operator/update.php",
requestsFrequency: <?php echo $page['frequency'] ?>
},
agent: {
id: <?php echo $page['agentId'] ?>
},
page: {
showOnlineOperators: <?php echo($page['showonline']?'true':'false'); ?>,
showVisitors: <?php echo ($page['showvisitors']?'true':'false'); ?>,
showPopup: <?php echo($page['showpopup']?'true':'false')?>,
threadTag: "<?php echo $page['coreStyles.threadTag']; ?>",
visitorTag: "<?php echo $page['coreStyles.visitorTag']; ?>",
agentLink: "<?php echo MIBEW_WEB_ROOT ?>/operator/agent.php",
geoLink: "<?php echo $page['geoLink']; ?>",
trackedLink: "<?php echo MIBEW_WEB_ROOT ?>/operator/tracked.php",
banLink: "<?php echo MIBEW_WEB_ROOT ?>/operator/ban.php",
inviteLink: "<?php echo MIBEW_WEB_ROOT ?>/operator/invite.php",
chatWindowParams: "<?php echo $page['chatStyles.chatWindowParams']; ?>",
geoWindowParams: "<?php echo $page['geoWindowParams'];?>",
trackedUserWindowParams: "<?php echo $page['coreStyles.trackedUserWindowParams']; ?>",
trackedVisitorWindowParams: "<?php echo $page['coreStyles.trackedVisitorWindowParams']; ?>",
banWindowParams: "<?php echo $page['coreStyles.banWindowParams']; ?>",
inviteWindowParams: "<?php echo $page['coreStyles.inviteWindowParams']; ?>"
},
plugins: <?php echo $page['js_plugin_options']; ?>
});
});
//--></script>
<?php
}
function tpl_content($page) {
?>
<div>
<?php echo getlocal("clients.intro") ?>
<br/>
<?php echo getlocal("clients.how_to") ?>
</div>
<br/>
<div id="threads-region"></div>
<?php if ($page['showvisitors']) { ?>
<div class="tabletitle"><?php echo getlocal("visitors.title") ?></div>
<?php echo getlocal("visitors.intro") ?>
<br/>
<?php echo getlocal("visitors.how_to") ?>
<div id="visitors-region"></div>
<hr/>
<?php } ?>
<div id="status-panel-region"></div>
<div id="agents-region"></div>
<?php
} /* content */
require_once(dirname(__FILE__).'/inc_main.php');
?>

View File

@ -1,152 +0,0 @@
<?php
/*
* Copyright 2005-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
require_once(dirname(__FILE__).'/inc_menu.php');
require_once(dirname(__FILE__).'/inc_tabbar.php');
function tpl_content($page) {
?>
<?php echo getlocal("page_settings.intro") ?>
<br />
<br />
<?php
require_once(dirname(__FILE__).'/inc_errors.php');
?>
<?php if( $page['stored'] ) { ?>
<div id="formmessage"><?php echo getlocal("settings.saved") ?></div>
<?php } ?>
<form name="performance" method="post" action="<?php echo MIBEW_WEB_ROOT ?>/operator/performance.php">
<?php print_csrf_token_input() ?>
<div>
<?php print_tabbar($page['tabs']); ?>
<div class="mform"><div class="formtop"><div class="formtopi"></div></div><div class="forminner">
<div class="fieldForm">
<div class="field">
<label for="onlinetimeout" class="flabel"><?php echo getlocal('settings.onlinetimeout') ?></label>
<div class="fvalue">
<input id="onlinetimeout" type="text" name="onlinetimeout" size="40" value="<?php echo form_value($page, 'onlinetimeout') ?>" class="formauth"/>
</div>
<label for="onlinetimeout" class="fdescr"> &mdash; <?php echo getlocal('settings.onlinetimeout.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="frequencyoperator" class="flabel"><?php echo getlocal('settings.frequencyoperator') ?></label>
<div class="fvalue">
<input id="frequencyoperator" type="text" name="frequencyoperator" size="40" value="<?php echo form_value($page, 'frequencyoperator') ?>" class="formauth"/>
</div>
<label for="frequencyoperator" class="fdescr"> &mdash; <?php echo getlocal('settings.frequencyoperator.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="frequencychat" class="flabel"><?php echo getlocal('settings.frequencychat') ?></label>
<div class="fvalue">
<input id="frequencychat" type="text" name="frequencychat" size="40" value="<?php echo form_value($page, 'frequencychat') ?>" class="formauth"/>
</div>
<label for="frequencychat" class="fdescr"> &mdash; <?php echo getlocal('settings.frequencychat.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="onehostconnections" class="flabel"><?php echo getlocal('settings.onehostconnections') ?></label>
<div class="fvalue">
<input id="onehostconnections" type="text" name="onehostconnections" size="40" value="<?php echo form_value($page, 'onehostconnections') ?>" class="formauth"/>
</div>
<label for="onehostconnections" class="fdescr"> &mdash; <?php echo getlocal('settings.onehostconnections.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="threadlifetime" class="flabel"><?php echo getlocal('settings.threadlifetime') ?></label>
<div class="fvalue">
<input id="threadlifetime" type="text" name="threadlifetime" size="40" value="<?php echo form_value($page, 'threadlifetime') ?>" class="formauth"/>
</div>
<label for="threadlifetime" class="fdescr"> &mdash; <?php echo getlocal('settings.threadlifetime.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="statistics_aggregation_interval" class="flabel"><?php echo getlocal('settings.statistics_aggregation_interval') ?></label>
<div class="fvalue">
<input id="statistics_aggregation_interval" type="text" name="statistics_aggregation_interval" size="40" value="<?php echo form_value($page, 'statistics_aggregation_interval') ?>" class="formauth"/>
</div>
<label for="statistics_aggregation_interval" class="fdescr"> &mdash; <?php echo getlocal('settings.statistics_aggregation_interval.description') ?></label>
<br clear="all"/>
</div>
<?php if ($page['enabletracking']) { ?>
<div class="field">
<label for="frequencytracking" class="flabel"><?php echo getlocal('settings.frequencytracking') ?></label>
<div class="fvalue">
<input id="frequencytracking" type="text" name="frequencytracking" size="40" value="<?php echo form_value($page, 'frequencytracking') ?>" class="formauth"/>
</div>
<label for="frequencytracking" class="fdescr"> &mdash; <?php echo getlocal('settings.frequencytracking.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="visitorslimit" class="flabel"><?php echo getlocal('settings.visitorslimit') ?></label>
<div class="fvalue">
<input id="visitorslimit" type="text" name="visitorslimit" size="40" value="<?php echo form_value($page, 'visitorslimit') ?>" class="formauth"/>
</div>
<label for="visitorslimit" class="fdescr"> &mdash; <?php echo getlocal('settings.visitorslimit.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="invitationlifetime" class="flabel"><?php echo getlocal('settings.invitationlifetime') ?></label>
<div class="fvalue">
<input id="invitationlifetime" type="text" name="invitationlifetime" size="40" value="<?php echo form_value($page, 'invitationlifetime') ?>" class="formauth"/>
</div>
<label for="invitationlifetime" class="fdescr"> &mdash; <?php echo getlocal('settings.invitationlifetime.description') ?></label>
<br clear="all"/>
</div>
<div class="field">
<label for="trackinglifetime" class="flabel"><?php echo getlocal('settings.trackinglifetime') ?></label>
<div class="fvalue">
<input id="trackinglifetime" type="text" name="trackinglifetime" size="40" value="<?php echo form_value($page, 'trackinglifetime') ?>" class="formauth"/>
</div>
<label for="trackinglifetime" class="fdescr"> &mdash; <?php echo getlocal('settings.trackinglifetime.description') ?></label>
<br clear="all"/>
</div>
<?php } ?>
<div class="fbutton">
<input type="image" name="save" value="" src='<?php echo MIBEW_WEB_ROOT . getlocal("image.button.save") ?>' alt='<?php echo getlocal("button.save") ?>'/>
</div>
</div>
</div><div class="formbottom"><div class="formbottomi"></div></div></div>
</div>
<div class="asterisk">
<?php echo getlocal("common.asterisk_explanation") ?>
</div>
</form>
<?php
} /* content */
require_once(dirname(__FILE__).'/inc_main.php');
?>

Some files were not shown because too many files have changed in this diff Show More