<?php
/*
* ****************************************************************************************
* Copyright (c) 2013, 2014 Christopher W. Olsen <cwolsen@ubixtechnologies.com>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
* permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice, this list of
* conditions, the following disclaimer and the list of authors. Redistributions in binary
* form must reproduce the above copyright notice, this list of conditions, the following
* disclaimer and the list of authors in the documentation and/or other materials provided
* with the distribution. Neither the name of the uBix Cube Project nor the names of its
* contributors may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* $Id: mailboxes_json.php 73 2015-11-12 05:16:18Z reddawg $
*
* ***************************************************************************************
*/
/* Main include info */
ini_set ( 'include_path', $_SERVER ['DOCUMENT_ROOT'] . "/include/" );
include ("config.php");
$ubF->session->Validate_JSON ( 'U_V_', 0 );
if ( !isset ( $form_data ['req'] ) )
$form_data ['req'] = -1;
$rData ['authenticated'] = $ubF->session->auth_data ['authenticated'];
switch ( $form_data ['req'] ) {
case 'mailbox_list' :
/* Get List Of Mailboxes */
$query = "SELECT v.*,SUM(case when vm.dir like '%/Old' then 1 else 0 end) as old_msg,SUM(case when vm.dir like '%/INBOX' then 1 else 0 end) as new_msg FROM voicemail v LEFT JOIN voicemessages vm ON (v.context=vm.mailboxcontext AND v.mailbox=vm.mailboxuser) WHERE v.context = '" . $ubF->session->account_code . "-voicemail' GROUP BY v.mailbox ORDER BY v.context, v.mailbox";
$result = $ubF->DB['voicemail']->query ( $query );
while ( $qData = $result->fetch_assoc () ) {
$messages = $qData ['new_msg'] . " / " . $qData ['old_msg'];
$voip_code = explode ( "-", $qData ['context'] );
$rData ['data'] [] = array (
"<a id=\"" . $qData['mailbox'] . "\" class=\"edit_mailbox\">Edit</a>",
$qData ['mailbox'],
$qData ['fullname'],
$qData ['email'],
$messages
);
}
break;
case 'mailbox_info':
/* Get Mailbox Info */
$query = "SELECT mailbox, fullname, email, password FROM voicemail WHERE mailbox = '" . $form_data['mailbox'] . "' AND context = '" . $ubF->session->account_code . "-voicemail'";
$result = $ubF->DB['voicemail']->query($query);
$rData['data'] = $result->fetch_assoc();
break;
case 'mailbox_edit':
/* Save Mailbox */
$query = "UPDATE voicemail SET fullname = '" . $ubF->DB['voicemail']->real_escape_string($form_data['fullname']) . "', email = '" . $ubF->DB['voicemail']->real_escape_string($form_data['email']) . "', password = '" . $ubF->DB['voicemail']->real_escape_string($form_data['password']) . "' WHERE mailbox = '" . $form_data['mailbox'] . "' AND context = '" . $ubF->session->account_code . "-voicemail'";
system('echo "Q[' . $query . ']" >> /tmp/JSON.log');
if ($ubF->DB['voicemail']->query($query) == true) {
$rData ['data'] = Array (
'ret' => 1,
'ret_string' => 'Mailbox Updated'
);
}
else {
$rData ['data'] = Array (
'ret' => 0,
'ret_string' => 'Mailbox Failed To Update'
);
}
break;
default :
$rData ['data'] = Array (
0
);
break;
}
print json_encode ( $rData );
?>