diff --git a/provisioning.phtml b/provisioning.phtml index 46ea46c..ae75fea 100644 --- a/provisioning.phtml +++ b/provisioning.phtml @@ -1,160 +1,159 @@ "CDRTool_Session", "auth" => "CDRTool_Auth", "perm" => "CDRTool_Perm" ) ); $title = "Provisioning"; if (is_readable("/etc/cdrtool/local/header.phtml")) { include("/etc/cdrtool/local/header.phtml"); } else { include("header.phtml"); } $perm->check("provisioning"); if ($_REQUEST['action'] == 'PerformActions' && $_REQUEST['sub_action'] == 'export') { $export = true; } if ($export) { Header("Content-type: application/json"); Header("Content-Disposition: attachment; filename=ngnpro_export.json"); } else { $layout = new pageLayoutLocal(); $layout->showTopMenu($title); } global $CDRTool; $login_credentials=array(); $login_credentials['username']=$auth->auth["uname"]; if ($CDRTool['impersonate']) { if (preg_match("/^([0-9]*)\.([0-9]*)$/", $CDRTool['impersonate'], $m)) { $_customer = $m[1]; $_reseller = $m[2]; } else { page_close(); printf("Error: Invalid impersonate value %s", $CDRTool['impersonate']); exit; } if ($_customer == "0" && $_reseller == "0") { $login_credentials['login_type'] = 'admin'; $login_credentials['reseller'] = '0'; } else if ($_customer == $_reseller) { $login_credentials = array( 'soap_username' => $CDRTool['soap_username'], 'soap_password' => $CDRTool['soap_password'], 'customer' => $_customer, 'reseller' => $_reseller, 'login_type' => 'reseller' ); } else { $login_credentials = array( 'soap_username' => $CDRTool['soap_username'], 'soap_password' => $CDRTool['soap_password'], 'customer' => $_customer, 'reseller' => $_reseller, 'login_type' => 'customer' ); } $login_credentials['username'] = $auth->auth["uname"]; } else { page_close(); printf("Please define impersonate field for login account %s", $auth->auth["uname"]); exit; } if (file_exists("/etc/cdrtool/ngnpro_engines.inc")) { require("/etc/cdrtool/ngnpro_engines.inc"); } else { page_close(); printf("Error: you must copy setup/ngnpro_engines.inc.sample to /etc/cdrtool/ngnpro_engines.inc and edit it before trying again"); exit; } if (array_key_exists($login_credentials['reseller'], $resellerFilters)) { $login_credentials['soap_filter'] = $resellerFilters[$login_credentials['reseller']]['soap_filter']; $login_credentials['record_generator'] = $resellerFilters[$login_credentials['reseller']]['record_generator']; $login_credentials['name_servers'] = $resellerFilters[$login_credentials['reseller']]['name_servers']; } else if ($resellerFilters['default']) { $login_credentials['soap_filter'] = $resellerFilters['default']['soap_filter']; $login_credentials['record_generator'] = isset($resellerFilters['default']['record_generator']) ? $resellerFilters['default']['record_generator'] : ''; $login_credentials['name_servers'] = isset($resellerFilters['default']['name_servers']) ? $resellerFilters['default']['name_servers'] : '' ; } $login_credentials['reseller_filters'] = $resellerFilters; $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : ''; if (isset($_REQUEST['generatorId'])) { $generator = new recordGenerator($_REQUEST['generatorId'], $recordGenerators, $soapEngines, $login_credentials); if ($action == 'Generate') { $generator->generateRecords(); $generator->showGeneratorForm(); } else { $generator->showGeneratorForm(); } } else { $service = isset($_REQUEST['service']) ? $_REQUEST['service'] : '' ; $SoapEngine = new SoapEngine($service, $soapEngines, $login_credentials); $_class = $SoapEngine->records_class; $RECORDS = new $_class($SoapEngine); $RECORDS->showWelcomeMessage(); if ($action =='Add') { $RECORDS->addRecord(); } if ($action =='Copy') { $RECORDS->copyRecord(); } if ($action =='Delete') { $RECORDS->deleteRecord(); } if ($action =='Update') { $RECORDS->updateRecord(); } if ($action == 'PerformActions') { $RECORDS->executeActions(); } else { $RECORDS->listRecords(); } } if (!$export) { $layout->showFooter(); echo " "; } page_close(); ?> diff --git a/sip_enrollment.phtml b/sip_enrollment.phtml index 82e471f..fbdc96b 100644 --- a/sip_enrollment.phtml +++ b/sip_enrollment.phtml @@ -1,20 +1,20 @@ createAccount(); ?> diff --git a/sip_login_reminder.phtml b/sip_login_reminder.phtml index 0e1095c..d41833e 100644 --- a/sip_login_reminder.phtml +++ b/sip_login_reminder.phtml @@ -1,232 +1,232 @@ 'admin'); $SoapEngine = new SoapEngine('sip_accounts', $soapEngines, $login_credentials); $_class = $SoapEngine->records_class; $RECORDS = new $_class($SoapEngine); $login_credentials['sip_engine'] = $RECORDS->SoapEngine->sip_engine; if ($_REQUEST['id']) { $id = $_REQUEST['id']; $db = new DB_CDRTool(); $query="delete from memcache where `key` LIKE 'email_%' and NOW() >= `expire`"; if (!$db->query($query)) { $log = sprintf("Database error for query %s: %s (%s)\n", $query, $db->Error, $db->Errno); syslog(LOG_NOTICE, $log); } else { $log = sprintf("Purged %d records from memcache\n", $db->affected_rows()); syslog(LOG_NOTICE, $log); } $query = sprintf( "select * from memcache where `key`='email_%s'", addslashes($id) ); if (!$db->query($query)) return false; if ($db->num_rows()) { $db->next_record(); $account = json_decode($db->f('value'), true); if (!($_REQUEST['sip_password'] || $_REQUEST['web_password'])) { $RECORDS->showPasswordReminderUpdateFormEncrypted($_REQUEST['id'], $account['sip_account']); } else { $SipSettings = new SipSettings($account['sip_account'], $login_credentials, $soapEngines); dprint_r($SipSettings->result); if ($_REQUEST['sip_password']) { //print "$SipSettings->password"; if ($SipSettings->store_clear_text_passwords) { $SipSettings->result->password = $_REQUEST['sip_password']; } else { $md1 = strtolower($SipSettings->result->id->username).':'.strtolower($SipSettings->result->id->domain).':'.$sip_password; dprint($md1); dprint(md5($md1)); $md2 = strtolower($SipSettings->result->id->username).'@'.strtolower($SipSettings->result->id->domain).':'.strtolower($SipSettings->result->id->domain).':'.$_REQUEST['sip_password']; $SipSettings->result->password = md5($md1).':'.md5($md2); } } if ($_REQUEST['web_password']) { //dprint_r($SipSettings->result->properties); if ($SipSettings->store_clear_text_passwords) { $web_password_new = $_REQUEST['web_password']; } else { $md1 = strtolower($SipSettings->result->id->username).':'.strtolower($SipSettings->result->id->domain).':'.$_REQUEST['web_password']; $md2 = strtolower($SipSettings->result->id->username).'@'.strtolower($SipSettings->result->id->domain).':'.strtolower($SipSettings->result->id->domain).':'.$_REQUEST['web_password']; $web_password_new = md5($md1).':'.md5($md2); } foreach (array_keys($SipSettings->result->properties) as $_key) { $_prop = $SipSettings->result->properties[$_key]; if ($_prop->name == 'web_password') { $newProperties[] = array( 'name'=> 'web_password', 'value' => $web_password_new ); $found = 1; } else { $newProperties[] = $_prop; } } if (!$found) { $newProperties[] = array( 'name' => 'web_password', 'value' => $web_password_new ); } //if ($SipSettings->result->properties!=$newProperties) $this->somethingChanged=1; if (!$newProperties) $newProperties = array(); $SipSettings->result->properties=$newProperties; //setPreference1('web_password',$_REQUEST['web_password']); } dprint_r($SipSettings->result); $SipSettings->SipPort->addHeader($SipSettings->SoapAuth); $result = $SipSettings->SipPort->updateAccount($SipSettings->result); dprint_r($SipSettings->result); print "

"; print _("Update passwords"); print "

"; if ((new PEAR)->isError($result)) { $error_msg = $result->getMessage(); $error_fault= $result->getFault(); $error_code = $result->getCode(); echo "
"; printf( "Error (SipPort):
%s (%s): %s
", $error_msg, $error_fault->detail->exception->errorcode, $error_fault->detail->exception->errorstring ); return false; } else { echo "
"; print _("Success"); print "
"; print _("The password(s) have been updated"); print "
"; $query = "delete from memcache where `key` LIKE 'email_$id'"; if (!$db->query($query)) { $log = sprintf("Database error for query %s: %s (%s)\n", $query, $db->Error, $db->Errno); syslog(LOG_NOTICE, $log); } flush(); } unset($SipSettings); } } else { echo "

"; print _("Update passwords"); print "

"; echo "
"; print _("Error"); print "
"; print _("ID not found in the database"); print "
"; print _("or the password changing session has expired"); print "
"; flush(); } print "

Found a SIP account having email address set to '%s':

", trim($_REQUEST['email_filter'])); } else { printf("

Found multiple SIP accounts having email address set to '%s':

", trim($_REQUEST['email_filter'])); } //printf ("

Found a SIP account having email address set to '%s'",trim($_REQUEST['email_filter'])); print ""; print "

Processing...

"; print "
    "; print "
  • "; foreach ($accounts as $_account) { $account = $_account['username'].'@'.$_account['domain']; //if ($account == $_REQUEST['sip_filter']) { $SipSettings = new SipSettings($account, $login_credentials, $soapEngines); $success = $success + $SipSettings->sendEmail(true); //print "$sucess"; sleep(1); flush(); //} } if ($success >= "1") { if ($success > "1") { print "Login reminders and password resets have been sent to "; } else { print "Login reminder and password reset have been sent to "; } print $_REQUEST['email_filter']; print "
  • "; print ""; } print "
"; } } print "

Back to login page"; } echo ""; ?> diff --git a/sip_settings.phtml b/sip_settings.phtml index dabf6c6..7873293 100644 --- a/sip_settings.phtml +++ b/sip_settings.phtml @@ -1,119 +1,119 @@ "CDRTool_Session", "auth" => "CDRTool_Auth", "perm" => "CDRTool_Perm" ) ); $account = $_REQUEST['account']; $reseller = $_REQUEST['reseller']; $customer = $_REQUEST['customer']; $sip_engine = $_REQUEST['sip_engine']; if ($reseller && !$customer) { $customer = $reseller; } else if ($customer && !$reseller) { $reseller = $customer; } $perm->check("provisioning"); global $CDRTool; if ($CDRTool['impersonate']) { if (preg_match("/^([1-9][0-9]*)\.([1-9][0-9]*)$/", $CDRTool['impersonate'], $m)) { $_customer = $m[1]; $_reseller = $m[2]; if ($_customer == $_reseller) { $login_type = 'reseller'; } else { $login_type = 'customer'; } $login_credentials=array( 'customer' => $_customer, 'reseller' => $_reseller, 'login_type' => $login_type ); } else if ($CDRTool['impersonate'] == '0' || $CDRTool['impersonate'] = '0.0') { $login_credentials = array( 'customer' => $customer, 'reseller' => $reseller, 'login_type' => 'admin' ); } else { page_close(); printf("Error: Invalid impersonate value %s", $CDRTool['impersonate']); exit; } } else { page_close(); printf("Error: Missing impersonate setting"); exit; } } else { page_open( array( "sess" => "SIP_Subscriber_Session", "auth" => "SIP_Subscriber_Auth" ) ); $account = $SIP['account']; $reseller = $SIP['reseller']; $customer = $SIP['customer']; $sip_engine = $SIP['engine']; $login_type = "subscriber"; $login_credentials=array( 'login_type' => $login_type, 'customer' => $customer, 'reseller' => $reseller, 'sip_engine' => $sip_engine ); } $_class = 'SipSettings'; $_reseller_class = $_class.$reseller; if (class_exists($_reseller_class)) { $SipSettings_class=$_reseller_class; } else { $SipSettings_class=$_class; } if ($resellerFilters[$login_credentials['reseller']]['sip_engine']) { $login_credentials['sip_engine'] = $resellerFilters[$login_credentials['reseller']]['sip_engine']; } else if ($_REQUEST['sip_engine']) { $login_credentials['sip_engine'] = $_REQUEST['sip_engine']; } else if ($resellerFilters['default']['sip_engine']) { $login_credentials['sip_engine'] = $resellerFilters['default']['sip_engine']; } renderUI($SipSettings_class, $account, $login_credentials, $soapEngines); page_close(); ?> diff --git a/sip_settings_digest.phtml b/sip_settings_digest.phtml index 49cbe82..1188c64 100644 --- a/sip_settings_digest.phtml +++ b/sip_settings_digest.phtml @@ -1,48 +1,48 @@ $reseller, 'customer' => $customer, 'login_type' => $login_type, 'sip_engine' => $sip_engine, 'templates_path' => './templates' ); renderUI($SipSettings_class, $account, $login_credentials, $soapEngines); ?> diff --git a/sip_settings_tlscert.phtml b/sip_settings_tlscert.phtml index f864993..14063fa 100644 --- a/sip_settings_tlscert.phtml +++ b/sip_settings_tlscert.phtml @@ -1,44 +1,44 @@ $reseller, 'customer' => $customer, 'login_type' => $login_type, 'sip_engine' => $sip_engine, 'templates_path' => './templates' ); renderUI($SipSettings_class, $account, $login_credentials, $soapEngines); ?>