function listarColaFax_json($smarty, $module_name, $local_templates_dir) { session_commit(); $oldhash = getParameter('outputhash'); $html = NULL; $startTime = time(); do { $listaColaFax = enumerarFaxesPendientes(); $newhash = md5(serialize($listaColaFax)); if ($oldhash == $newhash) { usleep(2 * 1000000); } else { $html = listarColaFax_raw($smarty, $module_name, $local_templates_dir, $listaColaFax); } } while ($oldhash == $newhash && time() - $startTime < 30); $jsonObject = new PalosantoJSON(); $jsonObject->set_status($oldhash != $newhash ? 'CHANGED' : 'NOCHANGED'); $jsonObject->set_message(array('html' => $html, 'outputhash' => $newhash)); Header('Content-Type: application/json'); return $jsonObject->createJSON(); }
function checkFaxStatus() { session_commit(); $jobid = getParameter('jobid'); $modem = getParameter('modem'); $oldhash = getParameter('outputhash'); $startTime = time(); do { $faxinfo = paloFax::getFaxStatus(); $faxstatus = array('state' => 'F', 'modemstatus' => '(invalid modem)', 'status' => '(invalid jobid)'); if (isset($faxinfo['modems'][$modem])) { $faxstatus['modemstatus'] = $modem . ': ' . $faxinfo['modems'][$modem]; } if (isset($faxinfo['jobs'][$jobid])) { $faxstatus = array_merge($faxstatus, $faxinfo['jobs'][$jobid]); } $newhash = md5(serialize($faxstatus)); if ($oldhash == $newhash) { usleep(2 * 1000000); } } while ($oldhash == $newhash && time() - $startTime < 30); $jsonObject = new PalosantoJSON(); $jsonObject->set_status($oldhash != $newhash ? 'CHANGED' : 'NOCHANGED'); $jsonObject->set_message(array('faxstatus' => $faxstatus, 'outputhash' => $newhash)); Header('Content-Type: application/json'); return $jsonObject->createJSON(); }
function listarColaFax_json($smarty, $module_name, $local_templates_dir) { //TODO: falta ahcer un filtrado de los trabajos pendientes por organizaionc // esto se puede hacer si se identifica a que modem pertence cada trajado // en la cola. Cada trabajo listado tiene un correspondiente archivo // en donde se describe a que modem pertenece. Seria de ller ese archivo // si el trbajo es de envio se encuentra en /var/spool/hylafax/sendq/ // si el trabjo es de envio se encuentra en /var/spool/hylafax/recvq/ // el nombre del archivo seria qJID donde JID ES DE ID DEL JOB session_commit(); $oldhash = getParameter('outputhash'); $html = NULL; $startTime = time(); do { $listaColaFax = enumerarFaxesPendientes(); $newhash = md5(serialize($listaColaFax)); if ($oldhash == $newhash) { usleep(2 * 1000000); } else { $html = listarColaFax_raw($smarty, $module_name, $local_templates_dir, $listaColaFax); } } while ($oldhash == $newhash && time() - $startTime < 30); $jsonObject = new PalosantoJSON(); $jsonObject->set_status($oldhash != $newhash ? 'CHANGED' : 'NOCHANGED'); $jsonObject->set_message(array('html' => $html, 'outputhash' => $newhash)); Header('Content-Type: application/json'); return $jsonObject->createJSON(); }