<?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 ); ?>