Completed
Branch master (0f0f79)
by Julien
11:55
created
index.php 4 patches
Doc Comments   +3 added lines patch added patch discarded remove patch
@@ -243,6 +243,9 @@
 block discarded – undo
243 243
     }
244 244
 }
245 245
 
246
+/**
247
+ * @param string $filter
248
+ */
246 249
 function GetDirectoryList ($directory, $filter){
247 250
     $results = array();
248 251
     $handler = opendir($directory);
Please login to merge, or discard this patch.
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -248,7 +248,7 @@
 block discarded – undo
248 248
     $handler = opendir($directory);
249 249
     while ($file = readdir($handler)) {
250 250
         if ($file != "." && $file != ".." && preg_match("/".$filter."/", $file)) {
251
-              $results[] = $file;
251
+                $results[] = $file;
252 252
         }
253 253
     }
254 254
     closedir($handler);
Please login to merge, or discard this patch.
Spacing   +43 added lines, -43 removed lines patch added patch discarded remove patch
@@ -12,17 +12,17 @@  discard block
 block discarded – undo
12 12
 package_update_channel = stable
13 13
 */
14 14
 
15
-$spkDir = "packages/";  // This has to be a directory relative to
15
+$spkDir = "packages/"; // This has to be a directory relative to
16 16
                         // where this  script is and served by Apache
17
-$synologyModels = "conf/synology_models.conf";  // File where Syno models are
17
+$synologyModels = "conf/synology_models.conf"; // File where Syno models are
18 18
                                                 // stored in "DS412+=cedarview"
19 19
                                                 // type format
20
-$excludedSynoServices = array("apache-sys","apache-web","mdns","samba","db","applenetwork","cron","nfs","firewall");
20
+$excludedSynoServices = array("apache-sys", "apache-web", "mdns", "samba", "db", "applenetwork", "cron", "nfs", "firewall");
21 21
 $host = $_SERVER['HTTP_HOST'].substr($_SERVER['REQUEST_URI'], 0, strrpos($_SERVER['REQUEST_URI'], "/"))."/";
22 22
 
23 23
 $siteName = "Simple SPK Server";
24 24
 
25
-if($_SERVER['REQUEST_METHOD'] == 'POST'){
25
+if ($_SERVER['REQUEST_METHOD'] == 'POST') {
26 26
 
27 27
     $language = trim($_POST['language']);
28 28
     $timezone = trim($_POST['timezone']);
@@ -33,18 +33,18 @@  discard block
 block discarded – undo
33 33
     $channel = trim($_POST['package_update_channel']);
34 34
     $unique = trim($_POST['unique']);
35 35
 
36
-    if (!$language || !$timezone || !$arch || !$major || is_null($minor) || !$build || !$channel || !$unique || !$serial || !(preg_match("/^$unique/", $_SERVER['HTTP_USER_AGENT']) || $_SERVER['HTTP_USER_AGENT'] == "\"Mozilla/4.0 (compatible; MSIE 6.1; Windows XP) Synology\"" || $_SERVER['HTTP_USER_AGENT'] == "\"Mozilla/4.0 (compatible; MSIE 6.1; Windows XP)\"" )){
36
+    if (!$language || !$timezone || !$arch || !$major || is_null($minor) || !$build || !$channel || !$unique || !$serial || !(preg_match("/^$unique/", $_SERVER['HTTP_USER_AGENT']) || $_SERVER['HTTP_USER_AGENT'] == "\"Mozilla/4.0 (compatible; MSIE 6.1; Windows XP) Synology\"" || $_SERVER['HTTP_USER_AGENT'] == "\"Mozilla/4.0 (compatible; MSIE 6.1; Windows XP)\"")) {
37 37
         header('Content-type: text/html');
38 38
         header('HTTP/1.1 404 Not Found');
39 39
         header('Status: 404 Not Found');
40 40
     } else {
41
-        if($arch == "88f6282"){
41
+        if ($arch == "88f6282") {
42 42
             $arch = "88f6281";
43 43
         }
44 44
         echo stripslashes(json_encode(DisplayPackagesJSON(GetPackageList($arch, $channel, $major.".".$minor.".".$build))));
45 45
     }
46 46
 }
47
-elseif($_SERVER['REQUEST_METHOD'] == 'GET')
47
+elseif ($_SERVER['REQUEST_METHOD'] == 'GET')
48 48
 {
49 49
     $arch = trim($_GET['arch']);
50 50
     $channel = trim($_GET['channel']);
@@ -67,9 +67,9 @@  discard block
 block discarded – undo
67 67
     echo "\t\t<div id=\"menu\">\n";
68 68
     echo "\t\t\t<ul>\n";
69 69
     echo "\t\t\t\t<li><a href=\".\">Synology Models</a></li>\n";
70
-    echo ($arch && !$channel)?"\t\t\t\t<li><a href=\"".$_SERVER['REQUEST_URI']."&channel=beta\">Show Beta Packages</a></li>\n":"";
71
-    echo $channel?"\t\t\t\t<li><a href=\"index.php?arch=".$arch."\">Hide Beta Packages</a></li>\n":"";
72
-    echo !$fullList?"\t\t\t\t<li><a href=\"index.php?fulllist=true\">Full Packages List</a></li>\n":"";
70
+    echo ($arch && !$channel) ? "\t\t\t\t<li><a href=\"".$_SERVER['REQUEST_URI']."&channel=beta\">Show Beta Packages</a></li>\n" : "";
71
+    echo $channel ? "\t\t\t\t<li><a href=\"index.php?arch=".$arch."\">Hide Beta Packages</a></li>\n" : "";
72
+    echo !$fullList ? "\t\t\t\t<li><a href=\"index.php?fulllist=true\">Full Packages List</a></li>\n" : "";
73 73
     echo "\t\t\t\t<li class=\"last\"><a href=\"http://github.com/jdel/sspks\">Host your own packages</a></li>\n";
74 74
     echo "\t\t\t</ul>\n";
75 75
     echo "\t\t</div>\n";
@@ -78,7 +78,7 @@  discard block
 block discarded – undo
78 78
     echo "\t\t</div>\n";
79 79
     echo "\t\t<div id=\"content\">\n";
80 80
     echo "\t\t\t<ul>\n";
81
-    if ($arch){
81
+    if ($arch) {
82 82
         DisplayPackagesHTML(GetPackageList($arch, $channel, "skip"));
83 83
     } elseif ($fullList) {
84 84
         DisplayAllPackages($spkDir);
@@ -101,41 +101,41 @@  discard block
 block discarded – undo
101 101
     header('Status: 404 Not Found');
102 102
 }
103 103
 
104
-function GetPackageList($arch="noarch", $beta=false, $version="") {
104
+function GetPackageList($arch = "noarch", $beta = false, $version = "") {
105 105
     global $host;
106 106
     global $spkDir;
107 107
     $packagesList = GetDirectoryList($spkDir, ".*\.nfo");
108 108
     $packagesAvailable = array();
109
-    if (!empty($packagesList)){
110
-        foreach($packagesList as $nfoFile){
109
+    if (!empty($packagesList)) {
110
+        foreach ($packagesList as $nfoFile) {
111 111
             $packageInfo = array();
112 112
             $spkFile = basename($nfoFile, ".nfo").".spk";
113 113
             $thumb_72 = basename($nfoFile, ".nfo")."_thumb_72.png";
114 114
             $thumb_120 = basename($nfoFile, ".nfo")."_thumb_120.png";
115
-            if(file_exists($spkDir.$nfoFile) && file_exists($spkDir.$spkFile)){
115
+            if (file_exists($spkDir.$nfoFile) && file_exists($spkDir.$spkFile)) {
116 116
                 $fileHandle = fopen($spkDir.$nfoFile, 'r');
117
-                while(!feof($fileHandle))
117
+                while (!feof($fileHandle))
118 118
                 {
119 119
                             $line = explode("=", chop(str_replace("\"", "", fgets($fileHandle))));
120
-                            if (trim($line[0])){ $packageInfo[$line[0]] = $line[1]; }
120
+                            if (trim($line[0])) { $packageInfo[$line[0]] = $line[1]; }
121 121
                 }
122 122
                 fclose($fileHandle);
123 123
                 $packageInfo['nfo'] = $spkDir.$nfoFile;
124 124
                 $packageInfo['spk'] = $spkDir.$spkFile;
125
-                if(file_exists($spkDir.$thumb_72)){
125
+                if (file_exists($spkDir.$thumb_72)) {
126 126
                     $packageInfo['thumbnail'][] = "http://".$host.$spkDir.$thumb_72;
127 127
                 } else {
128 128
                     $packageInfo['thumbnail'][] = "http://".$host.$spkDir."default_package_icon_72.png";
129 129
                 }
130
-                if(file_exists($spkDir.$thumb_120)){
130
+                if (file_exists($spkDir.$thumb_120)) {
131 131
                     $packageInfo['thumbnail'][] = "http://".$host.$spkDir.$thumb_120;
132 132
                 } else {
133 133
                     $packageInfo['thumbnail'][] = "http://".$host.$spkDir."default_package_icon_120.png";
134 134
                 }
135
-                foreach(GetDirectoryList($spkDir, basename($nfoFile, ".nfo").".*_screen_.*\.png") as $snapshot){
135
+                foreach (GetDirectoryList($spkDir, basename($nfoFile, ".nfo").".*_screen_.*\.png") as $snapshot) {
136 136
                     $packageInfo['snapshot'][] = "http://".$host.$spkDir.$snapshot;
137 137
                 }
138
-                if (    (empty($packagesAvailable[$packageInfo['package']])
138
+                if ((empty($packagesAvailable[$packageInfo['package']])
139 139
                     || version_compare($packageInfo['version'], $packagesAvailable[$packageInfo['package']]['version'], ">"))
140 140
                     && ($packageInfo['arch'] == $arch || $packageInfo['arch'] == "noarch")
141 141
                     && (($beta == "beta" && $packageInfo['beta'] == true) || empty($packageInfo['beta']))
@@ -149,12 +149,12 @@  discard block
 block discarded – undo
149 149
     return $packagesAvailable;
150 150
 }
151 151
 
152
-function DisplayPackagesHTML($packagesAvailable){
152
+function DisplayPackagesHTML($packagesAvailable) {
153 153
     global $host;
154
-    foreach($packagesAvailable as $packageInfo){
154
+    foreach ($packagesAvailable as $packageInfo) {
155 155
         echo "\t\t\t\t<li class=\"package\">\n";
156 156
         echo "\t\t\t\t\t<div class=\"spk-icon\">\n";
157
-        echo "\t\t\t\t\t\t<a href=\"http://".$host.$packageInfo['spk']."\"><img src=\"".$packageInfo['thumbnail'][0]."\" alt=\"".$packageInfo["displayname"]."\" />".($packageInfo['beta']?"<ins></ins>":"")."</a>\n";
157
+        echo "\t\t\t\t\t\t<a href=\"http://".$host.$packageInfo['spk']."\"><img src=\"".$packageInfo['thumbnail'][0]."\" alt=\"".$packageInfo["displayname"]."\" />".($packageInfo['beta'] ? "<ins></ins>" : "")."</a>\n";
158 158
         echo "\t\t\t\t\t</div>\n";
159 159
         echo "\t\t\t\t\t<div class=\"spk-desc\">\n";
160 160
         echo "\t\t\t\t\t\t<span class=\"spk-title\">".$packageInfo["displayname"]." v".$packageInfo["version"]."</span><br />\n";
@@ -178,11 +178,11 @@  discard block
 block discarded – undo
178 178
     }
179 179
 }
180 180
 
181
-function DisplayPackagesJSON($packagesAvailable){
181
+function DisplayPackagesJSON($packagesAvailable) {
182 182
     $packagesJSON = array();
183 183
     global $host;
184 184
     global $excludedSynoServices;
185
-    foreach($packagesAvailable as $packageInfo){
185
+    foreach ($packagesAvailable as $packageInfo) {
186 186
         $packageJSON = array(
187 187
         "package" => $packageInfo["package"],
188 188
         "version" => $packageInfo["version"],
@@ -191,23 +191,23 @@  discard block
 block discarded – undo
191 191
         "link" => "http://".$host.$packageInfo['spk'],
192 192
         "md5" => md5_file($packageInfo['spk']),
193 193
         "size" => filesize($packageInfo['spk']),
194
-        "qinst" => !empty($packageInfo['qinst'])?$packageInfo['qinst']:false,                               // quick install
195
-        "qstart" => !empty($packageInfo['start'])?$packageInfo['start']:false,                              // quick start
196
-        "depsers" => !empty($packageInfo['start_dep_services'])?$packageInfo['start_dep_services']:"",      // required started packages
197
-        "deppkgs" => !empty($packageInfo['install_dep_services'])?trim(str_replace($excludedSynoServices, "", $packageInfo['install_dep_services'])):"",
194
+        "qinst" => !empty($packageInfo['qinst']) ? $packageInfo['qinst'] : false, // quick install
195
+        "qstart" => !empty($packageInfo['start']) ? $packageInfo['start'] : false, // quick start
196
+        "depsers" => !empty($packageInfo['start_dep_services']) ? $packageInfo['start_dep_services'] : "", // required started packages
197
+        "deppkgs" => !empty($packageInfo['install_dep_services']) ? trim(str_replace($excludedSynoServices, "", $packageInfo['install_dep_services'])) : "",
198 198
                                                                                                             // required installed packages, skips the known syno services
199 199
         "maintainer" => $packageInfo["maintainer"],
200
-        "changelog" => !empty($packageInfo["changelog"])?$packageInfo["changelog"]:"",
201
-        "beta" => !empty($packageInfo['beta'])?$packageInfo['beta']:false,                                  // beta channel
202
-        "thumbnail" => $packageInfo['thumbnail'],                                                           // New property for newer synos, need to check if it works with old synos
203
-        "icon" => $packageInfo['thumbnail'][0],                                                             // Old icon property for pre 4.2 compatibility
200
+        "changelog" => !empty($packageInfo["changelog"]) ? $packageInfo["changelog"] : "",
201
+        "beta" => !empty($packageInfo['beta']) ? $packageInfo['beta'] : false, // beta channel
202
+        "thumbnail" => $packageInfo['thumbnail'], // New property for newer synos, need to check if it works with old synos
203
+        "icon" => $packageInfo['thumbnail'][0], // Old icon property for pre 4.2 compatibility
204 204
         //"icon" => $packageInfo['package_icon'],                                                           // Get icon from INFO file
205 205
 
206 206
         //"category" => 2,                                                                                  // New property introduced, no effect on othersources packages
207 207
         //"download_count" => 6000,                                                                         // Will only display values over 1000
208
-        "price" => 0,                                                                                       // New property
208
+        "price" => 0, // New property
209 209
         //"recent_download_count" => 1222,                                                                  // Not sure what this does
210
-        "type" => 0,                                                                                        // New property introduced, no effect on othersources packages
210
+        "type" => 0, // New property introduced, no effect on othersources packages
211 211
         "snapshot" => $packageInfo['snapshot']                                                              // Adds multiple screenshots to package view
212 212
         );
213 213
         $packagesJSON[] = $packageJSON;
@@ -219,31 +219,31 @@  discard block
 block discarded – undo
219 219
         global $spkDir;
220 220
         global $host;
221 221
         $packagesList = GetDirectoryList($spkDir, ".*\.spk");
222
-        foreach($packagesList as $spkFile){
222
+        foreach ($packagesList as $spkFile) {
223 223
                 echo "\t\t\t\t<li><a href=\"http://".$host.$spkDir.$spkFile."\">".$spkFile."</a></li>\n";
224 224
         }
225 225
 }
226 226
 
227 227
 function DisplaySynoModels($synologyModelsFile) {
228
-    if(file_exists($synologyModelsFile)){
228
+    if (file_exists($synologyModelsFile)) {
229 229
         $synologyModels = array();
230 230
         $fileHandle = fopen($synologyModelsFile, 'r');
231
-        while(!feof($fileHandle))
231
+        while (!feof($fileHandle))
232 232
         {
233 233
             $line = explode("=", chop(str_replace("\"", "", fgets($fileHandle))));
234
-            if ($line[0]){ $synologyModels[$line[0]] = $line[1]; }
234
+            if ($line[0]) { $synologyModels[$line[0]] = $line[1]; }
235 235
         }
236 236
         fclose($fileHandle);
237 237
         ksort($synologyModels);
238
-        foreach ($synologyModels as $synoName => $synoArch){
238
+        foreach ($synologyModels as $synoName => $synoArch) {
239 239
             echo "\t\t\t\t<li class=\"syno-model\"><a href=\"?arch=".$synoArch."\">".$synoName."</a></li>\n";
240 240
         }
241
-    } else  {
241
+    } else {
242 242
         echo "\t\t\t\t<li>Couldn't find Synology models</li>";
243 243
     }
244 244
 }
245 245
 
246
-function GetDirectoryList ($directory, $filter){
246
+function GetDirectoryList($directory, $filter) {
247 247
     $results = array();
248 248
     $handler = opendir($directory);
249 249
     while ($file = readdir($handler)) {
Please login to merge, or discard this patch.
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -43,8 +43,7 @@  discard block
 block discarded – undo
43 43
         }
44 44
         echo stripslashes(json_encode(DisplayPackagesJSON(GetPackageList($arch, $channel, $major.".".$minor.".".$build))));
45 45
     }
46
-}
47
-elseif($_SERVER['REQUEST_METHOD'] == 'GET')
46
+} elseif($_SERVER['REQUEST_METHOD'] == 'GET')
48 47
 {
49 48
     $arch = trim($_GET['arch']);
50 49
     $channel = trim($_GET['channel']);
@@ -93,8 +92,7 @@  discard block
 block discarded – undo
93 92
     echo "\t\t</div>\n";
94 93
     echo "\t</body>\n";
95 94
     echo "</html>";
96
-}
97
-else
95
+} else
98 96
 {
99 97
     header('Content-type: text/html');
100 98
     header('HTTP/1.1 404 Not Found');
Please login to merge, or discard this patch.