diff --git a/tftpboot/index.php b/tftpboot/index.php
index 6b700e1..cda59ee 100644
--- a/tftpboot/index.php
+++ b/tftpboot/index.php
@@ -44,7 +44,8 @@ $fw_suffix = array('.bin', '.loads', '.sbn', '.sb2', '.sbin', '.zz', '.zup', '.l
//$settings_suffix = array('cnf.xml');
-$ringtones_list = array('distinctive.xml', 'ringlist.xml');
+$ringtones_list = array('distinctive.xml', 'ringlist.xml','distinctiveringlist.xml');
+$ringtones_suffix = array('.raw', '.pcm', '.rwb');
$locale_list = array('-dictionary.', 'dictionary-ext.', '-dictionary.utf-8.', '-kate.xml', '-font.xml', '-font.dat','-tones.xml',
'be-sccp.jar', 'tc-sccp.jar', 'td-sccp.jar', 'ipc-sccp.jar', 'mk-sccp.jar', '_locale.loads', 'i-button-help.xml');
@@ -104,8 +105,14 @@ if (!empty($req_file)) {
$tmp_file = $config['wallpapers'].'/'. $req_data_ar[$req_data_len-1].'/'. $req_file_name;
}
else if (strpos_array($ringtones_list, $req_file_name, 'any') !== FALSE) { // Request RingTones
- $tmp_file = $config['ringtones'].'/ringlist.xml';
+ $tmp_file = $config['ringtones'].'/'.$req_file_name;
+ if (!file_exists($tmp_file)) {
+ $tmp_file = $config['ringtones'].'/ringlist.xml';
+ }
}
+ else if(strpos_array($req_file_name, $ringtones_suffix,'any') !== FALSE) { // Firmware file was requested
+ $tmp_file = $config['ringtones'].'/'.$req_file_name;
+ }
else if (strpos_array($req_file, $locale_list, 'any') !== FALSE) { // Request Languages
if (!empty($req_data_ar[$req_data_len-1])) {
$tmp_file = $config['languages'].'/'. $req_data_ar[$req_data_len-1].'/'. $req_file_name;
@@ -131,14 +138,16 @@ if (!empty($req_file)) {
$tmp_file = $config['languages'].'/'. $req_data_ar[$req_data_len-1].'/'. $req_data_ar[$req_data_len];
}
*/
- if ($print_debug == 'on'){ print_r('
File : '. $req_file_name. ' not found.
');}
-
+ if ($print_debug == 'on'){ print_r('
File : '. $orig_req_file_name. ' not found.
');}
if (empty($tmp_file)) {
+ if (!empty($config['log'])) { to_log(array('GET :'.$orig_req_file_name, 'no match found'),'E',$config['log']); }
die('ERROR: no match found.');
}
$req_file_full_path = $tmp_file;
}
}
+ if (!empty($config['log'])) { to_log(array('GET :'.$orig_req_file_name, 'Remap :'.$req_file_full_path),'i',$config['log']); }
+
if (!empty($req_file_full_path)) {
if ($signed) {
$req_file_full_path .= '.sgn';
@@ -148,7 +157,7 @@ if (!empty($req_file)) {
}
if ($print_debug == 'on'){ print_r('
Returning: '. $req_file_full_path. '
');}
file_force_download($req_file_full_path);
- }
+ }
}
/*
@@ -220,6 +229,39 @@ function strpos_array($haystack, $needles, $mode='any') {
return FALSE;
}
+function to_log($text, $level='i', $file) {
+ switch (strtolower($level)) {
+ case 'e':
+ case 'error':
+ $level='ERROR';
+ break;
+ case 'i':
+ case 'info':
+ $level='INFO';
+ break;
+ case 'd':
+ case 'debug':
+ $level='DEBUG';
+ break;
+ default:
+ $level='INFO';
+ }
+ if (is_array($text)) {
+ $to_log = '';
+ foreach ($text as $value) {
+ $to_log .= $value."\t";
+ }
+ } else {
+ $to_log .= $text;
+ }
+ $_txt = date('d.m.Y h:i:s')."\t[".$level."]\t ".$to_log."\n";
+ if (empty($file)) {
+ error_log($_txt, 0);
+ } else {
+ error_log($_txt, 3, $file);
+ }
+}
+
function find_all_files($dir, $file_mask=null, $mode='full'){
$result = NULL;
diff --git a/tftpboot/locales/languages/Russian_Russia/7905-dictionary.xml b/tftpboot/locales/languages/Russian_Russian_Federation/7905-dictionary.xml
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/7905-dictionary.xml
rename to tftpboot/locales/languages/Russian_Russian_Federation/7905-dictionary.xml
diff --git a/tftpboot/locales/languages/Russian_Russia/7905-font.xml b/tftpboot/locales/languages/Russian_Russian_Federation/7905-font.xml
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/7905-font.xml
rename to tftpboot/locales/languages/Russian_Russian_Federation/7905-font.xml
diff --git a/tftpboot/locales/languages/Russian_Russia/7905-kate.xml b/tftpboot/locales/languages/Russian_Russian_Federation/7905-kate.xml
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/7905-kate.xml
rename to tftpboot/locales/languages/Russian_Russian_Federation/7905-kate.xml
diff --git a/tftpboot/locales/languages/Russian_Russia/7920-dictionary.xml b/tftpboot/locales/languages/Russian_Russian_Federation/7920-dictionary.xml
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/7920-dictionary.xml
rename to tftpboot/locales/languages/Russian_Russian_Federation/7920-dictionary.xml
diff --git a/tftpboot/locales/languages/Russian_Russia/7920-font.xml b/tftpboot/locales/languages/Russian_Russian_Federation/7920-font.xml
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/7920-font.xml
rename to tftpboot/locales/languages/Russian_Russian_Federation/7920-font.xml
diff --git a/tftpboot/locales/languages/Russian_Russia/7920-kate.xml b/tftpboot/locales/languages/Russian_Russian_Federation/7920-kate.xml
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/7920-kate.xml
rename to tftpboot/locales/languages/Russian_Russian_Federation/7920-kate.xml
diff --git a/tftpboot/locales/languages/Russian_Russia/7921-dictionary.xml b/tftpboot/locales/languages/Russian_Russian_Federation/7921-dictionary.xml
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/7921-dictionary.xml
rename to tftpboot/locales/languages/Russian_Russian_Federation/7921-dictionary.xml
diff --git a/tftpboot/locales/languages/Russian_Russia/7921-font.dat b/tftpboot/locales/languages/Russian_Russian_Federation/7921-font.dat
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/7921-font.dat
rename to tftpboot/locales/languages/Russian_Russian_Federation/7921-font.dat
diff --git a/tftpboot/locales/languages/Russian_Russia/7921-kate.utf-8.xml b/tftpboot/locales/languages/Russian_Russian_Federation/7921-kate.utf-8.xml
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/7921-kate.utf-8.xml
rename to tftpboot/locales/languages/Russian_Russian_Federation/7921-kate.utf-8.xml
diff --git a/tftpboot/locales/languages/Russian_Russia/7921-kate.xml b/tftpboot/locales/languages/Russian_Russian_Federation/7921-kate.xml
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/7921-kate.xml
rename to tftpboot/locales/languages/Russian_Russian_Federation/7921-kate.xml
diff --git a/tftpboot/locales/languages/Russian_Russia/7960-dictionary-ext.xml b/tftpboot/locales/languages/Russian_Russian_Federation/7960-dictionary-ext.xml
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/7960-dictionary-ext.xml
rename to tftpboot/locales/languages/Russian_Russian_Federation/7960-dictionary-ext.xml
diff --git a/tftpboot/locales/languages/Russian_Russia/7960-dictionary.xml b/tftpboot/locales/languages/Russian_Russian_Federation/7960-dictionary.xml
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/7960-dictionary.xml
rename to tftpboot/locales/languages/Russian_Russian_Federation/7960-dictionary.xml
diff --git a/tftpboot/locales/languages/Russian_Russia/7960-font.xml b/tftpboot/locales/languages/Russian_Russian_Federation/7960-font.xml
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/7960-font.xml
rename to tftpboot/locales/languages/Russian_Russian_Federation/7960-font.xml
diff --git a/tftpboot/locales/languages/Russian_Russia/7960-kate.xml b/tftpboot/locales/languages/Russian_Russian_Federation/7960-kate.xml
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/7960-kate.xml
rename to tftpboot/locales/languages/Russian_Russian_Federation/7960-kate.xml
diff --git a/tftpboot/locales/languages/Russian_Russia/CIPC_Locale.loads b/tftpboot/locales/languages/Russian_Russian_Federation/CIPC_Locale.loads
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/CIPC_Locale.loads
rename to tftpboot/locales/languages/Russian_Russian_Federation/CIPC_Locale.loads
diff --git a/tftpboot/locales/languages/Russian_Russia/CIPC_Locale.zip b/tftpboot/locales/languages/Russian_Russian_Federation/CIPC_Locale.zip
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/CIPC_Locale.zip
rename to tftpboot/locales/languages/Russian_Russian_Federation/CIPC_Locale.zip
diff --git a/tftpboot/locales/languages/Russian_Russia/CME-locale-ru_RU-Russian-10.5.3.0.tar.cfg b/tftpboot/locales/languages/Russian_Russian_Federation/CME-locale-ru_RU-Russian-10.5.3.0.tar.cfg
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/CME-locale-ru_RU-Russian-10.5.3.0.tar.cfg
rename to tftpboot/locales/languages/Russian_Russian_Federation/CME-locale-ru_RU-Russian-10.5.3.0.tar.cfg
diff --git a/tftpboot/locales/languages/Russian_Russia/SCCP-dictionary-ext.xml b/tftpboot/locales/languages/Russian_Russian_Federation/SCCP-dictionary-ext.xml
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/SCCP-dictionary-ext.xml
rename to tftpboot/locales/languages/Russian_Russian_Federation/SCCP-dictionary-ext.xml
diff --git a/tftpboot/locales/languages/Russian_Russia/SCCP-dictionary.utf-8.xml b/tftpboot/locales/languages/Russian_Russian_Federation/SCCP-dictionary.utf-8.xml
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/SCCP-dictionary.utf-8.xml
rename to tftpboot/locales/languages/Russian_Russian_Federation/SCCP-dictionary.utf-8.xml
diff --git a/tftpboot/locales/languages/Russian_Russia/SCCP-dictionary.xml b/tftpboot/locales/languages/Russian_Russian_Federation/SCCP-dictionary.xml
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/SCCP-dictionary.xml
rename to tftpboot/locales/languages/Russian_Russian_Federation/SCCP-dictionary.xml
diff --git a/tftpboot/locales/languages/Russian_Russia/be-sccp.jar b/tftpboot/locales/languages/Russian_Russian_Federation/be-sccp.jar
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/be-sccp.jar
rename to tftpboot/locales/languages/Russian_Russian_Federation/be-sccp.jar
diff --git a/tftpboot/locales/languages/Russian_Russia/be-sip.jar b/tftpboot/locales/languages/Russian_Russian_Federation/be-sip.jar
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/be-sip.jar
rename to tftpboot/locales/languages/Russian_Russian_Federation/be-sip.jar
diff --git a/tftpboot/locales/languages/Russian_Russia/cin-sip.jar b/tftpboot/locales/languages/Russian_Russian_Federation/cin-sip.jar
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/cin-sip.jar
rename to tftpboot/locales/languages/Russian_Russian_Federation/cin-sip.jar
diff --git a/tftpboot/locales/languages/Russian_Russia/g3-tones.xml b/tftpboot/locales/languages/Russian_Russian_Federation/g3-tones.xml
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/g3-tones.xml
rename to tftpboot/locales/languages/Russian_Russian_Federation/g3-tones.xml
diff --git a/tftpboot/locales/languages/Russian_Russia/g4-tones.xml b/tftpboot/locales/languages/Russian_Russian_Federation/g4-tones.xml
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/g4-tones.xml
rename to tftpboot/locales/languages/Russian_Russian_Federation/g4-tones.xml
diff --git a/tftpboot/locales/languages/Russian_Russia/gb-sccp-sip.jar b/tftpboot/locales/languages/Russian_Russian_Federation/gb-sccp-sip.jar
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/gb-sccp-sip.jar
rename to tftpboot/locales/languages/Russian_Russian_Federation/gb-sccp-sip.jar
diff --git a/tftpboot/locales/languages/Russian_Russia/gd-sip.jar b/tftpboot/locales/languages/Russian_Russian_Federation/gd-sip.jar
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/gd-sip.jar
rename to tftpboot/locales/languages/Russian_Russian_Federation/gd-sip.jar
diff --git a/tftpboot/locales/languages/Russian_Russia/gh-sip.jar b/tftpboot/locales/languages/Russian_Russian_Federation/gh-sip.jar
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/gh-sip.jar
rename to tftpboot/locales/languages/Russian_Russian_Federation/gh-sip.jar
diff --git a/tftpboot/locales/languages/Russian_Russia/gp-sccp.jar b/tftpboot/locales/languages/Russian_Russian_Federation/gp-sccp.jar
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/gp-sccp.jar
rename to tftpboot/locales/languages/Russian_Russian_Federation/gp-sccp.jar
diff --git a/tftpboot/locales/languages/Russian_Russia/gp-sip.jar b/tftpboot/locales/languages/Russian_Russian_Federation/gp-sip.jar
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/gp-sip.jar
rename to tftpboot/locales/languages/Russian_Russian_Federation/gp-sip.jar
diff --git a/tftpboot/locales/languages/Russian_Russia/ipc-sccp.jar b/tftpboot/locales/languages/Russian_Russian_Federation/ipc-sccp.jar
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/ipc-sccp.jar
rename to tftpboot/locales/languages/Russian_Russian_Federation/ipc-sccp.jar
diff --git a/tftpboot/locales/languages/Russian_Russia/ipc-sip.jar b/tftpboot/locales/languages/Russian_Russian_Federation/ipc-sip.jar
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/ipc-sip.jar
rename to tftpboot/locales/languages/Russian_Russian_Federation/ipc-sip.jar
diff --git a/tftpboot/locales/languages/Russian_Russia/ld-sip.jar b/tftpboot/locales/languages/Russian_Russian_Federation/ld-sip.jar
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/ld-sip.jar
rename to tftpboot/locales/languages/Russian_Russian_Federation/ld-sip.jar
diff --git a/tftpboot/locales/languages/Russian_Russia/lk-sip.jar b/tftpboot/locales/languages/Russian_Russian_Federation/lk-sip.jar
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/lk-sip.jar
rename to tftpboot/locales/languages/Russian_Russian_Federation/lk-sip.jar
diff --git a/tftpboot/locales/languages/Russian_Russia/mk-sccp.jar b/tftpboot/locales/languages/Russian_Russian_Federation/mk-sccp.jar
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/mk-sccp.jar
rename to tftpboot/locales/languages/Russian_Russian_Federation/mk-sccp.jar
diff --git a/tftpboot/locales/languages/Russian_Russia/mk-sip.jar b/tftpboot/locales/languages/Russian_Russian_Federation/mk-sip.jar
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/mk-sip.jar
rename to tftpboot/locales/languages/Russian_Russian_Federation/mk-sip.jar
diff --git a/tftpboot/locales/languages/Russian_Russia/rp-sccp.jar b/tftpboot/locales/languages/Russian_Russian_Federation/rp-sccp.jar
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/rp-sccp.jar
rename to tftpboot/locales/languages/Russian_Russian_Federation/rp-sccp.jar
diff --git a/tftpboot/locales/languages/Russian_Russia/rtl-sccp.jar b/tftpboot/locales/languages/Russian_Russian_Federation/rtl-sccp.jar
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/rtl-sccp.jar
rename to tftpboot/locales/languages/Russian_Russian_Federation/rtl-sccp.jar
diff --git a/tftpboot/locales/languages/Russian_Russia/rtl-sip.jar b/tftpboot/locales/languages/Russian_Russian_Federation/rtl-sip.jar
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/rtl-sip.jar
rename to tftpboot/locales/languages/Russian_Russian_Federation/rtl-sip.jar
diff --git a/tftpboot/locales/languages/Russian_Russia/sl-be-sip.jar b/tftpboot/locales/languages/Russian_Russian_Federation/sl-be-sip.jar
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/sl-be-sip.jar
rename to tftpboot/locales/languages/Russian_Russian_Federation/sl-be-sip.jar
diff --git a/tftpboot/locales/languages/Russian_Russia/sl-sip.jar b/tftpboot/locales/languages/Russian_Russian_Federation/sl-sip.jar
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/sl-sip.jar
rename to tftpboot/locales/languages/Russian_Russian_Federation/sl-sip.jar
diff --git a/tftpboot/locales/languages/Russian_Russia/sp-sip.jar b/tftpboot/locales/languages/Russian_Russian_Federation/sp-sip.jar
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/sp-sip.jar
rename to tftpboot/locales/languages/Russian_Russian_Federation/sp-sip.jar
diff --git a/tftpboot/locales/languages/Russian_Russia/tags_file b/tftpboot/locales/languages/Russian_Russian_Federation/tags_file
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/tags_file
rename to tftpboot/locales/languages/Russian_Russian_Federation/tags_file
diff --git a/tftpboot/locales/languages/Russian_Russia/tc-sccp.jar b/tftpboot/locales/languages/Russian_Russian_Federation/tc-sccp.jar
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/tc-sccp.jar
rename to tftpboot/locales/languages/Russian_Russian_Federation/tc-sccp.jar
diff --git a/tftpboot/locales/languages/Russian_Russia/tc-sip.jar b/tftpboot/locales/languages/Russian_Russian_Federation/tc-sip.jar
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/tc-sip.jar
rename to tftpboot/locales/languages/Russian_Russian_Federation/tc-sip.jar
diff --git a/tftpboot/locales/languages/Russian_Russia/td-sccp.jar b/tftpboot/locales/languages/Russian_Russian_Federation/td-sccp.jar
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/td-sccp.jar
rename to tftpboot/locales/languages/Russian_Russian_Federation/td-sccp.jar
diff --git a/tftpboot/locales/languages/Russian_Russia/td-sip.jar b/tftpboot/locales/languages/Russian_Russian_Federation/td-sip.jar
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/td-sip.jar
rename to tftpboot/locales/languages/Russian_Russian_Federation/td-sip.jar
diff --git a/tftpboot/locales/languages/Russian_Russia/utf8_tags_file b/tftpboot/locales/languages/Russian_Russian_Federation/utf8_tags_file
similarity index 100%
rename from tftpboot/locales/languages/Russian_Russia/utf8_tags_file
rename to tftpboot/locales/languages/Russian_Russian_Federation/utf8_tags_file