function manager_hook_phpagiconf($viewing_itemid, $target_menuid) { global $db; switch ($target_menuid) { case 'phpagiconf': $sql = "SELECT asman_user FROM phpagiconf"; $res = $db->getRow($sql, DB_FETCHMODE_ASSOC); if (DB::IsError($res)) { return null; } $selectedmanager = $res['asman_user']; break; } $output = "<tr><td><a href=\"#\" class=\"info\">" . _("Choose Manager:") . "<span>" . _("Choose the user that PHPAGI will use to connect the Asterisk API.") . "</span></a></td><td><select name=\"asmanager\">"; $selected = ""; $managers = manager_list(); foreach ($managers as $manager) { $manager['name'] === $selectedmanager ? $selected = "selected=\"selected\"" : ($selected = ""); $output .= "<option value=\"" . $manager['name'] . "/" . $manager['secret'] . "\" {$selected}>" . $manager['name']; } $output .= "</select></td></tr>"; return $output; }
break; case "delete": manager_del($managerdisplay); manager_gen_conf(); needreload(); break; case "edit": //just delete and re-add manager_del($_REQUEST['name']); $rights = manager_format_in($_REQUEST); manager_add($_REQUEST['name'], $_REQUEST['secret'], $_REQUEST['deny'], $_REQUEST['permit'], $rights['read'], $rights['write']); manager_gen_conf(); needreload(); break; } $managers = manager_list(); ?> </div> <!-- right side menu --> <div class="rnav"> <li><a id="<?php echo $managerdisplay == '' ? 'current' : ''; ?> " href="config.php?mode=settings&display=<?php echo urlencode($dispnum); ?> "><?php echo _("Add Manager"); ?>
function manager_add($p_name, $p_secret, $p_deny, $p_permit, $p_read, $p_write) { $managers = manager_list(); if (is_array($managers)) { foreach ($managers as $manager) { if ($manager['name'] === $p_name) { echo "<script>javascript:alert('" . _("This manager already exists") . "');</script>"; return false; } } } $results = sql("INSERT INTO manager set name='{$p_name}' , secret='{$p_secret}' , deny='{$p_deny}' , permit='{$p_permit}' , `read`='{$p_read}' , `write`='{$p_write}'"); }