Newer
Older
ubFramework / Portal / docroot / admin / voip / mailboxes_json.php
@Christopher W. Olsen Christopher W. Olsen on 10 Dec 2017 3 KB Cleaning Up Making It A Sub Module
<?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 940 2017-09-07 20:12:42Z reddawg $
 *
 * ***************************************************************************************
 */

/* Main include info */
ini_set ( 'include_path', $_SERVER ['DOCUMENT_ROOT'] . "/include/" );
include ("config.php");

$ubF->session->Validate_JSON ( 'A_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 */

    if ( !isset ( $form_data ['voip_code'] ) || $form_data ['voip_code'] == "" )
      $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) GROUP BY v.mailbox ORDER BY v.context, v.mailbox";
    else
      $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 = '" . $form_data ['voip_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 href=\"/admin/voip/edit_mailbox.php?data[mailbox]=" . $qData ['mailbox'] . "&data[voip_code]=" . $voip_code [0] . "\">Edit</a>",
          $qData ['context'],
          $qData ['mailbox'],
          $qData ['fullname'],
          $qData ['email'],
          $messages 
      );
    }
    
    break;
  default :
    $rData ['data'] = Array (
        0 
    );
    break;
}

print json_encode ( $rData );

?>