예제 #1
0
<?php

if (!defined('FREEPBX_IS_AUTH')) {
    die('No direct script access allowed');
}
echo FreePBX::Recordings()->showPage();
예제 #2
0
function ivr_configprocess()
{
    if (isset($_REQUEST['display']) && $_REQUEST['display'] == 'ivr') {
        global $db;
        //get variables
        $get_var = array('id', 'name', 'alertinfo', 'description', 'announcement', 'directdial', 'invalid_loops', 'invalid_retry_recording', 'invalid_destination', 'invalid_recording', 'retvm', 'timeout_time', 'timeout_recording', 'timeout_retry_recording', 'timeout_destination', 'timeout_loops', 'timeout_append_announce', 'invalid_append_announce', 'timeout_ivr_ret', 'invalid_ivr_ret');
        foreach ($get_var as $var) {
            $vars[$var] = isset($_REQUEST[$var]) ? $_REQUEST[$var] : '';
        }
        $vars['timeout_append_announce'] = empty($vars['timeout_append_announce']) ? '0' : '1';
        $vars['invalid_append_announce'] = empty($vars['invalid_append_announce']) ? '0' : '1';
        $vars['timeout_ivr_ret'] = empty($vars['timeout_ivr_ret']) ? '0' : '1';
        $vars['invalid_ivr_ret'] = empty($vars['invalid_ivr_ret']) ? '0' : '1';
        $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : '';
        $entries = isset($_REQUEST['entries']) ? $_REQUEST['entries'] : '';
        switch ($action) {
            case 'save':
                if (isset($_REQUEST['announcementrecording'])) {
                    $filepath = FreePBX::Config()->get("ASTSPOOLDIR") . "/tmp/" . $_REQUEST['announcementrecording'];
                    $soundspath = FreePBX::Config()->get("ASTVARLIBDIR") . "/sounds";
                    $codec = "wav";
                    if (file_exists($filepath)) {
                        FreePBX::Media()->load($filepath);
                        $filename = "ivr-" . $vars['name'] . "-recording-" . time();
                        FreePBX::Media()->convert($soundspath . "/en/custom/" . $filename . "." . $codec);
                        $id = FreePBX::Recordings()->addRecording("ivr-" . $vars['name'] . "-recording-" . time(), sprintf(_("Recording created for IVR named '%s'"), $vars['name']), "custom/" . $filename);
                        $vars['announcement'] = $id;
                    } else {
                        $vars['announcement'] = '';
                    }
                }
                //get real dest
                $vars['id'] = ivr_save_details($vars);
                ivr_save_entries($vars['id'], $entries);
                needreload();
                $this_dest = ivr_getdest($vars['id']);
                fwmsg::set_dest($this_dest[0]);
                break;
            case 'delete':
                ivr_delete($vars['id']);
                isset($_REQUEST['id']) ? $_REQUEST['id'] = null : '';
                isset($_REQUEST['action']) ? $_REQUEST['action'] = null : '';
                needreload();
                break;
        }
    }
}
예제 #3
0
    foreach ($files as $file) {
        //move all custom files to the default language first
        if (preg_match("/^custom\\/(.*)/", $file, $matches)) {
            foreach (glob($dir . "/custom/" . $matches[1] . ".*") as $f) {
                $ff = basename($f);
                rename($f, $dir . "/" . $default . "/custom/" . $ff);
            }
            $filenames[] = $file;
            //if any files are using languages then remove the language since Asterisk does this for us
        } elseif (preg_match("/^(?:\\w{2}\\_\\w{2}|\\w{2}\\/)/", $file)) {
            $filenames[] = preg_replace("/^(?:\\w{2}\\_\\w{2}|\\w{2}\\/)/", "", $file);
            //Else just use the file as is
        } else {
            $filenames[] = $file;
        }
    }
    $sql = "UPDATE recordings SET filename = ? WHERE id = ?";
    $sth = FreePBX::Database()->prepare($sql);
    $sth->execute(array(implode('&', $filenames), $recording['id']));
}
if (file_exists($dir . "/custom")) {
    $files = glob($dir . "/custom/*");
    foreach ($files as $file) {
        $parts = pathinfo($file);
        FreePBX::Recordings()->addRecording($parts['filename'], "Migrated file", $file);
    }
    $files = glob($dir . "/custom/*");
    if (empty($files)) {
        rmdir($dir . "/custom");
    }
}
예제 #4
0
function recordings_get($id)
{
    return FreePBX::Recordings()->getRecordingsById($id);
}