├── app
├── css
│ ├── .gitkeep
│ └── app.css
├── img
│ ├── .gitkeep
│ ├── logo.png
│ ├── spinner.gif
│ ├── glyphicons-halflings.png
│ └── glyphicons-halflings-white.png
├── partials
│ ├── .gitkeep
│ └── home.html
├── lib
│ ├── angular
│ │ ├── version.txt
│ │ ├── version.json
│ │ ├── angular-cookies.min.js
│ │ ├── i18n
│ │ │ ├── angular-locale_chr.js
│ │ │ ├── angular-locale_haw.js
│ │ │ ├── angular-locale_cy.js
│ │ │ ├── angular-locale_en-zz.js
│ │ │ ├── angular-locale_tl-ph.js
│ │ │ ├── angular-locale_el-polyton.js
│ │ │ ├── angular-locale_mo.js
│ │ │ ├── angular-locale_sr-rs.js
│ │ │ ├── angular-locale_ms.js
│ │ │ ├── angular-locale_id.js
│ │ │ ├── angular-locale_in.js
│ │ │ ├── angular-locale_ms-my.js
│ │ │ ├── angular-locale_id-id.js
│ │ │ ├── angular-locale_en-be.js
│ │ │ ├── angular-locale_en-bz.js
│ │ │ ├── angular-locale_en.js
│ │ │ ├── angular-locale_en-as.js
│ │ │ ├── angular-locale_en-bb.js
│ │ │ ├── angular-locale_en-bm.js
│ │ │ ├── angular-locale_en-fm.js
│ │ │ ├── angular-locale_en-gu.js
│ │ │ ├── angular-locale_en-gy.js
│ │ │ ├── angular-locale_en-hk.js
│ │ │ ├── angular-locale_en-jm.js
│ │ │ ├── angular-locale_en-mh.js
│ │ │ ├── angular-locale_en-mp.js
│ │ │ ├── angular-locale_en-mu.js
│ │ │ ├── angular-locale_en-na.js
│ │ │ ├── angular-locale_en-nz.js
│ │ │ ├── angular-locale_en-ph.js
│ │ │ ├── angular-locale_en-pk.js
│ │ │ ├── angular-locale_en-pr.js
│ │ │ ├── angular-locale_en-pw.js
│ │ │ ├── angular-locale_en-sg.js
│ │ │ ├── angular-locale_en-tc.js
│ │ │ ├── angular-locale_en-tt.js
│ │ │ ├── angular-locale_en-um.js
│ │ │ ├── angular-locale_en-us.js
│ │ │ ├── angular-locale_en-vg.js
│ │ │ ├── angular-locale_en-vi.js
│ │ │ ├── angular-locale_af-na.js
│ │ │ ├── angular-locale_en-au.js
│ │ │ ├── angular-locale_en-bw.js
│ │ │ ├── angular-locale_en-gb.js
│ │ │ ├── angular-locale_en-iso.js
│ │ │ ├── angular-locale_en-mt.js
│ │ │ ├── angular-locale_en-zw.js
│ │ │ ├── angular-locale_fil.js
│ │ │ ├── angular-locale_sw.js
│ │ │ ├── angular-locale_tl.js
│ │ │ ├── angular-locale_af.js
│ │ │ ├── angular-locale_en-ca.js
│ │ │ ├── angular-locale_en-ie.js
│ │ │ ├── angular-locale_en-za.js
│ │ │ ├── angular-locale_sw-tz.js
│ │ │ ├── angular-locale_tr.js
│ │ │ ├── angular-locale_af-za.js
│ │ │ ├── angular-locale_en-in.js
│ │ │ ├── angular-locale_fil-ph.js
│ │ │ ├── angular-locale_nl.js
│ │ │ ├── angular-locale_tr-tr.js
│ │ │ ├── angular-locale_zu.js
│ │ │ ├── angular-locale_nl-cw.js
│ │ │ ├── angular-locale_nl-nl.js
│ │ │ ├── angular-locale_nl-sx.js
│ │ │ ├── angular-locale_zu-za.js
│ │ │ ├── angular-locale_gl.js
│ │ │ ├── angular-locale_de-ch.js
│ │ │ ├── angular-locale_de.js
│ │ │ ├── angular-locale_gl-es.js
│ │ │ ├── angular-locale_de-be.js
│ │ │ ├── angular-locale_de-de.js
│ │ │ ├── angular-locale_de-li.js
│ │ │ ├── angular-locale_de-lu.js
│ │ │ ├── angular-locale_da.js
│ │ │ ├── angular-locale_it.js
│ │ │ ├── angular-locale_no.js
│ │ │ ├── angular-locale_da-dk.js
│ │ │ ├── angular-locale_es-419.js
│ │ │ ├── angular-locale_it-it.js
│ │ │ ├── angular-locale_it-sm.js
│ │ │ ├── angular-locale_de-at.js
│ │ │ ├── angular-locale_eu.js
│ │ │ ├── angular-locale_sq.js
│ │ │ ├── angular-locale_sv.js
│ │ │ ├── angular-locale_es-cl.js
│ │ │ ├── angular-locale_es-co.js
│ │ │ ├── angular-locale_es-ec.js
│ │ │ └── angular-locale_es-gt.js
│ │ ├── angular-loader.min.js
│ │ └── angular-bootstrap.min.js
│ ├── crypto
│ │ ├── enc-base64-min.js
│ │ └── enc-utf16-min.js
│ └── jquery.json-2.4.min.js
└── js
│ └── filters.js
├── .gitignore
├── logo.pdn
├── INSTALL-TONIC.sh
├── composer.json
├── modules
└── oxjson
│ ├── logo.png
│ ├── views
│ └── admin
│ │ ├── de
│ │ └── oxjson_lang.php
│ │ └── en
│ │ └── oxjson_lang.php
│ └── metadata.php
├── CHANGELOG.md
└── oxrest
└── oxrest.php
/app/css/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/img/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/partials/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /nbproject/private/
--------------------------------------------------------------------------------
/app/lib/angular/version.txt:
--------------------------------------------------------------------------------
1 | 1.0.8
--------------------------------------------------------------------------------
/logo.pdn:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shoptimax/oxidjson/HEAD/logo.pdn
--------------------------------------------------------------------------------
/app/img/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shoptimax/oxidjson/HEAD/app/img/logo.png
--------------------------------------------------------------------------------
/app/img/spinner.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shoptimax/oxidjson/HEAD/app/img/spinner.gif
--------------------------------------------------------------------------------
/INSTALL-TONIC.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | PHP_EXEC="php"
4 |
5 | "$PHP_EXEC" composer.phar install
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "require": {
3 | "peej/tonic": "dev-master"
4 | }
5 | }
6 |
7 |
--------------------------------------------------------------------------------
/modules/oxjson/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shoptimax/oxidjson/HEAD/modules/oxjson/logo.png
--------------------------------------------------------------------------------
/app/img/glyphicons-halflings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shoptimax/oxidjson/HEAD/app/img/glyphicons-halflings.png
--------------------------------------------------------------------------------
/app/img/glyphicons-halflings-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shoptimax/oxidjson/HEAD/app/img/glyphicons-halflings-white.png
--------------------------------------------------------------------------------
/app/lib/angular/version.json:
--------------------------------------------------------------------------------
1 | {"number":"1.0.8","full":"1.0.8","major":"1","minor":"0","dot":"8","codename":"bubble-burst","cdn":"1.0.6"}
--------------------------------------------------------------------------------
/app/partials/home.html:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
{{'_Greeting_' | i18n}}
15 |
16 |
17 |
18 |
19 |
HOWTO
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/app/css/app.css:
--------------------------------------------------------------------------------
1 | /* app css stylesheet */
2 |
3 | #mainbody {
4 | padding: 5px;
5 | }
6 | .menu {
7 | list-style: none;
8 | border-bottom: 0.1em solid black;
9 | margin-bottom: 2em;
10 | padding: 0 0 0.5em;
11 | }
12 |
13 | .menu:before {
14 | content: "[";
15 | }
16 |
17 | .menu:after {
18 | content: "]";
19 | }
20 |
21 | .menu > li {
22 | display: inline;
23 | }
24 |
25 | .menu > li:before {
26 | content: "|";
27 | padding-right: 0.3em;
28 | }
29 |
30 | .menu > li:nth-child(1):before {
31 | content: "";
32 | padding: 0;
33 | }
34 |
35 | .gridStyle {
36 | border: 1px solid rgb(212,212,212);
37 | width: 96%;
38 | height: 440px
39 | }
40 |
41 | #objedit {
42 | padding: 10px;
43 | }
44 | #objedit textarea {
45 | width: 90%;
46 | }
47 |
--------------------------------------------------------------------------------
/app/lib/angular/angular-cookies.min.js:
--------------------------------------------------------------------------------
1 | /*
2 | AngularJS v1.0.8
3 | (c) 2010-2012 Google, Inc. http://angularjs.org
4 | License: MIT
5 | */
6 | (function(m,f,l){'use strict';f.module("ngCookies",["ng"]).factory("$cookies",["$rootScope","$browser",function(d,b){var c={},g={},h,i=!1,j=f.copy,k=f.isUndefined;b.addPollFn(function(){var a=b.cookies();h!=a&&(h=a,j(a,g),j(a,c),i&&d.$apply())})();i=!0;d.$watch(function(){var a,e,d;for(a in g)k(c[a])&&b.cookies(a,l);for(a in c)e=c[a],f.isString(e)?e!==g[a]&&(b.cookies(a,e),d=!0):f.isDefined(g[a])?c[a]=g[a]:delete c[a];if(d)for(a in e=b.cookies(),c)c[a]!==e[a]&&(k(e[a])?delete c[a]:c[a]=e[a])});return c}]).factory("$cookieStore",
7 | ["$cookies",function(d){return{get:function(b){return(b=d[b])?f.fromJson(b):b},put:function(b,c){d[b]=f.toJson(c)},remove:function(b){delete d[b]}}}])})(window,window.angular);
8 |
--------------------------------------------------------------------------------
/app/lib/angular/i18n/angular-locale_chr.js:
--------------------------------------------------------------------------------
1 | angular.module("ngLocale", [], ["$provide", function($provide) {
2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
3 | $provide.value("$locale", {"DATETIME_FORMATS":{"MONTH":["ᎤᏃᎸᏔᏅ","ᎧᎦᎵ","ᎠᏅᏱ","ᎧᏬᏂ","ᎠᏂᏍᎬᏘ","ᏕᎭᎷᏱ","ᎫᏰᏉᏂ","ᎦᎶᏂ","ᏚᎵᏍᏗ","ᏚᏂᏅᏗ","ᏅᏓᏕᏆ","ᎤᏍᎩᏱ"],"SHORTMONTH":["ᎤᏃ","ᎧᎦ","ᎠᏅ","ᎧᏬ","ᎠᏂ","ᏕᎭ","ᎫᏰ","ᎦᎶ","ᏚᎵ","ᏚᏂ","ᏅᏓ","ᎤᏍ"],"DAY":["ᎤᎾᏙᏓᏆᏍᎬ","ᎤᎾᏙᏓᏉᏅᎯ","ᏔᎵᏁᎢᎦ","ᏦᎢᏁᎢᎦ","ᏅᎩᏁᎢᎦ","ᏧᎾᎩᎶᏍᏗ","ᎤᎾᏙᏓᏈᏕᎾ"],"SHORTDAY":["ᏆᏍᎬ","ᏉᏅᎯ","ᏔᎵᏁ","ᏦᎢᏁ","ᏅᎩᏁ","ᏧᎾᎩ","ᏈᏕᎾ"],"AMPMS":["ᏌᎾᎴ","ᏒᎯᏱᎢᏗᏢ"],"medium":"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a","fullDate":"EEEE, MMMM d, y","longDate":"MMMM d, y","mediumDate":"MMM d, y","shortDate":"M/d/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"chr"});
4 | }]);
--------------------------------------------------------------------------------
/app/lib/crypto/enc-base64-min.js:
--------------------------------------------------------------------------------
1 | /*
2 | CryptoJS v3.1.2
3 | code.google.com/p/crypto-js
4 | (c) 2009-2013 by Jeff Mott. All rights reserved.
5 | code.google.com/p/crypto-js/wiki/License
6 | */
7 | (function(){var h=CryptoJS,j=h.lib.WordArray;h.enc.Base64={stringify:function(b){var e=b.words,f=b.sigBytes,c=this._map;b.clamp();b=[];for(var a=0;a>>2]>>>24-8*(a%4)&255)<<16|(e[a+1>>>2]>>>24-8*((a+1)%4)&255)<<8|e[a+2>>>2]>>>24-8*((a+2)%4)&255,g=0;4>g&&a+0.75*g>>6*(3-g)&63));if(e=c.charAt(64))for(;b.length%4;)b.push(e);return b.join("")},parse:function(b){var e=b.length,f=this._map,c=f.charAt(64);c&&(c=b.indexOf(c),-1!=c&&(e=c));for(var c=[],a=0,d=0;d<
8 | e;d++)if(d%4){var g=f.indexOf(b.charAt(d-1))<<2*(d%4),h=f.indexOf(b.charAt(d))>>>6-2*(d%4);c[a>>>2]|=(g|h)<<24-8*(a%4);a++}return j.create(c,a)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}})();
9 |
--------------------------------------------------------------------------------
/app/lib/crypto/enc-utf16-min.js:
--------------------------------------------------------------------------------
1 | /*
2 | CryptoJS v3.1.2
3 | code.google.com/p/crypto-js
4 | (c) 2009-2013 by Jeff Mott. All rights reserved.
5 | code.google.com/p/crypto-js/wiki/License
6 | */
7 | (function(){var e=CryptoJS,f=e.lib.WordArray,e=e.enc;e.Utf16=e.Utf16BE={stringify:function(b){var d=b.words;b=b.sigBytes;for(var c=[],a=0;a>>2]>>>16-8*(a%4)&65535));return c.join("")},parse:function(b){for(var d=b.length,c=[],a=0;a>>1]|=b.charCodeAt(a)<<16-16*(a%2);return f.create(c,2*d)}};e.Utf16LE={stringify:function(b){var d=b.words;b=b.sigBytes;for(var c=[],a=0;a>>2]>>>16-8*(a%4)&65535)<<8&4278255360|(d[a>>>
8 | 2]>>>16-8*(a%4)&65535)>>>8&16711935));return c.join("")},parse:function(b){for(var d=b.length,c=[],a=0;a>>1,j=e[g],h=b.charCodeAt(a)<<16-16*(a%2);e[g]=j|h<<8&4278255360|h>>>8&16711935}return f.create(c,2*d)}}})();
9 |
--------------------------------------------------------------------------------
/app/lib/angular/angular-loader.min.js:
--------------------------------------------------------------------------------
1 | /*
2 | AngularJS v1.0.8
3 | (c) 2010-2012 Google, Inc. http://angularjs.org
4 | License: MIT
5 | */
6 | (function(i){'use strict';function d(c,b,e){return c[b]||(c[b]=e())}return d(d(i,"angular",Object),"module",function(){var c={};return function(b,e,f){e&&c.hasOwnProperty(b)&&(c[b]=null);return d(c,b,function(){function a(a,b,d){return function(){c[d||"push"]([a,b,arguments]);return g}}if(!e)throw Error("No module: "+b);var c=[],d=[],h=a("$injector","invoke"),g={_invokeQueue:c,_runBlocks:d,requires:e,name:b,provider:a("$provide","provider"),factory:a("$provide","factory"),service:a("$provide","service"),
7 | value:a("$provide","value"),constant:a("$provide","constant","unshift"),filter:a("$filterProvider","register"),controller:a("$controllerProvider","register"),directive:a("$compileProvider","directive"),config:h,run:function(a){d.push(a);return this}};f&&h(f);return g})}})})(window);
8 |
--------------------------------------------------------------------------------
/app/lib/angular/i18n/angular-locale_haw.js:
--------------------------------------------------------------------------------
1 | angular.module("ngLocale", [], ["$provide", function($provide) {
2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
3 | $provide.value("$locale", {"DATETIME_FORMATS":{"MONTH":["Ianuali","Pepeluali","Malaki","ʻApelila","Mei","Iune","Iulai","ʻAukake","Kepakemapa","ʻOkakopa","Nowemapa","Kekemapa"],"SHORTMONTH":["Ian.","Pep.","Mal.","ʻAp.","Mei","Iun.","Iul.","ʻAu.","Kep.","ʻOk.","Now.","Kek."],"DAY":["Lāpule","Poʻakahi","Poʻalua","Poʻakolu","Poʻahā","Poʻalima","Poʻaono"],"SHORTDAY":["LP","P1","P2","P3","P4","P5","P6"],"AMPMS":["AM","PM"],"medium":"d MMM y h:mm:ss a","short":"d/M/yy h:mm a","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"d/M/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"haw"});
4 | }]);
--------------------------------------------------------------------------------
/app/lib/angular/i18n/angular-locale_cy.js:
--------------------------------------------------------------------------------
1 | angular.module("ngLocale", [], ["$provide", function($provide) {
2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
3 | $provide.value("$locale", {"DATETIME_FORMATS":{"MONTH":["Ionawr","Chwefror","Mawrth","Ebrill","Mai","Mehefin","Gorffenaf","Awst","Medi","Hydref","Tachwedd","Rhagfyr"],"SHORTMONTH":["Ion","Chwef","Mawrth","Ebrill","Mai","Meh","Gorff","Awst","Medi","Hyd","Tach","Rhag"],"DAY":["Dydd Sul","Dydd Llun","Dydd Mawrth","Dydd Mercher","Dydd Iau","Dydd Gwener","Dydd Sadwrn"],"SHORTDAY":["Sul","Llun","Maw","Mer","Iau","Gwen","Sad"],"AMPMS":["AM","PM"],"medium":"d MMM y HH:mm:ss","short":"dd/MM/yyyy HH:mm","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"dd/MM/yyyy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"cy"});
4 | }]);
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Change Log
2 | This is the OXID|Json changelog.
3 |
4 | ## [1.1.1] - 2016-10-19
5 | ### Changed
6 | - fixed some PHP warnings concerning array etc.
7 | - updated README (.htaccess instructions and PHP 5.6. deprecation warnings etc.)
8 | - added example htaccess.txt
9 | - some cleanup, comments and formatting
10 | - tested compatibility with OXID 4.10 / 5.3
11 |
12 | ## [1.1.0] - 2015-07-27
13 | (c) 2015 [Proud Sourcing](http://www.proudcommerce.de/), Nuremberg, Germany
14 | ### Added
15 | - introduced CHANGLOG :)
16 | - added module settings for blacklisted fields, e.g. password or passsalt
17 | - added oxaddress data to oxuser data for displaying and saving (read/write)
18 | - made oxnewssubscribed data available via user id (e.g. "../oxrest/oxnewssubscribed/oxdefaultadmin")
19 |
20 | ### Changed
21 | - filter for password etc. fields in list results, too
22 | - updated for OXID >= CE 4.9 / EE 5.2
23 |
24 |
25 | ## [1.0.0] - 2013-11-18
26 | (c) 2013 [shoptimax](http://www.shoptimax.de/), Nuremberg , Germany
27 | - Initial release.
28 |
--------------------------------------------------------------------------------
/app/js/filters.js:
--------------------------------------------------------------------------------
1 | /**
2 | * This file is part of OXIDJson.
3 | *
4 | * OXIDJson is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * OXIDJson is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this package. If not, see .
16 | *
17 | * @link http://www.shoptimax.de
18 | * @package oxjson
19 | * @copyright (C) shoptimax GmbH 2013-2014
20 | * @version 1.0.1
21 | * @author Stefan Moises
22 | */
23 |
24 | 'use strict';
25 |
26 | /* Filters */
27 |
28 | angular.module('myApp.filters', []).
29 | filter('interpolate', ['version', function(version) {
30 | return function(text) {
31 | return String(text).replace(/\%VERSION\%/mg, version);
32 | }
33 | }]);
34 |
--------------------------------------------------------------------------------
/app/lib/angular/i18n/angular-locale_en-zz.js:
--------------------------------------------------------------------------------
1 | angular.module("ngLocale", [], ["$provide", function($provide) {
2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
3 | $provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"(\u00A4","negSuf":")","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"$"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["January","February","March","April","May","June","July","August","September","October","November","December"],"SHORTMONTH":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"DAY":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"SHORTDAY":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"AMPMS":["AM","PM"],"medium":"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a","fullDate":"EEEE, MMMM d, y","longDate":"MMMM d, y","mediumDate":"MMM d, y","shortDate":"M/d/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"id":"en-zz"});
4 | }]);
--------------------------------------------------------------------------------
/app/lib/angular/i18n/angular-locale_tl-ph.js:
--------------------------------------------------------------------------------
1 | angular.module("ngLocale", [], ["$provide", function($provide) {
2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
3 | $provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"P"},"pluralCat":function (n) { if (n == 0 || n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["Enero","Pebrero","Marso","Abril","Mayo","Hunyo","Hulyo","Agosto","Setyembre","Oktubre","Nobyembre","Disyembre"],"SHORTMONTH":["Ene","Peb","Mar","Abr","May","Hun","Hul","Ago","Set","Okt","Nob","Dis"],"DAY":["Linggo","Lunes","Martes","Miyerkules","Huwebes","Biyernes","Sabado"],"SHORTDAY":["Lin","Lun","Mar","Mye","Huw","Bye","Sab"],"AMPMS":["AM","PM"],"medium":"MMM d, y HH:mm:ss","short":"M/d/yy HH:mm","fullDate":"EEEE, MMMM dd y","longDate":"MMMM d, y","mediumDate":"MMM d, y","shortDate":"M/d/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"tl-ph"});
4 | }]);
--------------------------------------------------------------------------------
/modules/oxjson/views/admin/de/oxjson_lang.php:
--------------------------------------------------------------------------------
1 | .
17 | *
18 | * @link http://www.shoptimax.de
19 | * @package oxjson
20 | * @copyright (C) shoptimax GmbH 2013
21 | * @version 1.0.0
22 | */
23 |
24 |
25 | $aLang = array(
26 | 'charset' => 'ISO-8859-15',
27 |
28 | 'SHOP_MODULE_GROUP_oxidjson' => 'OXID|Json Parameter',
29 | 'SHOP_MODULE_aOxidJsonBlacklistKeys' => 'diese Feldwerte nicht ausgeben (Teil eines Feldnamens reicht, z.B. "password")',
30 |
31 | );
32 |
--------------------------------------------------------------------------------
/app/lib/angular/i18n/angular-locale_el-polyton.js:
--------------------------------------------------------------------------------
1 | angular.module("ngLocale", [], ["$provide", function($provide) {
2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
3 | $provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["Ιανουαρίου","Φεβρουαρίου","Μαρτίου","Απριλίου","Μαΐου","Ιουνίου","Ιουλίου","Αυγούστου","Σεπτεμβρίου","Οκτωβρίου","Νοεμβρίου","Δεκεμβρίου"],"SHORTMONTH":["Ιαν","Φεβ","Μαρ","Απρ","Μαϊ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],"DAY":["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],"SHORTDAY":["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],"AMPMS":["π.μ.","μ.μ."],"medium":"d MMM y h:mm:ss a","short":"d/M/yy h:mm a","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"d/M/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"id":"el-polyton"});
4 | }]);
--------------------------------------------------------------------------------
/modules/oxjson/views/admin/en/oxjson_lang.php:
--------------------------------------------------------------------------------
1 | .
17 | *
18 | * @link http://www.shoptimax.de
19 | * @package oxjson
20 | * @copyright (C) shoptimax GmbH 2013
21 | * @version 1.0.0
22 | */
23 |
24 |
25 | $aLang = array(
26 | 'charset' => 'ISO-8859-15',
27 |
28 | 'SHOP_MODULE_GROUP_oxidjson' => 'OXID|Json parameters',
29 | 'SHOP_MODULE_aOxidJsonBlacklistKeys' => 'do not return these field values (enter substring of field name, e.g. "password")',
30 |
31 | );
32 |
--------------------------------------------------------------------------------
/app/lib/angular/i18n/angular-locale_mo.js:
--------------------------------------------------------------------------------
1 | angular.module("ngLocale", [], ["$provide", function($provide) {
2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
3 | $provide.value("$locale", {"DATETIME_FORMATS":{"MONTH":["ianuarie","februarie","martie","aprilie","mai","iunie","iulie","august","septembrie","octombrie","noiembrie","decembrie"],"SHORTMONTH":["ian.","feb.","mar.","apr.","mai","iun.","iul.","aug.","sept.","oct.","nov.","dec."],"DAY":["duminică","luni","marți","miercuri","joi","vineri","sâmbătă"],"SHORTDAY":["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],"AMPMS":["AM","PM"],"medium":"dd.MM.yyyy HH:mm:ss","short":"dd.MM.yyyy HH:mm","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"dd.MM.yyyy","shortDate":"dd.MM.yyyy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"MDL"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == 0 || n != 1 && (n % 100) >= 1 && (n % 100) <= 19 && n == Math.floor(n)) { return PLURAL_CATEGORY.FEW; } return PLURAL_CATEGORY.OTHER;},"id":"mo"});
4 | }]);
--------------------------------------------------------------------------------
/app/lib/angular/i18n/angular-locale_sr-rs.js:
--------------------------------------------------------------------------------
1 | angular.module("ngLocale", [], ["$provide", function($provide) {
2 | var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
3 | $provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"РСД"},"pluralCat":function (n) { if ((n % 10) == 1 && (n % 100) != 11) { return PLURAL_CATEGORY.ONE; } if ((n % 10) >= 2 && (n % 10) <= 4 && ((n % 100) < 12 || (n % 100) > 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.FEW; } if ((n % 10) == 0 || ((n % 10) >= 5 && (n % 10) <= 9) || ((n % 100) >= 11 && (n % 100) <= 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар"],"SHORTMONTH":["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец"],"DAY":["недеља","понедељак","уторак","среда","четвртак","петак","субота"],"SHORTDAY":["нед","пон","уто","сре","чет","пет","суб"],"AMPMS":["пре подне","поподне"],"medium":"dd.MM.y. HH.mm.ss","short":"d.M.yy. HH.mm","fullDate":"EEEE, dd. MMMM y.","longDate":"dd. MMMM y.","mediumDate":"dd.MM.y.","shortDate":"d.M.yy.","mediumTime":"HH.mm.ss","shortTime":"HH.mm"},"id":"sr-rs"});
4 | }]);
--------------------------------------------------------------------------------
/modules/oxjson/metadata.php:
--------------------------------------------------------------------------------
1 | .
17 | *
18 | * @link http://www.shoptimax.de
19 | * @package oxjson
20 | * @copyright (C) shoptimax GmbH 2013
21 | * @version 1.0.0
22 | */
23 | /**
24 | * Metadata version
25 | */
26 | $sMetadataVersion = '1.1';
27 |
28 | /**
29 | * Module information
30 | */
31 | $aModule = array(
32 | 'id' => 'oxjson',
33 | 'title' => 'OXJSON',
34 | 'description' => array(
35 | 'de' => 'OXJSON - generisches JSON Modul für OXID mit AngularJS Frontend.',
36 | 'en' => 'OXJSON - generic JSON module for OXID with AngularJS frontend.',
37 | ),
38 | 'thumbnail' => 'logo.png',
39 | 'version' => '1.1.0',
40 | 'author' => 'shoptimax GmbH',
41 | 'url' => 'http://www.shoptimax.de/',
42 | 'email' => 'support@shoptimax.de',
43 | 'extend' => array(
44 | ),
45 | 'files' => array(
46 | 'oxjson_setup' => 'oxjson/oxjson_setup.php',
47 | ),
48 | 'blocks' => array(
49 | ),
50 | 'events' => array(
51 | 'onActivate' => 'oxjson_setup::onActivate',
52 | ),
53 | 'settings' => array(
54 | array('group' => 'oxidjson', 'name' => 'aOxidJsonBlacklistKeys', 'type' => 'arr', 'value' => array('password', 'passsalt')),
55 | )
56 | );
57 | ?>
58 |
--------------------------------------------------------------------------------
/oxrest/oxrest.php:
--------------------------------------------------------------------------------
1 | .
17 | *
18 | * @link http://www.shoptimax.de
19 | * @package oxjson
20 | * @copyright (C) shoptimax GmbH 2013-2016
21 | * @version 1.1.1
22 | */
23 |
24 | // load autoloader
25 | $al = __DIR__.'/../vendor/autoload.php';
26 | include $al;
27 | // load OXID Framework, OXID >= 4.7. only
28 | if(file_exists(__DIR__ . '/../bootstrap.php')) {
29 | include __DIR__ . '/../bootstrap.php';
30 | }
31 | else {
32 | // for older shops before 4.7., do some custom OXID bootstrapping
33 | // and also include oxRegistry
34 | include __DIR__ . '/bootstrap_oxid.php';
35 | }
36 |
37 | $config = array(
38 | 'load' => array(
39 | __DIR__.'/service/*.php'
40 | ),
41 | );
42 |
43 | $app = new Tonic\Application($config);
44 |
45 | $uri = $_SERVER['REQUEST_URI'];
46 | $result = preg_replace('/.*oxrest(.*)/x', '\1', $uri);
47 | $request = new Tonic\Request(array('uri' => $result));
48 |
49 | try {
50 | $resource = $app->getResource($request);
51 | $response = $resource->exec();
52 | } catch (Tonic\NotFoundException $e) {
53 | $response = new Tonic\Response(404, $e->getMessage());
54 | } catch (Tonic\UnauthorizedException $e) {
55 | $response = new Tonic\Response(401, $e->getMessage());
56 | } catch (Tonic\Exception $e) {
57 | $response = new Tonic\Response($e->getCode(), $e->getMessage());
58 | }
59 |
60 | $response->output();
61 |
--------------------------------------------------------------------------------
/app/lib/angular/angular-bootstrap.min.js:
--------------------------------------------------------------------------------
1 | /*
2 | AngularJS v1.0.8
3 | (c) 2010-2012 Google, Inc. http://angularjs.org
4 | License: MIT
5 | */
6 | (function(n,j){'use strict';j.module("bootstrap",[]).directive({dropdownToggle:["$document","$location","$window",function(g,d){var e=null,a;return{restrict:"C",link:function(h,b){h.$watch(function(){return d.path()},function(){a&&a()});b.parent().bind("click",function(){a&&a()});b.bind("click",function(i){i.preventDefault();i.stopPropagation();i=!1;e&&(i=e===b,a());i||(b.parent().addClass("open"),e=b,a=function(c){c&&c.preventDefault();c&&c.stopPropagation();g.unbind("click",a);b.parent().removeClass("open");
7 | e=a=null},g.bind("click",a))})}}}],tabbable:function(){return{restrict:"C",compile:function(g){var d=j.element(''),e=j.element('');e.append(g.contents());g.append(d).append(e)},controller:["$scope","$element",function(g,d){var e=d.contents().eq(0),a=d.controller("ngModel")||{},h=[],b;a.$render=function(){var a=this.$viewValue;if(b?b.value!=a:a)if(b&&(b.paneElement.removeClass("active"),b.tabElement.removeClass("active"),b=null),a){for(var c=
8 | 0,d=h.length;c"),m=k.find("a"),f={paneElement:d,paneAttrs:c,tabElement:k};h.push(f);c.$observe("value",l)();c.$observe("title",function(){l();m.text(f.title)})();e.append(k);k.bind("click",function(b){b.preventDefault();
9 | b.stopPropagation();a.$setViewValue?g.$apply(function(){a.$setViewValue(f.value);a.$render()}):(a.$viewValue=f.value,a.$render())});return function(){f.tabElement.remove();for(var a=0,b=h.length;a