function BlockPlayer($check, $sid, $num, $type, $length) { $objResponse = new xajaxResponse(); global $userbank, $username; $sid = (int) $sid; $length = (int) $length; if (!$userbank->HasAccess(ADMIN_OWNER | ADMIN_ADD_BAN)) { $objResponse->redirect("index.php?p=login&m=no_access", 0); $log = new CSystemLog("w", "Hacking Attempt", $username . " tried to process a playerblock, but doesnt have access."); return $objResponse; } //get the server data $sdata = $GLOBALS['db']->GetRow("SELECT ip, port, rcon FROM " . DB_PREFIX . "_servers WHERE sid = '" . $sid . "';"); //test if server is online if ($test = @fsockopen($sdata['ip'], $sdata['port'], $errno, $errstr, 2)) { @fclose($test); require_once INCLUDES_PATH . "/CServerRcon.php"; $r = new CServerRcon($sdata['ip'], $sdata['port'], $sdata['rcon']); if (!$r->Auth()) { $GLOBALS['db']->Execute("UPDATE " . DB_PREFIX . "_servers SET rcon = '' WHERE sid = '" . $sid . "' LIMIT 1;"); $objResponse->addAssign("srv_{$num}", "innerHTML", "<font color='red' size='1'>Wrong RCON Password, please change!</font>"); $objResponse->addScript('set_counter(1);'); return $objResponse; } $ret = $r->rconCommand("status"); // show hostname instead of the ip, but leave the ip in the title require_once "../includes/system-functions.php"; $hostsearch = preg_match_all('/hostname:[ ]*(.+)/', $ret, $hostname, PREG_PATTERN_ORDER); $hostname = trunc(htmlspecialchars($hostname[1][0]), 25, false); if (!empty($hostname)) { $objResponse->addAssign("srvip_{$num}", "innerHTML", "<font size='1'><span title='" . $sdata['ip'] . ":" . $sdata['port'] . "'>" . $hostname . "</span></font>"); } $gothim = false; $search = preg_match_all(STATUS_PARSE, $ret, $matches, PREG_PATTERN_ORDER); //search for the steamid on the server foreach ($matches[3] as $match) { if (substr($match, 8) == substr($check, 8)) { // gotcha!!! kick him! $gothim = true; $GLOBALS['db']->Execute("UPDATE `" . DB_PREFIX . "_comms` SET sid = '" . $sid . "' WHERE authid = '" . $check . "' AND RemovedBy IS NULL;"); $requri = substr($_SERVER['REQUEST_URI'], 0, strrpos($_SERVER['REQUEST_URI'], "pages/admin.blockit.php")); $kick = $r->sendCommand("sc_fw_block " . $type . " " . $length . " " . $match); $objResponse->addAssign("srv_{$num}", "innerHTML", "<font color='green' size='1'><b><u>Player Found & blocked!!!</u></b></font>"); $objResponse->addScript("set_counter('-1');"); return $objResponse; } } if (!$gothim) { $objResponse->addAssign("srv_{$num}", "innerHTML", "<font size='1'>Player not found.</font>"); $objResponse->addScript('set_counter(1);'); return $objResponse; } } else { $objResponse->addAssign("srv_{$num}", "innerHTML", "<font color='red' size='1'><i>Can't connect to server.</i></font>"); $objResponse->addScript('set_counter(1);'); return $objResponse; } }
function ws_menu($window_name, $form = '') { global $conf, $images; $html = $js = ''; // If an array in a string was provided, build the array and store it in $form $form = parse_options_string($form); printmsg("DEBUG => Displaying tooltip: {$form['tooltip']}", 4); $menuname = 'get_html_' . $form['menu_name']; list($html, $js) = $menuname($form); // Okay here's what we do: // 1. Hide the tool-tip // 2. Update it's content // 3. Reposition it // 4. Unhide it $response = new xajaxResponse(); if ($html) { $response->addScript("el('{$form['id']}').style.visibility = 'hidden';"); $response->addAssign($form['id'], "innerHTML", $html); $response->addScript("wwTT_position('{$form['id']}'); el('{$form['id']}').style.visibility = 'visible';"); } if ($js) { $response->addScript($js); } return $response->getXML(); }
function abrirNavFotos($id) { $objResponse = new xajaxResponse(); $codigo = ''; $objResponse->addScript("xajax_loadNavFotos(" . $id . ")"); $objResponse->addScript("desplegarDiv()"); return $objResponse; }
function updateInBox($usua_doc) { $xres = new xajaxResponse(); $ruta_raiz = "."; include_once "{$ruta_raiz}/include/db/ConnectionHandler.php"; $db = new ConnectionHandler("{$ruta_raiz}"); $db->conn->SetFetchMode(ADODB_FETCH_ASSOC); switch ($db->driver) { case 'oci8': $query = "SELECT * FROM SGD_NOVEDAD_USUARIO WHERE USUA_DOC='{$usua_doc}'"; break; case 'postgres': $campo = '"USUA_DOC"'; $query = "SELECT * FROM SGD_NOVEDAD_USUARIO WHERE {$campo}='{$usua_doc}'"; break; } $rs = $db->query($query); //var_dump($query); while (!$rs->EOF) { $xres->addScript("var lf=screen.width-380; var tp=screen.height-200; window.open('alert.php', 'ORFEO :: Bandeja de Entrada','width=460, height=200, status=0, toolbar=0, resizable=0, scrollbars=1, location=0, left='+lf+',top='+tp);"); $rs->moveNext(); } $xres->addAssign("folders", "innerHTML", ob_get_clean()); return utf8_encode($xres->getXML()); }
function ws_delete($window_name, $form = '') { global $base, $include, $conf, $self, $onadb; // Check permissions if (!(auth('host_del') or auth('subnet_del'))) { $response = new xajaxResponse(); $response->addScript("alert('Permission denied!');"); return $response->getXML(); } // If an array in a string was provided, build the array and store it in $form $form = parse_options_string($form); // Instantiate the xajaxResponse object $response = new xajaxResponse(); $js = ''; // Run the module list($status, $output) = run_module('tag_del', array('tag' => $form['id'], 'commit' => 'Y')); // If the module returned an error code display a popup warning if ($status) { $js .= "alert('Delete failed. " . preg_replace('/[\\s\']+/', ' ', $self['error']) . "');"; } else { // If there's (refresh) js, send it to the browser if ($form['js']) { $js .= $form['js']; } } // Return an XML response $response->addScript($js); return $response->getXML(); }
function get_bed($inputId, $id, $id_sel = NULL) { $objResponse = new xajaxResponse(); $kon = new Konek; $kon->sql = "SELECT id,nomor FROM ref_kamar WHERE pelayanan_id = '".$id."' AND status=0 ORDER BY nomor"; $kon->execute(); $data = $kon->getAll(); $objResponse->addAssign($inputId, "options.length", "1"); for($i=0;$i<sizeof($data);$i++) { if($data[$i][id] == $id_sel) $objResponse->addScript("addOption('".$inputId."','".$inputId."kamar_".$data[$i][id]."','".$data[$i][nama]."','".$data[$i][id]."',false,true);"); else $objResponse->addScript("addOption('".$inputId."','".$inputId."_kamar_".$data[$i][id]."','".$data[$i][nama]."','".$data[$i][id]."',false,false);"); } //$objResponse->addScript("addOption('".$inputId."','".$inputId."_tidak_ada_dokter','Dokter Lain','',false,false);"); return $objResponse; }
function tutup_resep_rawat_jalan() { $objResponse = new xajaxResponse; $objResponse->addScriptCall("enable_mainbar"); $objResponse->addAssign("modal_resep_rawat_jalan", "style.display", "none"); $objResponse->addScript("document.getElementById('input_resep_rawat_jalan').reset()"); return $objResponse; }
function disconnectUser($dn_name, $us_login) { global $auth; $objResponse = new xajaxResponse(); $auth->disconnectUser($dn_name, $us_login); $objResponse->addScript("document.location='connected_users.php'"); return $objResponse->getXML(); }
/** * initialize page elements * */ function init() { global $locate; $objResponse = new xajaxResponse(); $objResponse->addAssign("divNav", "innerHTML", common::generateManageNav($skin)); $objResponse->addAssign("divCopyright", "innerHTML", common::generateCopyright($skin)); $objResponse->addScript("xajax_showGrid(0," . ROWSXPAGE . ",'','','')"); return $objResponse; }
/** * show extension status * @return objResponse object xajax response object */ function showStatus($curhover) { $objResponse = new xajaxResponse(); $html .= "<br><br><br><br>"; $html .= asterEvent::checkExtensionStatus(0, 'table', $curhover); $objResponse->addAssign("divStatus", "innerHTML", $html); $objResponse->addScript("menuFix();"); return $objResponse; }
function init() { global $locate; //,$config,$db; $objResponse = new xajaxResponse(); $objResponse->addAssign("divNav", "innerHTML", common::generateManageNav($skin, $_SESSION['curuser']['country'], $_SESSION['curuser']['language'])); $objResponse->addAssign("divCopyright", "innerHTML", common::generateCopyright($skin)); $objResponse->addScript("xajax_showGrid(0," . ROWSXPAGE . ",'','','')"); return $objResponse; }
/** * callback if the session-check fails, redirects via xajax to login.php * * @param array &$anon_account anon account_info with keys 'login', 'passwd' and optional 'passwd_type' * @return boolean/string true if we allow anon access and anon_account is set, a sessionid or false otherwise */ function xajax_redirect(&$anon_account) { // now the header is included, we can set the charset $GLOBALS['xajax']->setCharEncoding('utf-8'); define('XAJAX_DEFAULT_CHAR_ENCODING', 'utf-8'); $response = new xajaxResponse(); $response->addScript("location.href='" . $GLOBALS['phpgw_info']['server']['webserver_url'] . '/login.php?cd=10' . "';"); header('Content-type: text/xml; charset=' . 'utf-8'); echo $response->getXML(); $GLOBALS['phpgw']->common->phpgw_exit(); }
function chkPassword($value) { $mtview_controller = new MTViewController(); $matchResult = $mtview_controller->xajaxObjCall($value, 'CPW', 'password'); $objResponse = new xajaxResponse(); if ($matchResult) { $objResponse->addScript("addUpdate();"); } else { $objResponse->addAlert($GLOBALS['lang_Admin_Users_ErrorsPasswordMismatch']); } return $objResponse->getXML(); }
function deleteEntry($entry_id) { $CI =& get_instance(); $CI->load->model('feedback_model'); $xajax_response = new xajaxResponse(); if (is_numeric($entry_id) && $CI->feedback_model->DeleteFeedback($entry_id)) { $xajax_response->addAssign('new_entries', 'innerHTML', $CI->feedback_model->GetFeedbackCount()); $xajax_response->addAssign('deleted_entries', 'innerHTML', $CI->feedback_model->GetFeedbackCount(1)); $xajax_response->addAssign('feedback' . $entry_id, 'innerHTML', 'DELETED!'); $xajax_response->addScript('Effect.BlindUp(\'container' . $entry_id . '\');'); } else { $xajax_response->addAlert('Error deleting entry ' . $entry_id . ', reload the page and try again.'); } return $xajax_response; }
function _list() { $this->load->model('static_model'); $list = $this->static_model->GetDirectoryListing($this->config->item('static_local_path') . '/podcasts', '', array('mp3')); $db_list = $this->podcasts_model->Get_Fnames(); $arguments = ''; foreach ($list as $fname) { if (!in_array($fname, $db_list)) { $arguments = $arguments . ',"' . str_replace(array('/', '\\'), '', $fname) . '"'; } } $objResponse = new xajaxResponse(); $objResponse->addScript('list_response(' . substr($arguments, 1) . ');'); return $objResponse; }
/** * This function updates the progress bar * @param div_id where the progress bar is displayed * @param upload_id the identifier given in the field UPLOAD_IDENTIFIER */ function updateProgress($div_id, $upload_id, $waitAfterupload = false) { $objResponse = new xajaxResponse(); $ul_info = uploadprogress_get_info($upload_id); $percent = intval($ul_info['bytes_uploaded'] * 100 / $ul_info['bytes_total']); if ($waitAfterupload && $ul_info['est_sec'] < 2) { $percent = 100; $objResponse->addAssign($div_id . '_label', 'innerHTML', get_lang('UploadFile') . ' : ' . $percent . ' %'); $objResponse->addAssign($div_id . '_waiter_frame', 'innerHTML', '<img src="' . api_get_path(WEB_CODE_PATH) . 'img/progress_bar.gif" />'); $objResponse->addScript('clearInterval("myUpload.__progress_bar_interval")'); } $objResponse->addAssign($div_id . '_label', 'innerHTML', get_lang('UploadFile') . ' : ' . $percent . ' %'); $objResponse->addAssign($div_id . '_filled', 'style.width', $percent . '%'); return $objResponse; }
function scribble($aFormValues) { $sHandle = $aFormValues['handle']; $sWords = $aFormValues['words']; $objResponse = new xajaxResponse(); $objGraffiti = new graffiti($sHandle, $sWords); $sErrMsg = $objGraffiti->save(); if (!$sErrMsg) { $objResponse->addScript("xajax_updateWall();"); $objResponse->addClear("words", "value"); } else { $objResponse->addAlert($sErrMsg); } return $objResponse; }
function tuitealo($form, $tipo) { if ($tipo == 'formulario') { $formulario = formulario_areas('15', 'campos'); $descripcion = remplacetas('form_id', 'id', '15', 'descripcion', ""); $nombre = remplacetas('form_id', 'id', '15', 'nombre', ""); $formulario = "\n\n\t\t<h1 >{$nombre['0']}</h1>\n\t\t<h2>{$descripcion['0']}</h2>\n\t<form id='form_tuitealo' >\n\t {$formulario}\n\t<br>\n\n\t<div id='tuitealo_div'>\n\t\t<div id='tuitealo_error'></div>\n\t<a class='btn btn-block btn-primary' onclick=\"xajax_tuitealo(xajax.getFormValues('form_tuitealo'),'previsualizar');\">Previsualizar</a>\n\t</div>\n</form>\n\t</div>\n\t<br>\n\t<div class='text-center'>\n\t<p class='text-center'>Powered by: <a href='http://qwerty.co/milfs'>MIFS</a></p> \t\n\t</div>\n\n\t<br>\t\t\n\t\t\n\t\t"; return $formulario; } $respuesta = new xajaxResponse('utf-8'); $sujeto = $form[84][0]; $accion = $form[85][0]; $verbo = $form[86][0]; $tiempo = $form[87][0]; $ht = $form[88][0]; $mensaje = $form[83][0]; $arroba = $form[82][0]; if ($accion == "" or $verbo == "" or $tiempo == "" or $ht == "" or $arroba == "") { $error = "<div class='alert alert-warning text-center'><h1><i class='fa fa-exclamation-triangle'></i> Hay campos vacíos</h1></div>"; $respuesta->addAssign("tuitealo_error", "innerHTML", "{$error}"); return $respuesta; } $arroba = remplacetas('form_datos', 'control', "{$arroba}", 'contenido', "id_campo = '77'"); $arroba = $arroba[0]; $url_propia = urlencode("http://patos.redpatodos.co"); $texto = "{$sujeto} {$accion} {$verbo} {$tiempo} {$ht} {$mensaje} cc {$arroba} "; $texto = ucfirst($texto); $texto_url = urlencode($texto); $largo = strlen($texto . $url_propia); if ($largo > 140) { $alert = "danger"; $mensaje = "<i class='fa fa-exclamation-triangle'></i> El texto es demasiado largo y se recortará"; $texto = substr($texto, 0, 140) . "..."; } else { $alert = 'success'; $mensaje = ""; } $url = "https://twitter.com/share?url={$url_propia}&text={$texto_url}"; $previsualizar = "<br> \n\t\t\t\n\t\t<div id='tuitealo_error'></div>\t\n\t<div class='alert alert-{$alert}'><div class='badge'>{$largo}</div>{$mensaje}<h1>{$texto}</h1></div>\n\n\t<a class='btn btn-block btn-primary' onclick=\"xajax_tuitealo(xajax.getFormValues('form_tuitealo'),'previsualizar');\">Previsualizar</a>\n\t<a class='btn btn-block btn-success' onclick=\"xajax_tuitealo(xajax.getFormValues('form_tuitealo'),'confirmar');\">Tuitéalo</a>\n\t<img style='width:1px;' src='milfs/images/100x100.png' \n\t\t\tonload=\"\n\t\t\tdocument.getElementById('82[0]').onchange = function(){xajax_tuitealo(xajax.getFormValues('form_tuitealo'),'previsualizar')};\n\t\t\tdocument.getElementById('83[0]').onkeyup = function(){xajax_tuitealo(xajax.getFormValues('form_tuitealo'),'previsualizar')};\n\t\t\tdocument.getElementById('84[0]').onchange = function(){xajax_tuitealo(xajax.getFormValues('form_tuitealo'),'previsualizar')};\n\t\t\tdocument.getElementById('85[0]').onchange = function(){xajax_tuitealo(xajax.getFormValues('form_tuitealo'),'previsualizar')};\n\t\t\tdocument.getElementById('86[0]').onchange = function(){xajax_tuitealo(xajax.getFormValues('form_tuitealo'),'previsualizar')};\n\t\t\tdocument.getElementById('87[0]').onchange = function(){xajax_tuitealo(xajax.getFormValues('form_tuitealo'),'previsualizar')};\n\t\t\tdocument.getElementById('88[0]').onchange = function(){xajax_tuitealo(xajax.getFormValues('form_tuitealo'),'previsualizar')};\n\t\t\t\n\t\t\t\" >\n\t"; if ($tipo == "previsualizar") { $respuesta->addAssign("tuitealo_div", "innerHTML", "{$previsualizar}"); //$respuesta->addAlert("$texto $url"); } else { ///$respuesta->addAssign("tuitealo_div","innerHTML","$url"); $respuesta->addScript("window.location.href ='{$url}';"); } return $respuesta; }
function showEditEmpStatForm($estatCode) { $view_controller = new ViewController(); $editArr = $view_controller->xajaxObjCall($estatCode, 'JOB', 'editEmpStat'); $objResponse = new xajaxResponse(); $objResponse->addScript("document.frmJobTitle.txtEmpStatDesc.disabled = false;"); $objResponse->addScript("document.frmJobTitle.txtEmpStatID.value = '" . $editArr[0][0] . "';"); $objResponse->addScript("document.frmJobTitle.txtEmpStatDesc.value = '" . $editArr[0][1] . "';"); $objResponse->addScript("document.frmJobTitle.txtEmpStatDesc.focus();"); $objResponse->addScript("document.frmJobTitle.txtEmpStatDesc.selectAll();"); $objResponse->addScript("document.getElementById('layerEmpStat').style.visibility='visible';"); $objResponse->addScript("document.getElementById('btnEmpStat').onclick=editFormData;"); $objResponse->addAssign('status', 'innerHTML', ''); return $objResponse->getXML(); }
function ws_process_alerts_submit($window_name, $form = '') { global $conf, $self, $onadb, $tip_style; global $font_family, $color, $style, $images; $html = $js = ''; // If an array in a string was provided, build the array and store it in $form $form = parse_options_string($form); printmsg("DEBUG => Processing Alerts:", 5); // FIXME: this code is called from html_desktop.inc.php.. however it is failing to process for some reason // The intent of this code is to be called to display a "message waiting" type icon in the top menu bar. // Check for messages that begin with SYS_ in the table_name_ref column list($status, $rows, $msg) = db_get_record($onadb, 'messages', "table_name_ref LIKE 'SYS_%'"); if ($rows) { $js .= "if (el('sys_alert')) {el('sys_alert').style.visibility = 'visible';}"; } else { $js .= "if (el('sys_alert')) {el('sys_alert').style.visibility = 'hidden';}"; } $response = new xajaxResponse(); if ($js) { $response->addScript($js); } return $response->getXML(); }
function reset_pasien () { $objResponse = new xajaxResponse(); $objResponse->addScript("document.tambah_pasien.reset()"); $objResponse->addClear("id_pasien", "value"); $objResponse->addAssign("list_tombol_besar_kunjungan", "style.display", "none"); //$objResponse->addScriptCall("fokus", "id"); return $objResponse; }
function registro_express($formulario, $accion) { $formulario = mysql_seguridad($formulario); // if(is_array($formulario) ){$nombre_formulario = $formulario['nombre_formulario'];}else{$nombre_formulario = "$formulario";} if ($nombre_formulario == "") { $nombre_formulario = "login"; } /* foreach($formulario as $c=>$v){ //LISTA ELEMENTOS DE UN ARRAY if (is_array($v) ){ foreach($v as $C=>$V){ if($V != '') {$resultado .= "$$c = \$formulario[$c][$C]; // <b>$V</b> </p>";} } } else { if($v !='') {$resultado .= "$$c = \$formulario[$c]; // <b>$v</b> </p>";} } } */ $boton = "<div class='btn btn-block btn-success' onclick=\"xajax_registro_express(xajax.getFormValues('{$nombre_formulario}'),'confirmar')\">Grabar </div>"; $respuesta = new xajaxResponse('utf-8'); if ($accion == 'confirmar') { $div = "registro_confirmacion_email"; if ($formulario[password_express_confirmar] == "" or $formulario[password_express_confirmar] != $formulario[password_express]) { $resultado = "<div class='alert alert-danger'>Por favor escribe y confirma una clave.</div> {$boton}"; $respuesta->addAssign("password_express" . "_grupo", "className", " input-group has-error "); $respuesta->addAlert("Por favor escribe y confirma la clave"); $respuesta->addScript("document.getElementById('password_express').focus(); "); $respuesta->addAssign("{$div}", "innerHTML", $resultado); return $respuesta; } if ($formulario[email_express_confirmar] != "") { $email_envio = $formulario['email_express_confirmar']; $rrn = rand(123, 999); $rrncode = MD5("{$rrn}"); // $aviso= aviso('','mail privacidad',''); $direccion = remplacetas("empresa", "id", $id_empresa, "direccion", ""); $telefono = remplacetas("empresa", "id", $id_empresa, "telefono", ""); $web = remplacetas("empresa", "id", $id_empresa, "web", ""); $email = remplacetas("empresa", "id", $id_empresa, "email", ""); $imagen = remplacetas("empresa", "id", $id_empresa, "imagen", ""); $razon_social = remplacetas("empresa", "id", $id_empresa, "razon_social", ""); $slogan = remplacetas("empresa", "id", $id_empresa, "slogan", ""); $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; $headers .= "From: Comunidad QWERTY.co <*****@*****.**>\r\n"; $headers .= "Reply-To: comunidad@qwerty.co\r\n"; $headers .= "Return-path: comunidad@qwerty.co\r\n"; $asunto = "Código de validación"; $cuerpo = "\n<div style='border: solid 1px; padding:20px ; border-radius: 10px; background-color:#E6F8E0 '>\n<h1>Comunidad QWERTY.co</h1>\n\n<hr />\n<h3>Código de validación</h3>\n<p>Bienvenido a nuestra comunidad <strong>QWERTY.co<strong> Por favor digita el siguente código para validar tu cuenta.</p>\n<H1>{$rrn}</H1>\n\n\n<h3>Toda la ayuda que necesitas la puedes encontrar en nuestra sección de respuestas a preguntas frecuentes: http://qwerty.co/faq.</h3>\n</div>\n\t\t{$aviso}\n\t\t\t"; mail("{$email_envio}", "{$asunto}", "{$cuerpo}", "{$headers}"); $boton = "<div class='btn btn-block btn-success' onclick=\"xajax_registro_express(xajax.getFormValues('{$nombre_formulario}'),'validar');\">Confirmar</div>"; $control = MD5(mktime() . $rrncode); $resultado .= "\n\t\t<div class='row'>\n\t\t\t<div class='col-sm-2'>\n\t\t\t</div>\n\t\t\t<div class='col-sm-8'>\n\t\t\t\t<div class='form-group has-error' id='codigo_confirmacion'>\n\t\t\t\t<span class='help-block'>Escribe el código de confirmación <strong>{$rrn}</strong></span>\n\t\t\t\t\t<div class='input-group' id=''>\n\t\t\t\t\t\t<span class='input-group-addon'>\n\t\t\t\t\t\t\t<i class='fa fa-key'></i>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<input type='hidden' id='rrn' name='rrn' value='{$rrncode}'>\n\t\t\t\t\t\t<input type='hidden' id='hidden' name='control' value='{$control}'>\n\t\t\t\t\t\t<input type='number' id='codigo_confirmacion' name='codigo_confirmacion' placeholder='Codigo de validación' class='form-control'> \n\t\t\t\t\t</div>\n\t\t\t\t\n\t\t\t\t</div>\n\t\t\t</div>\t\t\t\n\t\t\t<div class='col-sm-2'>\n\t\t\t\n\t\t\t</div>\n\t\t</div>\t\n\t{$boton}\n\t"; } else { $resultado .= "{$boton} <div class='alert alert-danger'>No hay un email válido </div>"; } $respuesta->addAssign("{$div}", "innerHTML", $resultado); return $respuesta; } elseif ($accion == "elegir") { $form = "\n<div id='login_express'>\n\t<div class='' id='datos_usuario'>\n\t\t<div class='row' id=''>\t\n\t\t\t<div class='col-sm-6'>\n\t\t\t\t<div class='btn btn-primary btn-block' onclick=\"xajax_registro_express(xajax.getFormValues('{$nombre_formulario}'),'nuevo');\" >Usuario nuevo</div>\n\t\t\t</div>\n\t\t\t<div class='col-sm-6'>\n\t\t\t\t<div class='btn btn-success btn-block' data-target=\"#modal_login\" data-toggle=\"modal\" >Ya estoy registrado</div>\n\t\t\t<div>\n\t\t</div>\n\n\t</div>\n</div>\n\t\t <a target='_blank' href='http://qwerty.co/faq/category/19/privacidad-y-protecci%C3%B3n-de-datos.html'>Antes de continuar, por favor revisa nuestras Políticas de privacidad y protección de datos.</a> </p> \n\t\t "; return $form; } elseif ($accion == "validar") { $boton = "<div class='btn btn-block btn-success' onclick=\"xajax_registro_express(xajax.getFormValues('{$nombre_formulario}'),'confirmar');\">Confirmar</div>"; $div = "registro_confirmacion_email"; if ($formulario[password_express_confirmar] == "" or $formulario[password_express_confirmar] != $formulario[password_express]) { $resultado = "<div class='alert alert-danger'>Por favor escribe y confirma una clave.</div> {$boton}"; $respuesta->addAssign("password_express" . "_grupo", "className", " input-group has-error "); $respuesta->addAlert("Por favor escribe y confirma la clave"); $respuesta->addScript("document.getElementById('password_express').focus(); "); $respuesta->addAssign("{$div}", "innerHTML", $resultado); return $respuesta; } $codigo_confirmacion = $formulario[codigo_confirmacion]; // $rrn = $formulario[rrn]; // $codificado = md5("{$codigo_confirmacion}"); if ($rrn == $codificado) { $control = $formulario[control]; // nuevo_ $nombre_formulario = $formulario[nombre_formulario]; // nuevo_ $email_express = $formulario[email_express]; // aa@gmail.com $email_express_confirmar = $formulario[email_express_confirmar]; // aa@gmail.com $nombre_express = $formulario[nombre_express]; // nombre $apellido_express = $formulario[apellido_express]; // apellido $telefono_express = $formulario[telefono_express]; // 324343 $password_express = $formulario[password_express]; // 1234 $password_express_confirmar = $formulario[password_express_confirmar]; // 23456 $ip = obtener_ip(); $link = Conectarse(); mysql_query("SET NAMES 'utf8'"); $consulta = "INSERT INTO usuarios (username,p_nombre,p_apellido,email,bio,passwd,control,status,lastip,id_empresa) \n\t\t\t\tVALUES ('{$email_express_confirmar}','{$nombre_express}','{$apellido_express}','{$email_express_confirmar}','','" . MD5($password_express_confirmar) . "','{$control}','1','{$ip}','{$_SESSION['id_empresa']}')"; $sql_consulta = mysql_query($consulta, $link); if ($sql_consulta) { $id = mysql_insert_id(); $consulta_localizacion = "INSERT INTO localizacion (id_localizado,telefono,id_grupo) VALUES ('{$id}','{$telefono_express}','1')"; $consulta_empresa = "INSERT INTO empresa SET razon_social = '{$nombre_express} {$nombre_express}', regimen_tributario = 'simplificado' ,id_responsable='{$id}'"; $sql_localizacion = mysql_query($consulta_localizacion, $link); //$sql_empresa=mysql_query($consulta_empresa,$link); if ($sql_empresa) { $id_empresa = mysql_insert_id(); $_SESSION[id_empresa] = $id_empresa; $_SESSION[id] = $id; } //// faltan variables de session } $resultado = "<div class='alert alert-success'><h1>Bienvenido</h1>\n<p>Felicitaciones, tu registro se efectuó correctamente, ahora puedes usar nuestros servicios.</p>\n</div>"; $div = "contenido"; $respuesta->addAssign("{$div}", "innerHTML", $resultado); return $respuesta; } else { $resultado = "<div class='alert alert-danger'><h3>Error</h3>El Código de confirmación no es correcto, por favor inténtalo nuevamente.</div>"; } $resultado .= "{$boton}"; $respuesta->addAssign("{$div}", "innerHTML", $resultado); return $respuesta; } elseif ($accion == "nuevo") { //$respuesta = new xajaxResponse('utf-8'); $div = "contenido"; $form = "\n<div class='alert alert-warning'>\n<form class='form' id='{$nombre_formulario}' name='{$nombre_formulario}' >\n<input type='hidden' value = 'nuevo_{$nombre_formato}' id='nombre_formulario' name='nombre_formulario' >\n\t<legend>Datos de contacto</legend>\n\t\t<div class='row'>\n\t\t\t<div class='col-sm-6'>\n\t\t\t\t<div class='input-group' id='email_express_grupo'>\n\t\t\t\t\t<span class='input-group-addon'>\n\t\t\t\t\t\t<i class='fa fa-envelope-o'></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<input value='' type='email' id='email_express' name='email_express' placeholder='Email' class='form-control'\n\t\t\t\t\t\tonclick=\"(this.value=''); \"\n\t\t\t\t\t \tonchange=\"xajax_validar_usuario('email',(this.value),'email_express','login'); \" > \n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class='col-sm-6'>\n\t\t\t\t\n\t\t\t\t<div class='input-group' id='email_express_confirmar_grupo'>\n\t\t\t\t\t<span class='input-group-addon'>\n\t\t\t\t\t\t<i class='fa fa-envelope'></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<input value='' type='email' id='email_express_confirmar' name='email_express_confirmar' placeholder='Confirmar email' class='form-control'\n\t\t\t\t\tonclick=\"(this.value=''); \"\n\t\t\t\t\tonchange= \"xajax_confirma_campo((document.getElementById('email_express').value),(this.value),'email_express','email_express_confirmar'); \" > \n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class='row'>\n\t\t\t<div class='col-sm-12'>\n\t\t\t\t<div class='input-group' id='nombre_express'>\n\t\t\t\t\t<span class='input-group-addon'>\n\t\t\t\t\t\t<i class='fa fa-user'></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<input type='text' id='nombre_express' name='nombre_express' placeholder='Nombre' class='form-control'> \n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class='row'>\n\t\t\t<div class='col-sm-12'>\n\t\t\t\t<div class='input-group' id='apellido_express'>\n\t\t\t\t\t<span class='input-group-addon'>\n\t\t\t\t\t\t<i class='fa fa-user '></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<input type='text' id='apellido_express' name='apellido_express' placeholder='Apellido' class='form-control'> \n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class='row'>\n\t\t\t<div class='col-sm-12'>\n\t\t\t\t<div class='input-group' id='telefono_express'>\n\t\t\t\t\t\n\t\t\t\t\t<span class='input-group-addon'>\n\t\t\t\t\t\t<i class='fa fa-phone'></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<input type='phone' id='telefono_express' name='telefono_express' placeholder='Teléfono' class='form-control' \n\t\t\t\t\tonclick=\"(this.value=''); \"> \n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class='row'>\n\t\t\t<div class='col-sm-6'>\n\t\t\t\t<div class='input-group' id='password_express_grupo'>\n\t\t\t\t\t<span class='input-group-addon'>\n\t\t\t\t\t\t<i class='fa fa-key'></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<input type='password' id='password_express' name='password_express' placeholder='Clave' class='form-control'\n\t\t\t\t\tonclick=\"(this.value=''); \"> \n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class='col-sm-6'>\n\t\t\t\t<div class='input-group' id='password_express_confirmar_grupo'>\n\t\t\t\t\t<span class='input-group-addon'>\n\t\t\t\t\t\t<i class='fa fa-lock'></i>\n\t\t\t\t\t</span>\n\t\t\t\t\t<input type='password' id='password_express_confirmar' name='password_express_confirmar' placeholder='Confirma tu clave' class='form-control'\n\t\t\t\t\tonclick=\"(this.value=''); \"\n\t\t\t\t\tonchange= \"xajax_confirma_campo((document.getElementById('password_express').value),(this.value),'password_express','password_express_confirmar'); \" > \n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class='row'>\n\t\t\t<div class='col-sm-12'>\n\t\t\t\t<br>\n\t\t\t\t<div id='registro_confirmacion_email'>\t\t\t\t\n{$boton}\n\t\t\t\t</div>\n\t\t\t\t\n\t\t\t</div>\n\t\t</div>\n\n</form>\n</div>\n"; $respuesta->addAssign("{$div}", "innerHTML", $form); return $respuesta; } elseif ($accion == "boton") { $modal = " \n\t\t<form class='navbar-form navbar-left' role='form' id='form_contacto' name='form_contacto'>\n <div class='form-group'>\n <input type='text' class='form-control input-small' placeholder='Email o usuario' id='email' name='email'>\n </div>\n <div class='form-group'>\n <input type='password' class='form-control input-small' placeholder='Clave ****' id='password' name='password'>\n </div>\n <div class='btn btn-default' onclick=\"xajax_revisar_ingreso(xajax.getFormValues('form_contacto')) ; \"><i class='fa fa-sign-in fa-fw'></i></div>\n </form>"; return; //$modal; } else { } $respuesta->addAssign("{$div}", "innerHTML", $resultado); return $respuesta; }
function ws_display_list($window_name, $form = '') { global $conf, $self, $onadb; global $images, $color, $style; $html = ''; $js = ''; // If the user supplied an array in a string, build the array and store it in $form $form = parse_options_string($form); // Find the "tab" we're on $tab = $_SESSION['ona'][$form['form_id']]['tab']; // Build js to refresh this list $refresh = "xajax_window_submit('{$window_name}', xajax.getFormValues('{$form['form_id']}'), 'display_list');"; // If this is the display_host screen that called, add refresh for DNS records too if ($form['content_id'] == 'display_host_list_interfaces') { $refresh .= "xajax_window_submit('list_records', xajax.getFormValues('list_records_filter_form'), 'display_list');"; } // If it's not a new query, load the previous query from the session // into $form and save the current page and filter in the session. // Also find/set the "page" we're viewing $page = 1; if ($form['page'] and is_numeric($form['page'])) { $form = array_merge($form, (array) $_SESSION['ona'][$form['form_id']][$tab]['q']); $_SESSION['ona'][$form['form_id']][$tab]['page'] = $page = $form['page']; $_SESSION['ona'][$form['form_id']][$tab]['filter'] = $form['filter']; } // Calculate the SQL query offset (based on the page being displayed) $offset = $conf['search_results_per_page'] * ($page - 1); if ($offset == 0) { $offset = -1; } // Search results go in here $results = array(); $count = 0; // Start building the "where" clause for the sql query to find the interfaces to display $where = ""; $and = ""; // HOST ID if ($form['host_id']) { $where .= $and . "host_id = " . $onadb->qstr($form['host_id']) . " OR id in (select interface_id from interface_clusters where host_id = " . $onadb->qstr($form['host_id']) . ")"; $and = " AND "; } // Do the SQL Query $filter = ''; if ($form['filter']) { $form['filter'] = ip_mangle($form['filter']); $filter = $and . ' ip_addr LIKE ' . $onadb->qstr('%' . $form['filter'] . '%'); } list($status, $rows, $results) = db_get_records($onadb, 'interfaces', $where . $filter, "ip_addr ASC", $conf['search_results_per_page'], $offset); // If we got less than serach_results_per_page, add the current offset to it // so that if we're on the last page $rows still has the right number in it. if ($rows > 0 and $rows < $conf['search_results_per_page']) { $rows += $conf['search_results_per_page'] * ($page - 1); } // Re-Count only "internal" interfaces, not nat interfaces list($status, $rows, $records) = db_get_records($onadb, 'interfaces', 'nat_interface_id = \'0\' and ' . $where . $filter, "", 0); $count = $rows; $html .= <<<EOL <!-- Interface List --> <table id="{$form['form_id']}_interface_list" class="list-box" cellspacing="0" border="0" cellpadding="0"> <!-- Table Header --> <tr> <td colspan="2" class="list-header" align="center" style="{$style['borderR']};">Interface</td> <td class="list-header" align="center" style="{$style['borderR']};">Subnet</td> <td class="list-header" align="center" style="{$style['borderR']};">MAC</td> <td class="list-header" align="center" style="{$style['borderR']};">Name</td> <td class="list-header" align="center" style="{$style['borderR']};">Description</td> <td class="list-header" align="center" style="{$style['borderR']};">Last Response</td> <td class="list-header" align="center"> </td> </tr> EOL; // Loop and display each record foreach ($results as $record) { // Get additional info about each host record // // Check if this interface has an external NAT unset($extnatint, $extnatdisplay, $extnatdisplay, $extnatsubdisplay); if ($record['nat_interface_id'] > 0) { list($status, $rows, $extnatint) = ona_get_interface_record(array('id' => $record['nat_interface_id'])); // GDO: get the subnet object of the NATing interface, display it in both Interface and Subnet columns list($status, $rows, $extnatintsub) = ona_get_subnet_record(array('id' => $extnatint['subnet_id'])); $extnatint['ip_addr'] = ip_mangle($extnatint['ip_addr'], 'dotted'); //$extnatdisplay = "<span title='Interface is NATed to {$extnatint['ip_addr']}'> => {$extnatint['ip_addr']}</span>"; $extnatdisplay = "<span title='Interface is NATed to {$extnatint['ip_addr']} (on {$extnatintsub['name']})'> => {$extnatint['ip_addr']}</span>"; $extnatsubdisplay = " => <a title=\"View NATed subnet. ID: {$extnatintsub['id']}\"\n class=\"nav\"\n onClick=\"xajax_window_submit('work_space', 'xajax_window_submit(\\'display_subnet\\', \\'subnet_id=>{$extnatintsub['id']}\\', \\'display\\')');\"\n >{$extnatintsub['name']}</a>"; } // Check if this interface is an external NAT for another interface list($isnatstatus, $isnatrows, $isnat) = db_get_records($onadb, 'interfaces', "nat_interface_id = {$record['id']}", '', 0); // If the current interface is external NAT for another, dont display it in the list. if ($isnatrows > 0) { continue; } list($status, $intclusterrows, $intcluster) = db_get_records($onadb, 'interface_clusters', "interface_id = {$record['id']}"); // Grab some info from the associated subnet record list($status, $rows, $subnet) = ona_get_subnet_record(array('id' => $record['subnet_id'])); $record['ip_mask'] = $subnet['ip_mask']; $record['subnet_id'] = $subnet['id']; $record['subnet_description'] = $subnet['name']; // Convert IP and Netmask to a presentable format $record['ip_addr'] = ip_mangle($record['ip_addr'], 'dotted'); $record['ip_mask'] = ip_mangle($record['ip_mask'], 'dotted'); $record['ip_mask_cidr'] = ip_mangle($record['ip_mask'], 'cidr'); if ($record['mac_addr']) { $record['mac_addr'] = mac_mangle($record['mac_addr']); } $record['description_short'] = truncate($record['description'], 40); // Escape data for display in html foreach (array_keys($record) as $key) { $record[$key] = htmlentities($record[$key], ENT_QUOTES, $conf['php_charset']); } // Format the date and colorize if its older than 2 months if ($record['last_response']) { $record['last_response_fmt'] = date($conf['date_format'], strtotime($record['last_response'])); if (strtotime($record['last_response']) < strtotime('-2 month')) { $record['last_response_fmt'] = "<span style=\"color: red;\">" . $record['last_response_fmt'] . "</style>"; } } $html .= <<<EOL <tr onMouseOver="this.className='row-highlight'" onMouseOut="this.className='row-normal'"> <td nowrap="true" class="list-row" style="padding: 0px;" width="16px"> EOL; // Display cluster related information $clusterhtml = ' '; $clusterstyle = ''; $clusterscript = ''; if ($intclusterrows > 0) { $clusterstyle = 'font-weight: bold'; $clusterscript = "onMouseOver=\"wwTT(this, event,\n 'id', 'tt_interface_cluster_list_{$record['id']}',\n 'type', 'velcro',\n 'styleClass', 'wwTT_niceTitle',\n 'direction', 'south',\n 'javascript', 'xajax_window_submit(\\'tooltips\\', \\'tooltip=>interface_cluster_list,id=>tt_interface_cluster_list_{$record['id']},interface_id=>{$record['id']}\\');'\n );\""; $clusterhtml .= <<<EOL <img src="{$images}/silk/sitemap.png" border="0" {$clusterscript} /> EOL; } $html .= $clusterhtml; $html .= <<<EOL </td> <td class="list-row"> EOL; // MP: Disabling the display_interface link. I dont think this will be needed if (1 < 0) { $html .= <<<EOL <a title="View interface. ID: {$record['id']}" class="nav" onClick="xajax_window_submit('work_space', 'xajax_window_submit(\\'display_interface\\',\\'interface_id=>{$record['id']}\\', \\'display\\')');"> {$record['ip_addr']} </a> EOL; } else { $html .= "<span style='{$clusterstyle}' {$clusterscript}>{$record['ip_addr']}</span>"; } $html .= <<<EOL <span style="{$clusterstyle}" title="{$record['ip_mask']}">/{$record['ip_mask_cidr']}</span> {$extnatdisplay} </td> <td class="list-row" align="left"> <a title="View subnet. ID: {$subnet['id']}" class="nav" onClick="xajax_window_submit('work_space', 'xajax_window_submit(\\'display_subnet\\', \\'subnet_id=>{$subnet['id']}\\', \\'display\\')');" >{$record['subnet_description']}</a> {$extnatsubdisplay} </td> <td class="list-row" align="right"> {$record['mac_addr']} </td> <td class="list-row" align="left"> {$record['name']} </td> <td class="list-row" align="left" title="{$record['description']}"> {$record['description_short']} </td> <td class="list-row" align="left" title="{$record['last_response']}"> {$record['last_response_fmt']} </td> <td class="list-row" align="right"> <form id="{$form['form_id']}_list_interface_{$record['id']}" ><input type="hidden" name="interface_id" value="{$record['id']}" ><input type="hidden" name="js" value="{$refresh}" ></form> EOL; if (auth('interface_modify')) { $html .= <<<EOL <a title="Interface Menu" id="int_menu_button_{$record['id']}" class="act" onmouseover="wwTT(this, event, 'id', 'tt_quick_interface_menu_{$record['id']}', 'type', 'velcro', 'delay', 0, 'styleClass', 'wwTT_int_menu', 'lifetime', 1000, 'direction', 'west', 'javascript', 'xajax_window_submit(\\'tooltips\\', \\'tooltip=>quick_interface_menu,id=>tt_quick_interface_menu_{$record['id']},interface_id=>{$record['id']},ip_addr=>{$record['ip_addr']},orig_host=>{$record['host_id']},form_id=>{$form['form_id']}_list_interface_{$record['id']},subnet_id=>{$subnet['id']},natip=>{$record['nat_interface_id']}\\');' );" ><img src="{$images}/silk/add.png" border="0"></a> EOL; } if (auth('interface_modify')) { $html .= <<<EOL <a title="Edit interface. ID: {$record['id']}" class="act" onClick="xajax_window_submit('edit_interface', xajax.getFormValues('{$form['form_id']}_list_interface_{$record['id']}'), 'editor');" ><img src="{$images}/silk/page_edit.png" border="0"></a> EOL; } if (auth('interface_del')) { $html .= <<<EOL <a title="Delete interface" class="act" onClick="xajax_window_submit('edit_interface', xajax.getFormValues('{$form['form_id']}_list_interface_{$record['id']}'), 'delete');" ><img src="{$images}/silk/delete.png" border="0"></a> EOL; } $html .= <<<EOL </td> </tr> EOL; } if ($count == 0 and $form['host_id'] and !$form['filter']) { $html .= <<<EOL <tr><td colspan="99" align="center" style="color: red;">Please add an interface to this host, or delete the host</td></tr> EOL; } $html .= <<<EOL </table> EOL; // Build page links if there are any $html .= get_page_links($page, $conf['search_results_per_page'], $count, $window_name, $form['form_id']); // Insert the new html into the content div specified // Instantiate the xajaxResponse object $response = new xajaxResponse(); $response->addAssign("{$form['form_id']}_{$tab}_count", "innerHTML", "({$count})"); $response->addAssign($form['content_id'], "innerHTML", $html); if ($js) { $response->addScript($js); } return $response->getXML(); }
function PasteBlock($sid, $name) { $objResponse = new xajaxResponse(); global $userbank, $username; $sid = (int) $sid; if (!$userbank->HasAccess(ADMIN_OWNER | ADMIN_ADD_BAN)) { $objResponse->redirect("index.php?p=login&m=no_access", 0); $log = new CSystemLog("w", "Hacking Attempt", $username . " tried paste a block, but doesn't have access."); return $objResponse; } require INCLUDES_PATH . '/CServerRcon.php'; //get the server data $data = $GLOBALS['db']->GetRow("SELECT ip, port, rcon FROM " . DB_PREFIX . "_servers WHERE sid = ?;", array($sid)); if (empty($data['rcon'])) { $objResponse->addScript("\$('dialog-control').setStyle('display', 'block');"); $objResponse->addScript("ShowBox('Error', 'No RCON password for server " . $data['ip'] . ":" . $data['port'] . "!', 'red', '', true);"); return $objResponse; } $r = new CServerRcon($data['ip'], $data['port'], $data['rcon']); if (!$r->Auth()) { $GLOBALS['db']->Execute("UPDATE " . DB_PREFIX . "_servers SET rcon = '' WHERE sid = ?;", array($sid)); $objResponse->addScript("\$('dialog-control').setStyle('display', 'block');"); $objResponse->addScript("ShowBox('Error', 'Wrong RCON password for server " . $data['ip'] . ":" . $data['port'] . "!', 'red', '', true);"); return $objResponse; } $ret = $r->rconCommand("status"); $search = preg_match_all(STATUS_PARSE, $ret, $matches, PREG_PATTERN_ORDER); $i = 0; $found = false; $index = -1; foreach ($matches[2] as $match) { if ($match == $name) { $found = true; $index = $i; break; } $i++; } if ($found) { $steam = $matches[3][$index]; $name = $matches[2][$index]; $objResponse->addScript("\$('nickname').value = '" . addslashes($name) . "'"); $objResponse->addScript("\$('steam').value = '" . $steam . "'"); } else { $objResponse->addScript("ShowBox('Error', 'Can\\'t get player info for " . addslashes(htmlspecialchars($name)) . ". Player is not on the server (" . $data['ip'] . ":" . $data['port'] . ") anymore!', 'red', '', true);"); $objResponse->addScript("\$('dialog-control').setStyle('display', 'block');"); return $objResponse; } $objResponse->addScript("SwapPane(0);"); $objResponse->addScript("\$('dialog-control').setStyle('display', 'block');"); $objResponse->addScript("\$('dialog-placement').setStyle('display', 'none');"); return $objResponse; }
function searchFormSubmit($searchFormValue, $numRows = null, $limit = null, $id = null, $type = null) { global $locate, $db; $objResponse = new xajaxResponse(); $searchField = array(); $searchContent = array(); $optionFlag = $searchFormValue['optionFlag']; $searchContent = $searchFormValue['searchContent']; //搜索内容 数组 $searchField = $searchFormValue['searchField']; //搜索条件 数组 $searchType = $searchFormValue['searchType']; $ordering = $searchFormValue['ordering']; $order = $searchFormValue['order']; $divName = "grid"; if ($optionFlag == "export") { $sql = astercrm::getSql($searchContent, $searchField, $searchType, 'astercrm_account'); //得到要导出的sql语句 $_SESSION['export_sql'] = $sql; $objResponse->addAssign("hidSql", "value", $sql); //赋值隐含域 $objResponse->addScript("document.getElementById('exportForm').submit();"); } elseif ($optionFlag == "delete") { astercrm::deletefromsearch($searchContent, $searchField, $searchType, 'astercrm_account'); $html = createGrid($searchFormValue['numRows'], $searchFormValue['limit'], '', '', $order, $divName, $ordering, ''); $objResponse->addClear("msgZone", "innerHTML"); $objResponse->addAssign($divName, "innerHTML", $html); } elseif ($type == "delete") { $arreglo =& Customer::getAllRecords($start, $limit, $order, $_SESSION['curuser']['groupid']); $content = ''; foreach ($arreglo as $agents) { if ($agents['agent'] == $id) { continue; } else { $addstr = "\nagent => " . trim($agents['agent']) . ',' . trim($agents['password']) . ',' . trim($agents['name']); } $content .= $addstr; } $agentsfile = '/etc/asterisk/agents_astercc.conf'; if ($fhandle = fopen($agentsfile, 'w')) { fwrite($fhandle, $content); $html = createGrid($searchFormValue['numRows'], $searchFormValue['limit'], $searchField, $searchContent, $order, $divName, $ordering, $searchType); $objResponse = new xajaxResponse(); $objResponse->addAssign("msgZone", "innerHTML", $locate->Translate("delete_rec")); $objResponse->addAssign($divName, "innerHTML", $html); } else { $objResponse->addAssign("msgZone", "innerHTML", $locate->Translate("rec_cannot_delete")); } } else { $html = createGrid($numRows, $limit, $searchField, $searchContent, $order, $divName, $ordering, $searchType); $objResponse->addClear("msgZone", "innerHTML"); $objResponse->addAssign($divName, "innerHTML", $html); } return $objResponse->getXML(); }
function _data_preset_rra_item_xajax_remove($preset_rra_id) { require_once(CACTI_BASE_PATH . "/lib/data_preset/data_preset_rra_update.php"); require_once(CACTI_BASE_PATH . "/lib/data_preset/data_preset_rra_info.php"); require_once(CACTI_BASE_PATH . "/lib/data_template/data_template_update.php"); require_once(CACTI_BASE_PATH . "/lib/data_template/data_template_info.php"); require_once(CACTI_BASE_PATH . "/lib/data_source/data_source_update.php"); require_once(CACTI_BASE_PATH . "/lib/data_source/data_source_info.php"); $objResponse = new xajaxResponse(); if (basename($_SERVER["PHP_SELF"]) == "presets_rra.php") { $preset_rra_item = api_data_preset_rra_item_get($preset_rra_id); $result = api_data_preset_rra_item_remove($preset_rra_id); }else if (basename($_SERVER["PHP_SELF"]) == "data_templates.php") { $preset_rra_item = api_data_template_rra_item_get($preset_rra_id); $result = api_data_template_rra_item_remove($preset_rra_id); }else if (basename($_SERVER["PHP_SELF"]) == "data_sources.php") { $preset_rra_item = api_data_source_rra_item_get($preset_rra_id); $result = api_data_source_rra_item_remove($preset_rra_id); }else{ return false; } if ($result) { if (basename($_SERVER["PHP_SELF"]) == "presets_rra.php") { $num_items = sizeof(api_data_preset_rra_item_list($preset_rra_item["preset_rra_id"])); }else if (basename($_SERVER["PHP_SELF"]) == "data_templates.php") { $num_items = sizeof(api_data_template_rra_item_list($preset_rra_item["data_template_id"])); }else if (basename($_SERVER["PHP_SELF"]) == "data_sources.php") { $num_items = sizeof(api_data_source_rra_item_list($preset_rra_item["data_source_id"])); } /* if there are no rra items left, do not remove the row from the form but instead mark it as "new" */ if ($num_items == 0) { $objResponse->addScript("remove_rra_item_last_row(\"$preset_rra_id\");"); /* if there is at least one rra item left, visibly remove the row from the page */ }else{ $objResponse->addScript("remove_rra_item_row(\"$preset_rra_id\");"); } }else{ $objResponse->addAlert("Error removing RRA preset item!"); } return $objResponse->getXML(); }
/** * function to verify user data * * @param $aFormValues (array) login form data $aFormValues['username'] $aFormValues['password'] $aFormValues['locate'] * @return $objResponse * @session $_SESSION['curuser']['username'] $_SESSION['curuser']['extension'] $_SESSION['curuser']['extensions'] $_SESSION['curuser']['country'] $_SESSION['curuser']['language'] $_SESSION['curuser']['channel'] $_SESSION['curuser']['accountcode'] */ function processAccountData($aFormValues) { global $db, $config; list($_SESSION['curuser']['country'], $_SESSION['curuser']['language']) = split("_", $aFormValues['locate']); //get locate parameter $locate = new Localization($_SESSION['curuser']['country'], $_SESSION['curuser']['language'], 'login'); $objResponse = new xajaxResponse(); $bError = false; $loginError = false; if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) { if ($_SERVER["HTTP_CLIENT_IP"]) { $proxy = $_SERVER["HTTP_CLIENT_IP"]; } else { $proxy = $_SERVER["REMOTE_ADDR"]; } } else { if (isset($_SERVER["HTTP_CLIENT_IP"])) { $ip = $_SERVER["HTTP_CLIENT_IP"]; } else { $ip = $_SERVER["REMOTE_ADDR"]; } } $log = array(); $log['action'] = 'login'; $log['ip'] = $ip; $log['username'] = $aFormValues['username']; $log['usertype'] = 'clid'; $query = "SELECT * FROM account_log WHERE ip='" . $ip . "' AND action='login' ORDER BY id DESC LIMIT 1"; $res = $db->query($query); if ($res->fetchInto($this_ip_log)) { $failedtimes = $this_ip_log['failedtimes']; } if ($failedtimes >= $config['system']['max_incorrect_login'] && $config['system']['max_incorrect_login'] > 0) { $objResponse->addAlert($locate->Translate("login failed,your ip is locked for login")); $objResponse->addAssign("loginButton", "value", $locate->Translate("submit")); $objResponse->addAssign("loginButton", "disabled", false); return $objResponse; } if (!$bError) { $query = "SELECT * from clid where clid ='" . $aFormValues['username'] . "'"; $res = $db->query($query); if ($res->fetchInto($clid)) { $log['account_id'] = $clid['id']; if ($clid['pin'] == $aFormValues['password']) { $log['status'] = 'success'; $log['failedtimes'] = 0; if ($aFormValues['rememberme'] == "forever") { // set cookies for three years setcookie("username", $aFormValues['username'], time() + 94608000); setcookie("password", $aFormValues['password'], time() + 94608000); setcookie("language", $aFormValues['locate'], time() + 94608000); } else { // destroy cookies setcookie("username", "", time() - 3600); setcookie("password", "", time() - 3600); setcookie("language", "", time() - 3600); $username = ''; $password = ''; $language = 'en_US'; $checked = false; } $_SESSION['curuser']['username'] = trim($aFormValues['username']); $_SESSION['curuser']['usertype'] = "clid"; $_SESSION['curuser']['clidid'] = $clid['id']; $_SESSION['curuser']['groupid'] = $clid['groupid']; list($_SESSION['curuser']['country'], $_SESSION['curuser']['language']) = split("_", $aFormValues['locate']); $configstatus = common::read_ini_file($config['system']['astercc_path'] . '/astercc.conf', $asterccConfig); if ($configstatus == -2) { $html = "(fail to read " . $config['system']['astercc_path'] . "/astercc.conf)"; return $html; } else { $billingfield = trim($asterccConfig['system']['billingfield']); if ($billingfield == 'accountcode') { $_SESSION['curuser']['billingfield'] = $billingfield; } } //$objResponse->addAlert($locate->Translate("login_success")); $objResponse->addScript('window.location.href="cdr.php";'); } else { $log['failedtimes'] = $failedtimes + 1; $log['status'] = 'failed'; $log['failedcause'] = 'incorrect password'; $loginError = true; } } else { $log['failedtimes'] = $failedtimes + 1; $log['account_id'] = 0; $log['status'] = 'failed'; $log['failedcause'] = 'notexistent clid'; $loginError = true; } astercrm::insertAccountLog($log); if (!$loginError) { return $objResponse; } else { $objResponse->addAlert($locate->Translate("login_failed")); $objResponse->addAssign("loginButton", "value", $locate->Translate("submit")); $objResponse->addAssign("loginButton", "disabled", false); return $objResponse; } } else { $objResponse->addAssign("loginButton", "value", $locate->Translate("submit")); $objResponse->addAssign("loginButton", "disabled", false); } return $objResponse; }
/** * function to verify user data * * @param $aFormValues (array) login form data $aFormValues['username'] $aFormValues['password'] $aFormValues['locate'] * @return $objResponse * @session $_SESSION['curuser']['username'] $_SESSION['curuser']['extension'] $_SESSION['curuser']['extensions'] $_SESSION['curuser']['country'] $_SESSION['curuser']['language'] $_SESSION['curuser']['channel'] $_SESSION['curuser']['accountcode'] */ function processAccountData($aFormValues) { global $db, $config; list($_SESSION['curuser']['country'], $_SESSION['curuser']['language']) = split("_", $aFormValues['locate']); //get locate parameter $locate = new Localization($_SESSION['curuser']['country'], $_SESSION['curuser']['language'], 'login'); $objResponse = new xajaxResponse(); /* check whether the pear had been installed */ $pear_exists_result = class_exists('PEAR'); if (empty($pear_exists_result)) { $objResponse->addAlert($locate->Translate("Please install php pear")); $objResponse->addAssign("loginButton", "value", $locate->Translate("submit")); $objResponse->addAssign("loginButton", "disabled", false); return $objResponse; } if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) { if ($_SERVER["HTTP_CLIENT_IP"]) { $proxy = $_SERVER["HTTP_CLIENT_IP"]; } else { $proxy = $_SERVER["REMOTE_ADDR"]; } } else { if (isset($_SERVER["HTTP_CLIENT_IP"])) { $ip = $_SERVER["HTTP_CLIENT_IP"]; } else { $ip = $_SERVER["REMOTE_ADDR"]; } } $query = "SELECT * FROM account_log WHERE ip='" . $ip . "' AND action='login' ORDER BY id DESC LIMIT 1"; $res = $db->query($query); if ($res->fetchInto($this_ip_log)) { $failedtimes = $this_ip_log['failedtimes']; } $log = array(); $log['action'] = 'login'; $log['ip'] = $ip; $log['username'] = $aFormValues['username']; if ($failedtimes >= $config['system']['max_incorrect_login'] && $config['system']['max_incorrect_login'] > 0) { $objResponse->addAlert($locate->Translate("login failed,your ip is locked for login")); $objResponse->addAssign("loginButton", "value", $locate->Translate("submit")); $objResponse->addAssign("loginButton", "disabled", false); return $objResponse; } $bError = false; $loginError = false; if (!$bError) { $query = "SELECT account.*, accountgroup.accountcode,accountgroup.allowcallback as allowcallbackgroup,resellergroup.allowcallback as allowcallbackreseller,accountgroup.limittype FROM account LEFT JOIN accountgroup ON accountgroup.id = account.groupid LEFT JOIN resellergroup ON resellergroup.id = account.resellerid WHERE username='******'username'] . "'"; $res = $db->query($query); if ($res->fetchInto($list)) { $log['account_id'] = $list['id']; $log['usertype'] = $list['usertype']; if ($list['password'] == $aFormValues['password']) { $log['status'] = 'success'; $log['failedtimes'] = 0; if ($aFormValues['rememberme'] == "forever") { // set cookies for three years setcookie("username", $aFormValues['username'], time() + 94608000); setcookie("password", $aFormValues['password'], time() + 94608000); setcookie("language", $aFormValues['locate'], time() + 94608000); setcookie("pagestyle", $aFormValues['pagestyle'], time() + 94608000); } else { // destroy cookies setcookie("username", "", time() - 3600); setcookie("password", "", time() - 3600); setcookie("language", "", time() - 3600); setcookie("pagestyle", $aFormValues['pagestyle'], time() + 94608000); $username = ''; $password = ''; $language = 'en_US'; $checked = false; } $_SESSION = array(); $_SESSION['curuser']['username'] = trim($aFormValues['username']); $_SESSION['curuser']['usertype'] = $list['usertype']; $_SESSION['curuser']['ipaddress'] = $_SERVER["REMOTE_ADDR"]; $_SESSION['curuser']['userid'] = $list['id']; $_SESSION['curuser']['groupid'] = $list['groupid']; $_SESSION['curuser']['resellerid'] = $list['resellerid']; $_SESSION['curuser']['limittype'] = $list['limittype']; $configstatus = common::read_ini_file($config['system']['astercc_path'] . '/astercc.conf', $asterccConfig); if ($configstatus == -2) { $html = "(fail to read " . $config['system']['astercc_path'] . "/astercc.conf)"; return $html; } else { $billingfield = trim($asterccConfig['system']['billingfield']); if ($billingfield == 'accountcode') { $_SESSION['curuser']['billingfield'] = $billingfield; } } $res = astercrm::getCalleridListByID($list['groupid']); while ($res->fetchInto($row)) { $_SESSION['curuser']['extensions'][] = $row['clid']; } if (!is_array($_SESSION['curuser']['extensions'])) { $_SESSION['curuser']['extensions'] = array(); } if ($list['usertype'] == 'reseller') { $_SESSION['curuser']['allowcallback'] = $list['allowcallbackreseller']; } else { $_SESSION['curuser']['allowcallback'] = $list['allowcallbackgroup']; } $_SESSION['curuser']['accountcode'] = $list['accountcode']; // if ($list['extensions'] != ''){ // $_SESSION['curuser']['extensions'] = split(',',$list['extensions']); // } // else{ // } list($_SESSION['curuser']['country'], $_SESSION['curuser']['language']) = split("_", $aFormValues['locate']); /* if you dont want check manager status and show device status when user login please uncomment these three line */ // $objResponse->addAlert($locate->Translate("login_success")); if ($_SESSION['curuser']['usertype'] == 'groupadmin' || $_SESSION['curuser']['usertype'] == 'operator') { if ($aFormValues['pagestyle'] == 'classic') { $objResponse->addScript('window.location.href="systemstatus.php";'); } else { $objResponse->addScript('window.location.href="systemstatus_simple.php";'); } } else { $objResponse->addScript('window.location.href="account.php";'); } astercrm::insertAccountLog($log); return $objResponse; //check AMI connection $myAsterisk = new Asterisk(); $myAsterisk->config['asmanager'] = $config['asterisk']; $res = $myAsterisk->connect(); $html .= $locate->Translate("server_connection_test"); if ($res) { $html .= '<font color=green>' . $locate->Translate("pass") . '</font><br>'; $html .= '<b>' . $_SESSION['curuser']['extension'] . ' ' . $locate->Translate("device_status") . '</b><br>'; $html .= asterisk::getPeerIP($_SESSION['curuser']['extension']) . '<br>'; $html .= asterisk::getPeerStatus($_SESSION['curuser']['extension']) . '<br>'; } else { $html .= '<font color=red>' . $locate->Translate("no_pass") . '</font>'; } if ($aFormValues['pagestyle'] == 'classic') { $html .= '<input type="button" value="' . $locate->Translate("continue") . '" id="btnContinue" name="btnContinue" onclick="window.location.href=\'systemstatus.php\';">'; } else { $html .= '<input type="button" value="' . $locate->Translate("continue") . '" id="btnContinue" name="btnContinue" onclick="window.location.href=\'systemstatus_simple.php\';">'; } $objResponse->addAssign("formDiv", "innerHTML", $html); $objResponse->addClear("titleDiv", "innerHTML"); $objResponse->addScript("xajax.\$('btnContinue').focus();"); } else { //$log['account_id'] = 0; $log['failedtimes'] = $failedtimes + 1; $log['status'] = 'failed'; $log['failedcause'] = 'incorrect password'; $loginError = true; } } else { $log['failedtimes'] = $failedtimes + 1; $log['account_id'] = 0; $log['usertype'] = 'manager_login'; $log['status'] = 'failed'; $log['failedcause'] = 'notexistent user'; $loginError = true; } astercrm::insertAccountLog($log); if (!$loginError) { return $objResponse; } else { $objResponse->addAlert($locate->Translate("login failed")); $objResponse->addAssign("loginButton", "value", $locate->Translate("submit")); $objResponse->addAssign("loginButton", "disabled", false); return $objResponse; } } else { $objResponse->addAssign("loginButton", "value", $locate->Translate("submit")); $objResponse->addAssign("loginButton", "disabled", false); } return $objResponse; }
function predictiveDialer($f) { global $config, $db, $locate; $objResponse = new xajaxResponse(); //print_r($f);exit; $aDyadicArray[] = array($locate->Translate("src"), $locate->Translate("dst"), $locate->Translate("srcchan"), $locate->Translate("dstchan"), $locate->Translate("starttime"), $locate->Translate("answertime"), $locate->Translate("disposition")); $cDyadicArray[] = array($locate->Translate("src"), $locate->Translate("dst"), $locate->Translate("srcchan"), $locate->Translate("dstchan"), $locate->Translate("starttime"), $locate->Translate("first answertime"), $locate->Translate("answertime"), $locate->Translate("disposition")); // 检查系统目前的通话情况 //if($_SESSION['curuser']['usertype'] == 'admin'){ $sql = "SELECT curcdr.*,dialedlist.id as did,dialedlist.dialednumber,dialedlist.campaignid,dialedlist.dialedby,dialedlist.channel FROM curcdr LEFT JOIN dialedlist ON curcdr.srcchan=dialedlist.channel OR curcdr.dstchan=dialedlist.channel WHERE curcdr.id > 0 AND dialedlist.channel != '' ORDER by curcdr.id desc"; $curdiledlist = $db->query($sql); //$curcdr = astercrm::getAll("curcdr"); //}elseif($_SESSION['curuser']['usertype'] == 'groupadmin'){ // $curcdr = astercrm::getGroupCurcdr(); //} $curdidlist = array(); while ($curdiledlist->fetchInto($row)) { if ($row['did'] > 0) { if (in_array($row['did'], $curdidlist)) { continue; } else { $curdidlist[] = $row['did']; $campaignCDR[$row['campaignid']][] = array($row["src"], $row["dst"], $row["srcchan"], $row["dstchan"], $row["starttime"], $row["calldate"], $row["answertime"], $row["disposition"]); } } else { $query = "SELECT groupid FROM astercrm_account WHERE extension = '" . $row['dst'] . "' OR extension = '" . $row['dst'] . "' GROUP BY groupid ORDER BY groupid DESC LIMIT 0,1"; $groupid = $db->getOne($query); if ($groupid > 0) { $groupCDR[$groupid][] = array($row["src"], $row["dst"], $row["srcchan"], $row["dstchan"], $row["starttime"], $row["answertime"], $row["disposition"]); } elseif ($_SESSION['curuser']['usertype'] == 'admin') { //print_r($row);exit; $systemCDR[] = array($row["src"], $row["dst"], $row["srcchan"], $row["dstchan"], $row["starttime"], $row["answertime"], $row["disposition"]); } } } if ($_SESSION['curuser']['usertype'] == 'admin') { $systemChannels = common::generateTabelHtml(array_merge($aDyadicArray, $systemCDR)); } $objResponse->addAssign("idvUnknowChannels", "innerHTML", nl2br(trim($systemChannels))); // clear all group $groups = astercrm::getAll("astercrm_accountgroup"); while ($groups->fetchInto($group)) { $objResponse->addAssign("unknown" . $group['groupid'], "innerHTML", ""); } // clear all campaign $campaigns = astercrm::getAll("campaign"); while ($campaigns->fetchInto($campaign)) { $campaign_queue_name[$campaign['id']] = $campaign['queuename']; $objResponse->addAssign("campaign" . $campaign['id'], "innerHTML", ""); } // start assign all CDRs foreach ($groupCDR as $key => $value) { if (is_array($value)) { $groupChannels = common::generateTabelHtml(array_merge($aDyadicArray, $value)); $objResponse->addAssign("unknown{$key}", "innerHTML", nl2br(trim($groupChannels))); } else { $objResponse->addAssign("unknown{$key}", "innerHTML", ""); } } foreach ($campaignCDR as $key => $value) { if (is_array($value)) { $campaignChannels = common::generateTabelHtml(array_merge($cDyadicArray, $value)); $objResponse->addAssign("campaign{$key}", "innerHTML", nl2br(trim($campaignChannels))); } else { $objResponse->addAssign("campaign{$key}", "innerHTML", ""); } } /* // 将$f按组别分类 foreach ($f as $key => $value){ list ($campaignid, $field) = split("-",$key); $predial_campaigns[$campaignid][$field] = $value; } foreach ($predial_campaigns as $key => $value){ if ($value['ckb'] == "on"){ // 查找是否还有待拨号码 $diallist_num[$key] = astercrm::getCountByField("campaignid", $key, "diallist"); $num = 0; if ($diallist_num[$key] > 0){ if ($value['limittpye'][0] == "channel"){ // 根据并发限制 // 检查目前该campaign的并发通道 $exp = $value['maxchannel'] - count($campaignCDR[$key]); if ( $exp > 0 ){ // 可以发起呼叫, 规则为 (差额 +2)/3 $num = intval(($exp + 2)/3); $i = 0; while ($i<$num && placeCall($key)) $i++; }else{ // skip this campaign } }else{ // 根据agent限制 // 获取目前agent的数目 $query = "SELECT COUNT(*) FROM queue_agent WHERE status = 'In use' AND queuename = '".$campaign_queue_name[$key]."' "; $busy_agent_num = $db->getOne($query); $query = "SELECT COUNT(*) FROM queue_agent WHERE status = 'Not in use' AND queuename = '".$campaign_queue_name[$key]."' "; $free_agent_num = $db->getOne($query); $totalagent = ($busy_agent_num + $free_agent_num); if (is_numeric($value['rate'])){ $myagent = intval($totalagent * (1+$rate/100)); } $exp = $myagent - count($campaignCDR[$key]); if ( $exp > 0 ){ // 可以发起呼叫, 规则为 (差额 +2)/3 $num = intval(($exp + 2)/3); $i = 0; while ($i<$num && placeCall($key)) $i++; }else{ // skip this campaign } } } // refresh campaing number $objResponse->addAssign("numbers-$key","innerHTML",$diallist_num[$key] - $i); }else{ unset($predial_campaigns[$key]); } } */ //exit; $check_interval = 2000; if (is_numeric($config['system']['status_check_interval'])) { $check_interval = $config['system']['status_check_interval'] * 1000; } $objResponse->addScript("setTimeout(\"startDial()\", " . $check_interval . ");"); return $objResponse; }
function confirmUpload($url, $name){ $objResponse = new xajaxResponse(); // $last_pos = strripos($url, '/'); // $length = strlen($url); // $file_name=substr($url, $last_pos+1); if(copy($url, '../img/files/'.$name)){ unlink($url); watermark('../img/files/'.$name, '../img/logo.png',0,72,1); $objResponse->addScript("confirmUpload_back('". $name. "');"); //$objResponse->addAlert('success'); } else{ //$objResponse->addAlert('Fail'); } //$objResponse->addAlert('test'); return $objResponse; }