当前位置: 首页>>代码示例>>PHP>>正文


PHP FreePBX::Database方法代码示例

本文整理汇总了PHP中FreePBX::Database方法的典型用法代码示例。如果您正苦于以下问题:PHP FreePBX::Database方法的具体用法?PHP FreePBX::Database怎么用?PHP FreePBX::Database使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在FreePBX的用法示例。


在下文中一共展示了FreePBX::Database方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: ajaxHandler

 public function ajaxHandler()
 {
     $request = $_REQUEST;
     if (!empty($_REQUEST['oldval']) && $_REQUEST['command'] == 'add') {
         $_REQUEST['command'] = 'edit';
     }
     switch ($_REQUEST['command']) {
         case 'add':
             $this->numberAdd($request);
             return array('status' => true);
             break;
         case 'edit':
             $this->numberDel($request['oldval']);
             $this->numberAdd($request);
             return array('status' => true);
             break;
         case 'bulkdelete':
             $numbers = isset($_REQUEST['numbers']) ? $_REQUEST['numbers'] : array();
             $numbers = json_decode($numbers, true);
             foreach ($numbers as $number) {
                 $this->numberDel($number);
             }
             return array('status' => 'true', 'message' => _("Numbers Deleted"));
             break;
         case 'del':
             $ret = $this->numberDel($request['number']);
             return array('status' => $ret);
             break;
         case 'calllog':
             $number = $request['number'];
             $sql = 'SELECT calldate FROM asteriskcdrdb.cdr WHERE src = ?';
             $stmt = \FreePBX::Database()->prepare($sql);
             $stmt->execute(array($number));
             $ret = $stmt->fetchAll(\PDO::FETCH_ASSOC);
             return $ret;
             break;
         case 'getJSON':
             switch ($request['jdata']) {
                 case 'grid':
                     $ret = array();
                     $blacklist = $this->getBlacklist();
                     foreach ($blacklist as $item) {
                         $number = $item['number'];
                         $description = $item['description'];
                         if ($number == 'dest' || $number == 'blocked') {
                             continue;
                         } else {
                             $ret[] = array('number' => $number, 'description' => $description);
                         }
                     }
                     return $ret;
                     break;
             }
             break;
     }
 }
开发者ID:ringfreejohn,项目名称:pbxframework,代码行数:56,代码来源:Blacklist.class.php

示例2: execute

 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $helper = $this->getHelper('question');
     $output->write(_("Connecting to the Database..."));
     try {
         $db = \FreePBX::Database();
     } catch (\Exception $e) {
         $output->writeln("<error>" . _("Unable to connect to database!") . "</error>");
         return;
     }
     $output->writeln(_("Connected"));
     $driver = $db->getAttribute(\PDO::ATTR_DRIVER_NAME);
     $bundles = array();
     while (true) {
         $question = new Question($driver . '>', '');
         $question->setAutocompleterValues($bundles);
         $answer = $helper->ask($input, $output, $question);
         if (preg_match("/^exit/i", $answer)) {
             exit;
         }
         $bundles[] = $answer;
         try {
             $time_start = microtime(true);
             $ob = $db->query($answer);
             $time_end = microtime(true);
         } catch (\Exception $e) {
             $output->writeln("<error>" . $e->getMessage() . "</error>");
             continue;
         }
         if (!$ob) {
             $output->writeln("<error>" . $db->errorInfo() . "</error>");
             continue;
         }
         //if we get rows back from a query fetch them
         if ($ob->rowCount()) {
             $gotRows = $ob->fetchAll(\PDO::FETCH_ASSOC);
         } else {
             $gotRows = array();
         }
         if (!empty($gotRows)) {
             $rows = array();
             foreach ($gotRows as $row) {
                 $rows[] = array_values($row);
             }
             $table = new Table($output);
             $table->setHeaders(array_keys($gotRows[0]))->setRows($rows);
             $table->render();
             $output->writeln(sprintf(_("%s rows in set (%s sec)"), $ob->rowCount(), round($time_end - $time_start, 2)));
         } else {
             $output->writeln(_("Successfully executed"));
         }
     }
 }
