├── 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 |
2 | 7 |
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