raster pushed a commit to branch master.

http://git.enlightenment.org/website/www.git/commit/?id=f934133a344d85125d321bde485012fd02d03da6

commit f934133a344d85125d321bde485012fd02d03da6
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Wed Oct 28 14:53:22 2015 +0900

    www - add an edje file share infra like screenshots
---
 public_html/edjshare.php | 87 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 87 insertions(+)

diff --git a/public_html/edjshare.php b/public_html/edjshare.php
new file mode 100644
index 0000000..0c59aa3
--- /dev/null
+++ b/public_html/edjshare.php
@@ -0,0 +1,87 @@
+<?php
+
+$eet = "/usr/bin/eet";
+
+function get_ip()
+{
+    if (getenv("REMOTE_ADDR")) $ip = getenv("REMOTE_ADDR");
+    else $ip = "UNKNOWN";
+    return $ip;
+}
+
+ob_start();
+############ limit - 20 mb.
+$data = file_get_contents('php://input', NULL, NULL, 0, 50 * 1024 * 1024);
+############ magic jpeg signature
+$edj_match = "\x1e\xe7\x0f\x42";
+$edj_magic = substr($data, 0, 4);
+
+############ base on signaure, add file extension
+if ($edj_match != $edj_magic) {
+  header("HTTP/1.1 400 Bad Request");
+  echo "Invalid File Format";
+  ob_end_flush();
+  die();
+}
+
+############ get a unique name
+$dest = uniqid("e-", true);
+$temp    = $_SERVER["DOCUMENT_ROOT"] . "/edjshare/tmp/" . $dest . ".edj";
+$thumb   = $_SERVER["DOCUMENT_ROOT"] . "/edjshare/tmp/th-" . $dest . ".png";
+$temp_ip = $_SERVER["DOCUMENT_ROOT"] . "/edjshare/tmp/ip-" . $dest;
+$meta    = $_SERVER["DOCUMENT_ROOT"] . "/edjshare/tmp/meta-" . $dest . ".meta";
+
+mkdir($_SERVER["DOCUMENT_ROOT"] . "/edjshare");
+mkdir($_SERVER["DOCUMENT_ROOT"] . "/edjshare/tmp");
+
+############ store the file
+$fh = fopen($temp, 'wb');
+fwrite($fh, $data);
+fclose($fh);
+
+############ extract thumb from edj and remove it
+shell_exec($eet . " -x " . $temp . " edjshare/thumb " . $thumb);
+shell_exec($eet . " -r " . $temp . " edjshare/thumb");
+shell_exec($eet . " -x " . $temp . " edjshare/meta " . $meta);
+shell_exec($eet . " -r " . $temp . " edjshare/meta ");
+
+$meta_data = file_get_contents($meta);
+$meta_data = preg_replace('/[^A-Za-z0-9\s]/', '', $meta_data);
+$meta_data = preg_replace('!\s+!', ' ', $meta_data);
+$meta_data = trim($meta_data, " ");
+
+############ store ip of uploader
+$fh = fopen($temp_ip, 'w');
+fwrite($fh, md5($dest . get_ip()));
+fclose($fh);
+############ prepare url to get file from
+$loc = "http://www.enlightenment.org/edjshare/"; . $dest;
+
+if (!file_exists($thumb) || !file_exists($meta) ||
+    !rename($thumb, $_SERVER["DOCUMENT_ROOT"] . "/edjshare/th-" . $dest . 
".png"))
+{
+    unlink($temp);
+    unlink($thumb);
+    unlink($temp_ip);
+    unlink($meta);
+    header("HTTP/1.1 400 Bad Request");
+    if (!file_exists($thumb)) echo "No Thumb";
+    else if (!file_exists($meta)) echo "No meta";
+    else echo "Invalid File Format";
+    ob_end_flush();
+    die();
+}
+
+rename($temp, $_SERVER["DOCUMENT_ROOT"] . "/edjshare/" . $dest . ".edj");
+rename($temp_ip, $_SERVER["DOCUMENT_ROOT"] . "/edjshare/ip-" . $dest);
+file_put_contents($_SERVER["DOCUMENT_ROOT"] . "/edjshare/index.txt",
+                  $dest . " " . $meta_data . "\n", FILE_APPEND | LOCK_EX);
+unlink($meta);
+
+############ respond!
+header("HTTP/1.1 200 OK");
+header("Content-Type: text/plain");
+header("X-Enlightenment-Service: Pants On");
+print $loc;
+ob_end_flush();
+?>

-- 


Reply via email to