开发者ID:powerpbx,项目名称:framework,代码行数:53,代码来源:Mysql.class.php

示例3: __construct

 public function __construct()
 {
     $db = FreePBX::Database();
     $dash = FreePBX::Dashboard();
     if (!is_object($db)) {
         throw new Exception("DB isn't a Database?");
     }
     if (!is_object($dash)) {
         throw new Exception("Dash isn't an Object?");
     }
     $this->db = $db;
     $this->dash = $dash;
     // Generate a temporary 'what's next' array for lookups.
     foreach ($this->periods as $p => $i) {
         if ($this->last) {
             $this->pnext[$this->last] = $p;
             $this->last = $p;
         } else {
             $this->last = $p;
         }
     }
 }
开发者ID:lidl,项目名称:dashboard,代码行数:22,代码来源:PruneHistory.class.php

示例4: catch

FreePBX::Config()->define_conf_setting('AMPUSERMANEMAILFROM', $set, true);
//Quick check to see if we are previously installed
//this lets us know if we need to create a default group
$sql = "SELECT * FROM userman_groups";
$sth = FreePBX::Database()->prepare($sql);
try {
    $sth->execute();
    $grps = $sth->fetchAll();
} catch (\Exception $e) {
    $grps = array();
}
if (empty($grps)) {
    $sql = "INSERT INTO userman_groups (`groupname`, `description`, `users`) VALUES (?, ?, ?)";
    $sth = FreePBX::Database()->prepare($sql);
    $sth->execute(array(_("All Users"), _("This group was created on install and is automatically assigned to new users. This can be disabled in User Manager Settings"), "[]"));
    $id = FreePBX::Database()->lastInsertId();
    $config = array("default-groups" => array($id));
    FreePBX::Userman()->setConfig("authFREEPBXSettings", $config);
    //Default Group Settings
    FreePBX::Userman()->setModuleSettingByGID($id, 'contactmanager', 'show', true);
    FreePBX::Userman()->setModuleSettingByGID($id, 'contactmanager', 'groups', array($id));
    FreePBX::Userman()->setModuleSettingByGID($id, 'fax', 'enabled', true);
    FreePBX::Userman()->setModuleSettingByGID($id, 'fax', 'attachformat', "pdf");
    FreePBX::Userman()->setModuleSettingByGID($id, 'faxpro', 'localstore', "true");
    FreePBX::Userman()->setModuleSettingByGID($id, 'restapi', 'restapi_token_status', true);
    FreePBX::Userman()->setModuleSettingByGID($id, 'restapi', 'restapi_users', array("self"));
    FreePBX::Userman()->setModuleSettingByGID($id, 'restapi', 'restapi_modules', array("*"));
    FreePBX::Userman()->setModuleSettingByGID($id, 'restapi', 'restapi_rate', "1000");
    FreePBX::Userman()->setModuleSettingByGID($id, 'xmpp', 'enable', true);
    FreePBX::Userman()->setModuleSettingByGID($id, 'ucp|Global', 'allowLogin', true);
    FreePBX::Userman()->setModuleSettingByGID($id, 'ucp|Global', 'originate', true);
开发者ID:ringfreejohn,项目名称:pbxframework,代码行数:31,代码来源:install.php

示例5: foreach

    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");
    }
}
开发者ID:ringfreejohn,项目名称:pbxframework,代码行数:31,代码来源:install.php

示例6: paging_get_config


