function featurecodeadmin_update($req) { foreach ($req as $key => $item) { // Split up... // 0 - action // 1 - modulename // 2 - featurename $arr = explode("#", $key); if (count($arr) == 3) { $action = $arr[0]; $modulename = $arr[1]; $featurename = $arr[2]; $fieldvalue = $item; // Is there a more efficient way of doing this? switch ($action) { case "ena": $fcc = new featurecode($modulename, $featurename); if ($fieldvalue == 1) { $fcc->setEnabled(true); } else { $fcc->setEnabled(false); } $fcc->update(); break; case "custom": $fcc = new featurecode($modulename, $featurename); if ($fieldvalue == $fcc->getDefault()) { $fcc->setCode(''); // using default } else { $fcc->setCode($fieldvalue); } $fcc->update(); break; } } } needreload(); }
public function update($codes = array()) { if (!empty($codes)) { foreach ($codes as $module => $features) { foreach ($features as $name => $data) { $fcc = new \featurecode($module, $name); if (!empty($data['enable'])) { $fcc->setEnabled(true); } else { $fcc->setEnabled(false); } if (empty($data['customize']) || $data['code'] == $fcc->getDefault()) { $fcc->setCode(''); } else { $fcc->setCode($data['code']); } $fcc->update(); } } needreload(); } }
function miscapps_edit($miscapps_id, $description, $ext, $dest, $enabled = true) { global $db; $sql = "UPDATE miscapps SET " . "description = '" . $db->escapeSimple($description) . "', " . "ext = '" . $db->escapeSimple($ext) . "', " . "dest = '" . $db->escapeSimple($dest) . "' " . "WHERE miscapps_id = " . $db->escapeSimple($miscapps_id); $result = $db->query($sql); if (DB::IsError($result)) { die_freepbx($result->getMessage() . $sql); } $fc = new featurecode('miscapps', 'miscapp_' . $miscapps_id); $fc->setDescription($description); $fc->setDefault($ext, true); $fc->setEnabled($enabled); $fc->update(); }
$list = daynight_list(); foreach ($list as $item) { $id = $item['ext']; $fc_description = $item['dest']; $fcc = new featurecode('daynight', 'toggle-mode-' . $id); if ($fc_description) { $fcc->setDescription("{$id}: {$fc_description}"); } else { $fcc->setDescription("{$id}: Day Night Control"); } $fcc->setDefault('*28' . $id); if ($code != '*28' && $code != '') { $fcc->setCode($code . $id); } if (!$enabled) { $fcc->setEnabled(false); } $fcc->update(); unset($fcc); } } // Sqlite3 does not like this syntax, but no migration needed since it started in 2.5 // if ($amp_conf["AMPDBENGINE"] != "sqlite3") { outn(_("changing primary keys to all fields..")); $sql = 'ALTER TABLE `daynight` DROP PRIMARY KEY , ADD PRIMARY KEY ( `ext` , `dmode` , `dest` )'; $results = $db->query($sql); if (DB::IsError($results)) { out(_("ERROR: failed to alter primary keys ") . $results->getMessage()); } else { out(_("OK"));
public function edit($miscapps_id, $description, $ext, $dest, $enabled = true) { $db = $this->db; $sql = 'UPDATE miscapps SET description = ?, ext = ?, dest = ? WHERE miscapps_id = ?'; $q = $db->prepare($sql); $q->execute(array($description, $ext, $dest, $miscapps_id)); if ($q) { $fc = new \featurecode('miscapps', 'miscapp_' . $miscapps_id); $fc->setDescription($description); $fc->setDefault($ext, true); $fc->setEnabled($enabled); $fc->update(); } }