diff --git a/src/_h5ai/client/js/inc/core/server.js b/src/_h5ai/client/js/inc/core/server.js index 285b29e6..759b81bb 100644 --- a/src/_h5ai/client/js/inc/core/server.js +++ b/src/_h5ai/client/js/inc/core/server.js @@ -5,9 +5,7 @@ modulejs.define('core/server', ['$', '_', 'config'], function ($, _, config) { request: function (data, callback) { - data.api = true; - - if (server.apiHref) { + if (server.api) { $.ajax({ url: '.', data: data, diff --git a/src/_h5ai/client/js/inc/ext/delete.js b/src/_h5ai/client/js/inc/ext/delete.js index 15584e47..7c99f4de 100644 --- a/src/_h5ai/client/js/inc/ext/delete.js +++ b/src/_h5ai/client/js/inc/ext/delete.js @@ -57,7 +57,7 @@ modulejs.define('ext/delete', ['_', '$', 'core/settings', 'core/event', 'core/re init = function () { - if (!settings.enabled || !server.apiHref) { + if (!settings.enabled || !server.api) { return; } diff --git a/src/_h5ai/client/js/inc/ext/download.js b/src/_h5ai/client/js/inc/ext/download.js index 5a396e3e..f61caa04 100644 --- a/src/_h5ai/client/js/inc/ext/download.js +++ b/src/_h5ai/client/js/inc/ext/download.js @@ -35,7 +35,7 @@ modulejs.define('ext/download', ['_', '$', 'core/settings', 'core/resource', 'co if (json && json.code === 0) { setTimeout(function () { // wait here so the img above can be updated in time - window.location = server.apiHref + '?action=getarchive&id=' + json.id + '&as=h5ai-selection.' + settings.format; + window.location = '?action=getArchive&id=' + json.id + '&as=package.' + settings.format; }, 200); } else { failed(); @@ -48,7 +48,7 @@ modulejs.define('ext/download', ['_', '$', 'core/settings', 'core/resource', 'co $img.attr('src', resource.image('loading.gif', true)); server.request({ - action: 'archive', + action: 'createArchive', execution: settings.execution, format: settings.format, hrefs: hrefsStr @@ -71,7 +71,7 @@ modulejs.define('ext/download', ['_', '$', 'core/settings', 'core/resource', 'co init = function () { - if (!settings.enabled || !server.apiHref) { + if (!settings.enabled || !server.api) { return; } diff --git a/src/_h5ai/client/js/inc/ext/dropbox.js b/src/_h5ai/client/js/inc/ext/dropbox.js index e0f27dc0..e0d8caad 100644 --- a/src/_h5ai/client/js/inc/ext/dropbox.js +++ b/src/_h5ai/client/js/inc/ext/dropbox.js @@ -17,7 +17,7 @@ modulejs.define('ext/dropbox', ['_', '$', 'core/settings', 'core/entry', 'core/r init = function () { - if (!settings.enabled || !server.apiHref) { + if (!settings.enabled || !server.api) { return; } @@ -47,7 +47,7 @@ modulejs.define('ext/dropbox', ['_', '$', 'core/settings', 'core/entry', 'core/r maxfiles: settings.maxfiles, maxfilesize: settings.maxfilesize, - url: server.apiHref, + url: server.api, data: { action: 'upload', href: entry.absHref diff --git a/src/_h5ai/client/js/inc/ext/thumbnails.js b/src/_h5ai/client/js/inc/ext/thumbnails.js index cdb46a89..f399f5db 100644 --- a/src/_h5ai/client/js/inc/ext/thumbnails.js +++ b/src/_h5ai/client/js/inc/ext/thumbnails.js @@ -11,7 +11,7 @@ modulejs.define('ext/thumbnails', ['_', 'core/settings', 'core/entry', 'core/eve requestThumbSmall = function (type, href, callback) { - server.request({action: 'getthumbsrc', type: type, href: href, mode: 'square', width: 16, height: 16}, function (json) { + server.request({action: 'getThumbHref', type: type, href: href, mode: 'square', width: 16, height: 16}, function (json) { callback(json && json.code === 0 ? json.absHref : null); }); @@ -19,7 +19,7 @@ modulejs.define('ext/thumbnails', ['_', 'core/settings', 'core/entry', 'core/eve requestThumbBig = function (type, href, callback) { - server.request({action: 'getthumbsrc', type: type, href: href, mode: 'rational', width: 100, height: 48}, function (json) { + server.request({action: 'getThumbHref', type: type, href: href, mode: 'rational', width: 100, height: 48}, function (json) { callback(json && json.code === 0 ? json.absHref : null); }); @@ -58,7 +58,7 @@ modulejs.define('ext/thumbnails', ['_', 'core/settings', 'core/entry', 'core/eve init = function (entry) { - if (!settings.enabled || !server.apiHref) { + if (!settings.enabled || !server.api) { return; } diff --git a/src/_h5ai/client/js/inc/h5ai-main.js b/src/_h5ai/client/js/inc/h5ai-main.js index 0d6906ce..4c90844d 100644 --- a/src/_h5ai/client/js/inc/h5ai-main.js +++ b/src/_h5ai/client/js/inc/h5ai-main.js @@ -1,5 +1,5 @@ -modulejs.define('h5ai-main', ['_', 'core/event', 'core/settings'], function (_, event, settings) { +modulejs.define('h5ai-main', ['_', 'core/event'], function (_, event) { event.pub('beforeView'); diff --git a/src/_h5ai/client/js/scripts.js b/src/_h5ai/client/js/scripts.js index 50af566b..b14a9674 100644 --- a/src/_h5ai/client/js/scripts.js +++ b/src/_h5ai/client/js/scripts.js @@ -57,7 +57,6 @@ if (backend === 'php') { $.getJSON('.', { - api: true, action: 'get', options: true, types: true, @@ -77,7 +76,7 @@ langs: langs, server: { backend: backend, - apiHref: null, + api: false, name: 'apache', version: null } diff --git a/src/_h5ai/conf/options.json b/src/_h5ai/conf/options.json index d8687c0a..cdd8ebb5 100644 --- a/src/_h5ai/conf/options.json +++ b/src/_h5ai/conf/options.json @@ -104,7 +104,7 @@ Options */ "download": { "enabled": true, - "execution": "php", + "execution": "shell", "format": "zip" }, diff --git a/src/_h5ai/server/php/inc/Api.php b/src/_h5ai/server/php/inc/Api.php index 610487de..cbadb7fb 100644 --- a/src/_h5ai/server/php/inc/Api.php +++ b/src/_h5ai/server/php/inc/Api.php @@ -77,7 +77,7 @@ class Api { } - else if ($action === "getthumbsrc") { + else if ($action === "getThumbHref") { if (!$options["thumbnails"]["enabled"]) { json_fail(1, "thumbnails disabled"); @@ -100,7 +100,7 @@ class Api { } - else if ($action === "archive") { + else if ($action === "createArchive") { json_fail(1, "downloads disabled", !$options["download"]["enabled"]); @@ -120,7 +120,7 @@ class Api { } - else if ($action === "getarchive") { + else if ($action === "getArchive") { json_fail(1, "downloads disabled", !$options["download"]["enabled"]); @@ -222,11 +222,6 @@ class Api { json_exit(); } - - - else { - json_fail(100, "unsupported action"); - } } } diff --git a/src/_h5ai/server/php/inc/App.php b/src/_h5ai/server/php/inc/App.php index 0ab82a94..6b67c46d 100644 --- a/src/_h5ai/server/php/inc/App.php +++ b/src/_h5ai/server/php/inc/App.php @@ -292,7 +292,7 @@ class App { return array( "backend" => "php", - "apiHref" => $this->app_abs_href . "server/php/api.php", + "api" => true, "name" => strtolower(preg_replace("/\\/.*$/", "", getenv("SERVER_SOFTWARE"))), "version" => strtolower(preg_replace("/^.*\\//", "", preg_replace("/\\s.*$/", "", getenv("SERVER_SOFTWARE")))) ); diff --git a/src/_h5ai/server/php/inc/Archive.php b/src/_h5ai/server/php/inc/Archive.php index be6d2424..94715b75 100644 --- a/src/_h5ai/server/php/inc/Archive.php +++ b/src/_h5ai/server/php/inc/Archive.php @@ -77,6 +77,7 @@ class Archive { $real_file = $this->app->get_abs_path($href); $archived_file = preg_replace("!^" . normalize_path($this->app->get_root_abs_path(), true) . "!", "", $real_file); + // $archived_file = preg_replace("!^" . normalize_path($this->app->get_abs_path(), true) . "!", "", $real_file); if (is_dir($real_file)) { $this->add_dir($real_file, $archived_file); diff --git a/src/_h5ai/server/php/inc/init.php b/src/_h5ai/server/php/inc/init.php index 8a536b15..28fbd352 100644 --- a/src/_h5ai/server/php/inc/init.php +++ b/src/_h5ai/server/php/inc/init.php @@ -19,14 +19,25 @@ normalized_require_once("/server/php/inc/util.php"); normalized_require_once("/server/php/inc/App.php"); normalized_require_once("/server/php/inc/Entry.php"); -$APP = new App(APP_ABS_PATH, APP_ABS_HREF, ABS_HREF); +$app = new App(APP_ABS_PATH, APP_ABS_HREF, ABS_HREF); -if (array_key_exists("api", $_REQUEST)) { +if (count($_REQUEST)) { + + header("Content-type: application/json;h5ai={{pkg.version}}"); - use_request_params("api"); normalized_require_once("/server/php/inc/Api.php"); - $api = new Api($APP); + $api = new Api($app); $api->apply(); + + json_fail(100, "unsupported request"); + +} else { + + header("Content-type: text/html;h5ai={{pkg.version}}"); + + $HREF = $app->get_app_abs_href(); + $JSON = $app->get_generic_json(); + $FALLBACK = $app->get_no_js_fallback(); } ?> \ No newline at end of file diff --git a/src/_h5ai/server/php/index.php.jade b/src/_h5ai/server/php/index.php.jade index 4b60f893..1c26775a 100644 --- a/src/_h5ai/server/php/index.php.jade +++ b/src/_h5ai/server/php/index.php.jade @@ -1,9 +1,8 @@ | -| -- var href = "get_app_abs_href(); ?>" -- var json = "get_generic_json(); ?>" -- var fallback = "get_no_js_fallback(); ?>" +- var href = "" +- var json = "" +- var fallback = "" doctype 5 //if lt IE 9