//.........这里部分代码省略.........
                $ext->add($context, $code, '', new ext_busy());
                $ext->add($context, $code, '', new ext_macro('hangupcall'));
                $ext->add($context, $code, 'nointercom', new ext_noop('Intercom disallowed by ${dialnumber}'));
                $ext->add($context, $code, '', new ext_execif('$[${INTERCOM_RETURN}]', 'Return'));
                $ext->add($context, $code, '', new ext_gosub('1', 'lang-playback', $context, 'hook_0'));
                $ext->add($context, $code, '', new ext_congestion());
                if ($amp_conf['ASTCONFAPP'] == 'app_confbridge') {
                    $sub = 'page';
                    $ext->add($context, $sub, '', new ext_set('PAGE_CONF', '${EPOCH}${RAND(100,999)}'));
                    $ext->add($context, $sub, '', new ext_set('PAGEMODE', 'PAGE'));
                    $ext->add($context, $sub, '', new ext_set('PAGE_MEMBERS', '${ARG1}'));
                    $ext->add($context, $sub, '', new ext_set('PAGE_CONF_OPTS', 'duplex'));
                    $ext->add($context, $sub, '', new ext_agi('page.agi'));
                    $ext->add($context, $sub, '', new ext_set('CONFBRIDGE(user,template)', 'page_user_duplex'));
                    $ext->add($context, $sub, '', new ext_set('CONFBRIDGE(user,admin)', 'yes'));
                    $ext->add($context, $sub, '', new ext_set('CONFBRIDGE(user,marked)', 'yes'));
                    $ext->add($context, $sub, '', new ext_meetme('${PAGE_CONF}', ',', 'admin_menu'));
                    $ext->add($context, $sub, '', new ext_hangup());
                }
                $lang = 'en';
                // English
                $ext->add($context, $lang, 'hook_0', new ext_playback('intercom&for&extension'));
                $ext->add($context, $lang, '', new ext_saydigits('${dialnumber}'));
                $ext->add($context, $lang, '', new ext_playback('is&disabled'));
                $ext->add($context, $lang, '', new ext_return());
                $lang = 'ja';
                // Japanese
                $ext->add($context, $lang, 'hook_0', new ext_playback('extension'));
                $ext->add($context, $lang, '', new ext_saydigits('${dialnumber}'));
                $ext->add($context, $lang, '', new ext_playback('jp-no&intercom&jp-wa&disabled-2'));
                $ext->add($context, $lang, '', new ext_return());
                $extintercomusers = 'ext-intercom-users';
                $sql = "SELECT LENGTH(id) as len FROM devices GROUP BY len";
                $sth = FreePBX::Database()->prepare($sql);
                $sth->execute();
                $rows = $sth->fetchAll(\PDO::FETCH_ASSOC);
                foreach ($rows as $row) {
                    $ext->add($extintercomusers, '_' . $intercom_code . str_repeat('X', $row['len']), '', new ext_goto($context . ',${EXTEN},1'));
                }
                $context = $extintercomusers;
                // for language handling which is done on a per context basis
                $ext->add($context, 'lang-playback', '', new ext_gosubif('$[${DIALPLAN_EXISTS(' . $context . ',${CHANNEL(language)})}]', $context . ',${CHANNEL(language)},${ARG1}', $context . ',en,${ARG1}'));
                $ext->add($context, 'lang-playback', '', new ext_return());
                $ext->addInclude('from-internal-additional', $context);
            }
            $fcc = new featurecode('paging', 'intercom-on');
            $oncode = $fcc->getCodeActive();
            unset($fcc);
            if ($oncode) {
                $ext->add($context, $oncode, '', new ext_macro('user-callerid'));
                $ext->add($context, $oncode, '', new ext_set('CONNECTEDLINE(name-charset,i)', 'utf8'));
                $ext->add($context, $oncode, '', new ext_set('CONNECTEDLINE(name,i)', _("Intercom: Enabled")));
                $ext->add($context, $oncode, '', new ext_set('CONNECTEDLINE(num,i)', '${AMPUSER}'));
                $ext->add($context, $oncode, '', new ext_answer(''));
                $ext->add($context, $oncode, '', new ext_wait('1'));
                $ext->add($context, $oncode, '', new ext_setvar('DB(AMPUSER/${AMPUSER}/intercom)', 'enabled'));
                $ext->add($context, $oncode, '', new ext_playback('intercom&enabled'));
                $ext->add($context, $oncode, '', new ext_macro('hangupcall'));
                $target = '${EXTEN:' . strlen($oncode) . '}';
                $oncode = "_" . $oncode . ".";
                $ext->add($context, $oncode, '', new ext_macro('user-callerid'));
                $ext->add($context, $oncode, '', new ext_set('CONNECTEDLINE(name-charset,i)', 'utf8'));
                $ext->add($context, $oncode, '', new ext_set('CONNECTEDLINE(name,i)', sprintf(_("Intercom from %s: Enabled"), $target)));
                $ext->add($context, $oncode, '', new ext_set('CONNECTEDLINE(num,i)', '${AMPUSER}'));
                $ext->add($context, $oncode, '', new ext_setvar('dialnumber', '${EVAL(${EXTEN:' . strlen(substr($oncode, 1, -1)) . '})}'));
                // Asterisk variable for saydigits languages
开发者ID:ringfreejohn,项目名称:pbxframework,代码行数:67,代码来源:functions.inc.php

示例7: isFrameworkOOBENeeded

 private function isFrameworkOOBENeeded()
 {
     $db = FreePBX::Database();
     $count = (int) $db->query("SELECT COUNT(`username`) FROM `ampusers`")->fetchColumn();
     if ($count !== 0) {
         return false;
     }
     return true;
 }
开发者ID:lidl,项目名称:framework,代码行数:9,代码来源:OOBE.class.php

示例8: queues_get_config


//.........这里部分代码省略.........
                $ext->add($id, 's', 'end1', new ext_setvar('ITER', '$[${ITER} + 1]'));
                $ext->add($id, 's', '', new ext_gotoif('$[${ITER} <= ${LOOPCNT}]', 'begin1'));
                $ext->add($id, 's', '', new ext_saynumber('${COUNT}'));
                $ext->add($id, 's', '', new ext_playback('queue-quantity2'));
                $ext->add($id, 's', '', new ext_return());
            }
            // We need to have a hangup here, if call is ended by the caller during Playback it will end in the
            // h context and do a proper hangup and clean the blkvm if set, see #4671
            $ext->add($c, 'h', '', new ext_macro('hangupcall'));
            // NODEST will be the queue that this came from, so we will vector though an entry to determine the context the
            // agent should be delivered to. All queue calls come here, this decides if the should go direct to from-internal
            // or indirectly through from-queue-exten-only to trap extension calls and avoid their follow-me, etc.
            //
            $ext->add('from-queue', '_.', '', new ext_setvar('QAGENT', '${EXTEN}'));
            $ext->add('from-queue', '_.', '', new ext_setvar('__FROMQ', 'true'));
            //see below comments
            $ext->add('from-queue', '_.', '', new ext_goto('1', '${NODEST}'));
            //http://issues.freepbx.org/browse/FREEPBX-11871
            //Because of local channel changes in Asterisk 12+ we end up losing track of our recording file
            //This effectively "gives" back the recording file to the channel that answered the queue
            if ($ast_ge_12) {
                $ext->splice('macro-auto-blkvm', 's', 1, new ext_execif('$["${FROMQ}" = "true" & "${CALLFILENAME}" != "" & "${CDR(recordingfile)}" = ""]', 'Set', 'CDR(recordingfile)=${CALLFILENAME}.${MON_FMT}'));
            }
            $ext->addInclude($from_queue_exten_only . '-x', 'from-internal');
            $ext->add($from_queue_exten_only . '-x', 'foo', '', new ext_noop('bar'));
            $ext->addInclude($from_queue_exten_internal, $from_queue_exten_only);
            $ext->addInclude($from_queue_exten_internal, $from_queue_exten_only . '-x');
            $ext->addInclude($from_queue_exten_internal, 'from-internal');
            $ext->add($from_queue_exten_internal, 'foo', '', new ext_noop('bar'));
            /* create a context, from-queue-exten-only, that can be used for queues that want behavir similar to
             * ringgroup where only the agent's phone will be rung, no follow-me will be pursued.
             */
            $sql = "SELECT LENGTH(extension) as len FROM users GROUP BY len";
            $sth = FreePBX::Database()->prepare($sql);
            $sth->execute();
            $rows = $sth->fetchAll(\PDO::FETCH_ASSOC);
            foreach ($rows as $row) {
                //make sure exten exists
                $ext->add($from_queue_exten_only, '_' . str_repeat('X', $row['len']), '', new ext_gotoif('$[${DB_EXISTS(AMPUSER/${EXTEN}/cidnum)} = 0]', $from_queue_exten_only . '-x,${EXTEN},1'));
                $ext->add($from_queue_exten_only, '_' . str_repeat('X', $row['len']), '', new ext_set('RingGroupMethod', 'none'));
                $ext->add($from_queue_exten_only, '_' . str_repeat('X', $row['len']), '', new ext_set('QDOPTS', '${IF($["${CALLER_DEST}"!=""]?g)}${IF($["${AGENT_DEST}"!=""]?F(${AGENT_DEST}))}'));
                $ext->add($from_queue_exten_only, '_' . str_repeat('X', $row['len']), 'checkrecord', new ext_set('CALLTYPE_OVERRIDE', 'external'));
                // Make sure the call is tagged as external
                // This means:
                // If (!$fromexten) { if (!$nodest) { $fromexten = 'external' } else { $fromexten = $nodest } }
                $ext->add($from_queue_exten_only, '_' . str_repeat('X', $row['len']), '', new ext_execif('$[!${LEN(${FROMEXTEN})}]', 'Set', 'FROMEXTEN=${IF(${LEN(${NODEST})}?${NODEST}:external)}'));
                // Make sure the call is tagged as external
                $ext->add($from_queue_exten_only, '_' . str_repeat('X', $row['len']), '', new ext_gosub('1', 's', 'sub-record-check', 'exten,${EXTEN},'));
                if ($has_extension_state) {
                    $ext->add($from_queue_exten_only, '_' . str_repeat('X', $row['len']), '', new ext_macro('dial-one', ',${DIAL_OPTIONS}${QDOPTS},${EXTEN}'));
                } else {
                    $ext->add($from_queue_exten_only, '_' . str_repeat('X', $row['len']), '', new ext_macro('dial', ',${DIAL_OPTIONS}${QDOPTS},${EXTEN}'));
                }
                $ext->add($from_queue_exten_only, '_' . str_repeat('X', $row['len']), '', new ext_gotoif('$["${CALLER_DEST}"!=""&&"${DIALSTATUS}"="ANSWER"]', '${CUT(CALLER_DEST,^,1)},${CUT(CALLER_DEST,^,2)},${CUT(CALLER_DEST,^,3)}'));
                $ext->add($from_queue_exten_only, '_' . str_repeat('X', $row['len']), '', new ext_hangup());
            }
            if (!empty($rows)) {
                $ext->add($from_queue_exten_only, 'h', '', new ext_macro('hangupcall'));
            }
            /*
             * Adds a dynamic agent/member to a Queue
             * Prompts for call-back number - in not entered, uses CIDNum
             */
            if ($amp_conf['GENERATE_LEGACY_QUEUE_CODES']) {
                $c = 'macro-agent-add';
                // for i18n playback in multiple languages
开发者ID:ringfreejohn,项目名称:pbxframework,代码行数:67,代码来源:dialplan.php

示例9: updateChanSipSettings

 public function updateChanSipSettings($key, $val = false, $type = SELF::SIP_NORMAL, $seq = 10)
 {
     $db = \FreePBX::Database();
     // Delete the key we want to change
     $del = $db->prepare('DELETE FROM `sipsettings` WHERE `keyword`=? AND `type`=?');
     $del->execute(array($key, $type));
     // If val is not EXACTLY false, add it back in
     if ($val !== false) {
         $ins = $db->prepare('INSERT INTO `sipsettings` (`keyword`, `data`, `type`, `seq`) VALUES (?, ?, ?, ?)');
         $ins->execute(array($key, $val, $type, $seq));
     }
 }
开发者ID:ringfreejohn,项目名称:pbxframework,代码行数:12,代码来源:Sipsettings.class.php

示例10: tts_del

function tts_del($p_id)
{
    $dbh = \FreePBX::Database();
    $sql = 'DELETE FROM tts WHERE id = ?';
    $stmt = $dbh->prepare($sql);
    return $stmt->execute(array($p_id));
}
开发者ID:ringfreejohn,项目名称:pbxframework,代码行数:7,代码来源:functions.inc.php

示例11: enableTrunk

 private function enableTrunk($id)
 {
     $db = \FreePBX::Database();
     $sql = "UPDATE trunks set disabled = 'off' WHERE trunkid = ?";
     $ob = $db->prepare($sql);
     return $ob->execute(array($id));
 }
开发者ID:lidl,项目名称:core,代码行数:7,代码来源:Trunks.class.php

示例12: updateAllGroups

 /**
  * Update All Groups
  * Runs through the directory to update all settings (users and naming)
  */
 private function updateAllGroups()
 {
     if (!empty($this->gcache)) {
         return true;
     }
     if (php_sapi_name() !== 'cli') {
         throw new \Exception("Can only update groups over CLI");
     }
     $this->connect();
     $this->out("Retrieving all groups...", false);
     $sr = ldap_search($this->ldap, $this->dn, "(objectCategory=Group)", array("distinguishedname", "primarygrouptoken", "objectsid", "description", "cn"));
     if ($sr === false) {
         return false;
     }
     $groups = ldap_get_entries($this->ldap, $sr);
     $this->out("Got " . $groups['count'] . " groups");
     unset($groups['count']);
     $sql = "DROP TABLE IF EXISTS msad_procs_temp";
     $sth = $this->FreePBX->Database->prepare($sql);
     $sth->execute();
     $tempsql = "CREATE TABLE msad_procs_temp (\n\t\t\t`pid` int NOT NULL,\n\t\t\t`udata` varchar(255),\n\t\t\t`gdata` varchar(255),\n\t\t\tPRIMARY KEY(pid)\n\t\t) ENGINE = MEMORY";
     $sth = $this->FreePBX->Database->prepare($tempsql);
     $sth->execute();
     $this->out("Forking child processes");
     $tpath = __DIR__ . "/tmp";
     if (!file_exists($tpath)) {
         mkdir($tpath, 0777, true);
     }
     foreach ($groups as $i => $group) {
         $pid = pcntl_fork();
         if (!$pid) {
             $iid = getmypid();
             \FreePBX::Database()->__construct();
             $db = new \DB();
             $this->connect(true);
             //http://www.rlmueller.net/CharactersEscaped.htm
             $group['distinguishedname'][0] = ldap_escape($group['distinguishedname'][0]);
             $this->out("\tGetting users from " . $group['cn'][0] . "...");
             $gs = ldap_search($this->ldap, $this->dn, "(&(objectCategory=Person)(sAMAccountName=*)(memberof=" . $group['distinguishedname'][0] . "))");
             if ($gs !== false) {
                 $users = ldap_get_entries($this->ldap, $gs);
                 $susers = serialize($users);
                 file_put_contents($tpath . "/" . $iid . "-users", $susers);
                 $sgroup = serialize($group);
                 file_put_contents($tpath . "/" . $iid . "-group", $sgroup);
                 $sql = "INSERT INTO msad_procs_temp (`pid`,`udata`,`gdata`) VALUES (?,?,?)";
                 $sth = $this->FreePBX->Database->prepare($sql);
                 $sth->execute(array($i, $iid . "-users", $iid . "-group"));
             }
             $this->out("\tFinished Getting users from " . $group['cn'][0]);
             exit($i);
         }
     }
     \FreePBX::Database()->__construct();
     $db = new \DB();
     while (pcntl_waitpid(0, $status) != -1) {
         $status = pcntl_wexitstatus($status);
     }
     $this->out("Child processes have finished");
     $sql = "SELECT * FROM msad_procs_temp";
     $sth = $this->FreePBX->Database->prepare($sql);
     $sth->execute();
     $children = $sth->fetchAll(\PDO::FETCH_ASSOC);
     $this->out("Adding Users from non-primary groups...");
     foreach ($children as $child) {
         if (!file_exists($tpath . "/" . $child['udata']) || !file_exists($tpath . "/" . $child['gdata'])) {
             continue;
         }
         $udata = file_get_contents($tpath . "/" . $child['udata']);
         unlink($tpath . "/" . $child['udata']);
         $users = unserialize($udata);
         $gdata = file_get_contents($tpath . "/" . $child['gdata']);
         unlink($tpath . "/" . $child['gdata']);
         $group = unserialize($gdata);
         $this->out("\tFound " . $users['count'] . " users in " . $group['cn'][0]);
         unset($users['count']);
         $members = array();
         foreach ($users as $user) {
             $usid = $this->binToStrSid($user['objectsid'][0]);
             $u = $this->getUserByAuthID($usid);
             $members[] = $u['id'];
         }
         $sid = $this->binToStrSid($group['objectsid'][0]);
         $this->gcache[$sid] = $group;
         $um = $this->linkGroup($group['cn'][0], 'msad', $sid);
         if ($um['status']) {
             $this->updateGroupData($um['id'], array("description" => !empty($group['description'][0]) ? $group['description'][0] : '', "users" => $members));
             if ($um['new']) {
                 $this->groupHooks['add'][$um['id']] = array($um['id'], $group['cn'][0], !empty($group['description'][0]) ? $group['description'][0] : '', $members);
             } else {
                 $this->groupHooks['update'][$um['id']] = array($um['id'], $um['prevGroupname'], $group['cn'][0], !empty($group['description'][0]) ? $group['description'][0] : '', $members);
             }
         }
     }
     //remove users
     $fgroups = $this->getAllGroups();
//.........这里部分代码省略.........
开发者ID:ringfreejohn,项目名称:pbxframework,代码行数:101,代码来源:Msad.php

示例13: getAmpUser

 /**
  * Get the AMP User from the username
  * @param  string $username the username
  * @return mixed           False is false otherwise array of user
  */
 public function getAmpUser($username)
 {
     switch ($this->mode) {
         case "usermanager":
             try {
                 $um = FreePBX::Userman()->getUserByUsername($username);
                 $user = array();
                 $user['id'] = $um['id'];
                 $user["username"] = $um['username'];
                 $user["password_sha1"] = $um['password'];
                 $pbl = FreePBX::Userman()->getCombinedGlobalSettingByID($um['id'], 'pbx_low');
                 $user["extension_low"] = trim($pbl) !== "" ? $pbl : "";
                 $pbh = FreePBX::Userman()->getCombinedGlobalSettingByID($um['id'], 'pbx_high');
                 $user["extension_high"] = trim($pbh) !== "" ? $pbh : "";
                 $sections = FreePBX::Userman()->getCombinedGlobalSettingByID($um['id'], 'pbx_modules');
                 $user["sections"] = !empty($sections) && is_array($sections) ? $sections : array();
                 $user["opmode"] = FreePBX::Userman()->getCombinedGlobalSettingByID($um['id'], 'opmode');
                 return $user;
             } catch (Exception $e) {
             }
             //fail-through
         //fail-through
         case "database":
         default:
             $sql = "SELECT username, password_sha1, extension_low, extension_high, deptname, sections FROM ampusers WHERE username = ?";
             $sth = FreePBX::Database()->prepare($sql);
             $sth->execute(array($username));
             $results = $sth->fetchAll(\PDO::FETCH_ASSOC);
             if (count($results) > 0) {
                 $user = array();
                 $user["username"] = $results[0]['username'];
                 $user["password_sha1"] = $results[0]['password_sha1'];
                 $user["extension_low"] = $results[0]['extension_low'];
                 $user["extension_high"] = $results[0]['extension_high'];
                 $user["sections"] = explode(";", $results[0]['sections']);
                 return $user;
             } else {
                 return false;
             }
             break;
     }
 }
开发者ID:lidl,项目名称:framework,代码行数:47,代码来源:ampuser.class.php

示例14: convertDestDatabase

 public function convertDestDatabase()
 {
     $db = \FreePBX::Database();
     $res = $db->query("SELECT * FROM `custom_destinations`")->fetchAll(\PDO::FETCH_ASSOC);
     foreach ($res as $row) {
         $tmparr = array("target" => $row['custom_dest'], "notes" => $row['notes'], "description" => $row['description'], "destret" => false);
         $this->addCustomDest($tmparr);
     }
     // We're done. Delete it, now!
     $res = $db->query("DROP TABLE `custom_destinations`");
 }
开发者ID:umjinsun12,项目名称:dngshin,代码行数:11,代码来源:Customappsreg.class.php

示例15: superfecta_hookProcess_core

function superfecta_hookProcess_core($viewing_itemid, $request)
{
    $db = \FreePBX::Database();
    // TODO: move sql to functions superfecta_did_(add, del, edit)
    if (!isset($request['action'])) {
        return;
    }
    $result = '';
    switch ($request['action']) {
        case 'addIncoming':
            if ($request['enable_superfecta'] == 'yes') {
                $sql = "REPLACE INTO superfecta_to_incoming (extension, cidnum, scheme) values (:extension, :cidnum,:superfecta_scheme)";
                $q = $db->prepare($sql);
                $q->bindParam(':extension', $request['extension'], \PDO::PARAM_STR);
                $q->bindParam(':cidnum', $request['cidnum'], \PDO::PARAM_STR);
                $q->bindParam(':superfecta_scheme', $request['superfecta_scheme'], \PDO::PARAM_STR);
                $q->execute();
                $result = $db->lastInsertId();
            }
            break;
        case 'delIncoming':
            $extarray = explode('/', $request['extdisplay'], 2);
            if (count($extarray) == 2) {
                $sql = "DELETE FROM superfecta_to_incoming WHERE extension = :extension AND cidnum = :cidnum";
                $q = $db->prepare($sql);
                $q->bindParam(':extension', $extarray[0], \PDO::PARAM_STR);
                $q->bindParam(':cidnum', $extarray[1], \PDO::PARAM_STR);
                $q->execute();
                $result = $db->lastInsertId();
            }
            break;
        case 'edtIncoming':
            // deleting and adding as in core module
            $extarray = explode('/', $request['extdisplay'], 2);
            if (count($extarray) == 2) {
                $sql = "DELETE FROM superfecta_to_incoming WHERE extension = :extension AND cidnum = :cidnum";
                $q = $db->prepare($sql);
                $q->bindParam(':extension', $extarray[0], \PDO::PARAM_STR);
                $q->bindParam(':cidnum', $extarray[1], \PDO::PARAM_STR);
                $q->execute();
            }
            if ($request['enable_superfecta'] == 'yes') {
                $sql = "REPLACE INTO superfecta_to_incoming (extension, cidnum, scheme) values (:extension, :cidnum,:superfecta_scheme)";
                $q = $db->prepare($sql);
                $q->bindParam(':extension', $request['extension'], \PDO::PARAM_STR);
                $q->bindParam(':cidnum', $request['cidnum'], \PDO::PARAM_STR);
                $q->bindParam(':superfecta_scheme', $request['superfecta_scheme'], \PDO::PARAM_STR);
                $q->execute();
                $result = $db->lastInsertId();
            }
            break;
    }
    return $result;
}
开发者ID:klagler,项目名称:Caller-ID-Superfecta,代码行数:54,代码来源:functions.inc.php


注:本文中的FreePBX::Database方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。