mirror of
https://github.com/ACSPRI/queXS
synced 2024-04-02 12:12:16 +00:00
Removed debugging information from .htaccess
Added operatorlist administrative function which can enable/disable operators, update passwords and download VoIP configuration
This commit is contained in:
11
.htaccess
11
.htaccess
@@ -1,14 +1,3 @@
|
||||
php_flag display_startup_errors on
|
||||
php_flag display_errors on
|
||||
php_flag html_errors on
|
||||
php_flag ignore_repeated_errors off
|
||||
php_flag ignore_repeated_source off
|
||||
php_flag report_memleaks on
|
||||
php_flag track_errors on
|
||||
php_value docref_root 0
|
||||
php_value docref_ext 0
|
||||
php_value error_reporting -1
|
||||
|
||||
AuthType Basic
|
||||
AuthName "queXS CATI: Authentication Required"
|
||||
AuthUserFile /var/opt/quexs/htpasswd
|
||||
|
||||
@@ -57,6 +57,7 @@ print "<li><a href=\"javascript:link('mainobj','questionnaireprefill.php');\">"
|
||||
print "<li><a href=\"javascript:link('mainobj','quota.php');\">" . T_("Quota management") . "</a></li>";
|
||||
print "<li><a href=\"javascript:link('mainobj','quotarow.php');\">" . T_("Quota row management") . "</a></li>";
|
||||
print "<li><a href=\"javascript:link('mainobj','operators.php');\">" . T_("Add operators to the system") . "</a></li>";
|
||||
print "<li><a href=\"javascript:link('mainobj','operatorlist.php');\">" . T_("Operator management") . "</a></li>";
|
||||
print "<li><a href=\"javascript:link('mainobj','operatorquestionnaire.php');\">" . T_("Assign operators to questionnaires") . "</a></li>";
|
||||
print "<li><a href=\"javascript:link('mainobj','operatorskill.php');\">" . T_("Modify operator skills") . "</a></li>";
|
||||
print "<li><a href=\"javascript:link('mainobj','addshift.php');\">" . T_("Shift management (add/remove)") . "</a></li>";
|
||||
@@ -90,6 +91,7 @@ if (VOIP_ENABLED)
|
||||
{
|
||||
print "<li><h3>" . T_("VoIP") . "</h3>";
|
||||
print "<ul><li><a href=\"javascript:link('mainobj','voipmonitor.php');\">" . T_("Start and monitor VoIP") . "</a></li>";
|
||||
print "<li><a href=\"javascript:link('mainobj','operatorlist.php');\">" . T_("Operator management") . "</a></li>";
|
||||
print "<li><a href=\"javascript:link('mainobj','extensionstatus.php');\">" . T_("Extension status") . "</a></li></ul></li>";
|
||||
}
|
||||
|
||||
|
||||
169
admin/operatorlist.php
Normal file
169
admin/operatorlist.php
Normal file
@@ -0,0 +1,169 @@
|
||||
<?
|
||||
/**
|
||||
* List operators and allow for customised VoIP downloads, changing passwords, disabling, etc
|
||||
*
|
||||
*
|
||||
* This file is part of queXS
|
||||
*
|
||||
* queXS is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* queXS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with queXS; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
*
|
||||
* @author Adam Zammit <adam.zammit@acspri.org.au>
|
||||
* @copyright Australian Consortium for Social and Political Research Incorporated (ACSPRI) 2007,2008,2009,2010,2011
|
||||
* @package queXS
|
||||
* @subpackage admin
|
||||
* @link http://www.acspri.org.au/software queXS was writen for ACSPRI
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php The GNU General Public License (GPL) Version 2
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* Configuration file
|
||||
*/
|
||||
include_once(dirname(__FILE__).'/../config.inc.php');
|
||||
|
||||
/**
|
||||
* Database
|
||||
*/
|
||||
include_once(dirname(__FILE__).'/../db.inc.php');
|
||||
|
||||
/**
|
||||
* XHTML functions
|
||||
*/
|
||||
include_once(dirname(__FILE__).'/../functions/functions.xhtml.php');
|
||||
|
||||
$display = true;
|
||||
|
||||
if (isset($_POST))
|
||||
{
|
||||
foreach($_POST as $key => $val)
|
||||
{
|
||||
if (substr($key,0,8) == "password")
|
||||
{
|
||||
if (HTPASSWD_PATH !== false)
|
||||
{
|
||||
$operator_id = intval(substr($key,8));
|
||||
//update password in htaccess
|
||||
include_once(dirname(__FILE__).'/../functions/functions.htpasswd.php');
|
||||
$htp = New Htpasswd(HTPASSWD_PATH);
|
||||
$htp->deleteUser($_POST["username" . $operator_id]);
|
||||
$htp->addUser($_POST["username" . $operator_id],$val);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($_GET['disable']))
|
||||
{
|
||||
$operator_id = intval($_GET['disable']);
|
||||
|
||||
$sql = "UPDATE operator
|
||||
SET enabled = 0
|
||||
WHERE operator_id = '$operator_id'";
|
||||
|
||||
$db->Execute($sql);
|
||||
}
|
||||
|
||||
if (isset($_GET['enable']))
|
||||
{
|
||||
$operator_id = intval($_GET['enable']);
|
||||
|
||||
$sql = "UPDATE operator
|
||||
SET enabled = 1
|
||||
WHERE operator_id = '$operator_id'";
|
||||
|
||||
$db->Execute($sql);
|
||||
}
|
||||
|
||||
if (isset($_GET['operator_id']))
|
||||
{
|
||||
$operator_id = intval($_GET['operator_id']);
|
||||
|
||||
$sql = "SELECT *,SUBSTRING_INDEX(extension, '/', -1) as ext
|
||||
FROM operator
|
||||
WHERE operator_id = $operator_id";
|
||||
|
||||
$rs = $db->GetRow($sql);
|
||||
|
||||
if (!empty($rs))
|
||||
{
|
||||
$display = false;
|
||||
|
||||
if (isset($_GET['winbat']) || isset($_GET['sh']))
|
||||
{
|
||||
header("Content-Type: text/txt");
|
||||
if (isset($_GET['winbat']))
|
||||
header("Content-Disposition: attachment; filename=operator_$operator_id.bat");
|
||||
else
|
||||
header("Content-Disposition: attachment; filename=operator_$operator_id.sh");
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
|
||||
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
|
||||
header("Pragma: public"); // HTTP/1.0
|
||||
|
||||
if (isset($_GET['winbat']))
|
||||
echo "voip.exe -i -u {$rs['ext']} -p {$rs['extension_password']} -h " . VOIP_SERVER;
|
||||
else
|
||||
echo "./voip -i -u {$rs['ext']} -p {$rs['extension_password']} -h " . VOIP_SERVER;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($display)
|
||||
{
|
||||
$sql = "SELECT
|
||||
CONCAT(firstName, ' ', lastName) as name,
|
||||
CONCAT('<form action=\'?\' method=\'post\'><input type=\'text\' name=\'password', operator_id, '\'/><input type=\'hidden\' name=\'username', operator_id, '\' value=\'', username, '\'/><input type=\'submit\' value=\'" . T_("Update password") . "\'/></form>') as password,
|
||||
CONCAT('<a href=\'?winbat=winbat&operator_id=',operator_id,'\'>" . T_("Windows bat file") . "</a>') as winbat,
|
||||
CONCAT('<a href=\'?sh=sh&operator_id=',operator_id,'\'>" . T_("*nix script file") . "</a>') as sh,
|
||||
CASE WHEN enabled = 0 THEN
|
||||
CONCAT('<a href=\'?enable=',operator_id,'\'>" . T_("Enable") . "</a>')
|
||||
ELSE
|
||||
CONCAT('<a href=\'?disable=',operator_id,'\'>" . T_("Disable") . "</a>')
|
||||
END
|
||||
as enabledisable
|
||||
FROM operator";
|
||||
|
||||
$rs = $db->GetAll($sql);
|
||||
|
||||
xhtml_head(T_("Operator list"),true,array("../css/table.css"));
|
||||
|
||||
$columns = array("name","enabledisable");
|
||||
$titles = array(T_("Operator"),T_("Enable/Disable"));
|
||||
|
||||
if (VOIP_ENABLED)
|
||||
{
|
||||
print "<p>" . T_("Download the file for each user and save in the same folder as the voip.exe executable. When the file is executed, it will run the voip.exe program with the correct connection details to connect the operator to the VoIP server") . "</p>";
|
||||
|
||||
print "<p><a href='voip.exe'>" . T_("Download Windows VoIP Executable") . "</a></p>";
|
||||
print "<p><a href='voip'>" . T_("Download Linux VoIP Executable") . "</a></p>";
|
||||
|
||||
$columns[] = "winbat";
|
||||
$columns[] = "sh";
|
||||
$titles[] = T_("Windows VoIP");
|
||||
$titles[] = T_("*nix VoIP");
|
||||
}
|
||||
|
||||
if (HTPASSWD_PATH !== false)
|
||||
{
|
||||
$columns[] = "password";
|
||||
$titles[] = T_("Update password");
|
||||
}
|
||||
|
||||
xhtml_table($rs,$columns,$titles);
|
||||
|
||||
|
||||
xhtml_foot();
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user