openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit b314a39c4760055985f8610fc82b3728b7a70450
parent f1f2297b4205ae9f6d86c41f82b009b6e297e243
Author: Jan Dankert <devnull@localhost>
Date:   Sat, 30 Dec 2017 21:29:52 +0100

Alle Aufrufe, die direkt eine Server-Fehlermeldung erzeugen, erzeugen jetzt eine Exception.

Diffstat:
modules/cms-core/Dispatcher.class.php | 4++--
modules/cms-core/action/Action.class.php | 2+-
modules/cms-core/action/FileAction.class.php | 4++--
modules/cms-core/action/FilebrowserAction.class.php | 2+-
modules/cms-core/action/FolderAction.class.php | 2+-
modules/cms-core/action/LoginAction.class.php | 36++++++++++++++++++------------------
modules/cms-core/action/ObjectAction.class.php | 4++--
modules/cms-core/action/PageAction.class.php | 2+-
modules/cms-core/action/PageelementAction.class.php | 8++++----
modules/cms-core/action/ProjectlistAction.class.php | 2+-
modules/cms-core/action/StartAction.class.php | 30+++++++++++++++---------------
modules/cms-core/action/UserAction.class.php | 2+-
modules/cms-core/auth/OpenIdAuth.class.php | 10+++++-----
modules/cms-core/model/Folder.class.php | 4++--
modules/cms-ui/UI.class.php | 4++--
modules/cms-ui/themes/default/production/combined.min.js | 132+++----------------------------------------------------------------------------
modules/util/AdministrationTree.class.php | 2+-
modules/util/exception/SecurityException.class.php | 4----
18 files changed, 63 insertions(+), 191 deletions(-)

diff --git a/modules/cms-core/Dispatcher.class.php b/modules/cms-core/Dispatcher.class.php @@ -145,7 +145,7 @@ class Dispatcher global $REQ; if (config('security', 'use_post_token') && $_SERVER['REQUEST_METHOD'] == 'POST' && @$REQ[REQ_PARAM_TOKEN] != token()) { Logger::error('Token mismatch: Needed ' . token() . ' but got ' . @$REQ[REQ_PARAM_TOKEN] . '. Maybe an attacker?'); - Http::notAuthorized("Token mismatch", "Token mismatch"); + throw new SecurityException("Token mismatch"); } } @@ -245,7 +245,7 @@ class Dispatcher if (!isset($conf['language'])) - Http::serverError('no language found! (languages=' . implode(',', $languages) . ')'); + throw new \LogicException('no language found! (languages=' . implode(',', $languages) . ')'); // Schreibt die Konfiguration in die Sitzung. Diese wird anschliessend nicht // mehr veraendert. diff --git a/modules/cms-core/action/Action.class.php b/modules/cms-core/action/Action.class.php @@ -193,7 +193,7 @@ namespace cms\action { return $REQ[$varName]; default: - Http::serverError('Unknown request filter', 'not found: ' . $transcode); + throw new \LogicException('Unknown request filter', 'not found: ' . $transcode); return '?'; } diff --git a/modules/cms-core/action/FileAction.class.php b/modules/cms-core/action/FileAction.class.php @@ -320,12 +320,12 @@ class FileAction extends ObjectAction { if ( strcmp(substr($this->file->loadValue(),0,2),"\x1f\x8b")) { - Http::serverError("Not GZIP format (See RFC 1952)"); + throw new \LogicException("Not GZIP format (See RFC 1952)"); } $method = ord(substr($this->file->loadValue(),2,1)); if ( $method != 8 ) { - Http::serverError("Unknown GZIP method: $method"); + throw new \LogicException("Unknown GZIP method: $method"); } $this->file->value = gzinflate( substr($this->file->loadValue(),10)); $this->file->parse_filename( $this->file->filename ); diff --git a/modules/cms-core/action/FilebrowserAction.class.php b/modules/cms-core/action/FilebrowserAction.class.php @@ -80,7 +80,7 @@ class FilebrowserAction extends ObjectAction */ function show() { - Http::notAuthorized('no subaction found'); + throw new \SecurityException('no subaction found'); } diff --git a/modules/cms-core/action/FolderAction.class.php b/modules/cms-core/action/FolderAction.class.php @@ -442,7 +442,7 @@ class FolderAction extends ObjectAction { if ( ! in_array($objectid,$ids) ) { - Http::serverError('Object-Id '.$objectid.' is not in this folder any more'); + throw new \LogicException('Object-Id '.$objectid.' is not in this folder any more'); } $seq++; // Sequenz um 1 erhoehen diff --git a/modules/cms-core/action/LoginAction.class.php b/modules/cms-core/action/LoginAction.class.php @@ -72,7 +72,7 @@ class LoginAction extends Action global $conf; if ( !isset($conf['database'][$dbid] )) - Http::serverError( 'unknown DB-Id: '.$dbid ); + throw new \LogicException( 'unknown DB-Id: '.$dbid ); $db = db_connection(); if ( is_object($db) ) @@ -119,7 +119,7 @@ class LoginAction extends Action global $conf; if ( !isset($conf['database']['default']) ) - Http::serverError('default-database not set'); + throw new \LogicException('default-database not set'); $dbid = $conf['database']['default']; } @@ -251,7 +251,7 @@ class LoginAction extends Action $authid = $this->getRequestVar( $sso['auth_param_name']); if ( empty( $authid) ) - Http::notAuthorized( 'no authorization data (no auth-id)'); + throw new \SecurityException( 'no authorization data (no auth-id)'); if ( $sso['auth_param_serialized'] ) $authid = unserialize( $authid ); @@ -301,12 +301,12 @@ class LoginAction extends Action $html = implode('',$inhalt); // Html::debug($html); if ( !preg_match($sso['expect_regexp'],$html) ) - Http::notAuthorized('auth failed'); + throw new \SecurityException('auth failed'); $treffer=0; if ( !preg_match($sso['username_regexp'],$html,$treffer) ) - Http::notAuthorized('auth failed'); + throw new \SecurityException('auth failed'); if ( !isset($treffer[1]) ) - Http::notAuthorized('authorization failed'); + throw new \SecurityException('authorization failed'); $username = $treffer[1]; @@ -316,7 +316,7 @@ class LoginAction extends Action $user = User::loadWithName( $username ); if ( ! $user->isValid( )) - Http::notAuthorized('authorization failed: user not found: '.$username); + throw new \SecurityException('authorization failed: user not found: '.$username); $user->setCurrent(); @@ -327,19 +327,19 @@ class LoginAction extends Action elseif ( $ssl_trust ) { if ( empty($ssl_user_var) ) - Http::serverError( 'please set environment variable name in ssl-configuration.' ); + throw new \LogicException( 'please set environment variable name in ssl-configuration.' ); $username = getenv( $ssl_user_var ); if ( empty($username) ) - Http::notAuthorized( 'no username in client certificate ('.$ssl_user_var.') (or there is no client certificate...?)' ); + throw new \SecurityException( 'no username in client certificate ('.$ssl_user_var.') (or there is no client certificate...?)' ); $this->setDefaultDb(); $user = User::loadWithName( $username ); if ( !$user->isValid() ) - Http::serverError( 'unknown username: '.$username ); + throw new \LogicException( 'unknown username: '.$username ); $user->setCurrent(); @@ -692,7 +692,7 @@ class LoginAction extends Action if ( !$openId->checkAuthentication() ) { - Http::notAuthorized('OpenId-Login failed' ); + throw new \SecurityException('OpenId-Login failed' ); die(); $this->addNotice('user',$openId->user,'LOGIN_OPENID_FAILED',OR_NOTICE_ERROR,array('name'=>$openId->user),array($openId->error) ); $this->addValidationError('openid_url',''); @@ -711,7 +711,7 @@ class LoginAction extends Action if ( empty($username) ) { // Es konnte kein Benutzername ermittelt werden. - Http::notAuthorized('no username supplied by openid provider' ); + throw new \SecurityException('no username supplied by openid provider' ); die(); $this->addNotice('user',$username,'LOGIN_OPENID_FAILED','error',array('name'=>$username) ); $this->addValidationError('openid_url',''); @@ -737,7 +737,7 @@ class LoginAction extends Action { Logger::debug("OpenId-Login failed for $username"); // Benutzer ist nicht in Benutzertabelle vorhanden (und angelegt werden soll er auch nicht). - Http::notAuthorized('user',$username,'LOGIN_OPENID_FAILED','error',array('name'=>$username) ); + throw new \SecurityException('user',$username,'LOGIN_OPENID_FAILED','error',array('name'=>$username) ); die(); $this->addNotice('user',$username,'LOGIN_OPENID_FAILED','error',array('name'=>$username) ); @@ -780,7 +780,7 @@ class LoginAction extends Action Session::setUser(''); if ( $conf['login']['nologin'] ) - Http::notAuthorized('login disabled'); + throw new \SecurityException('login disabled'); $openid_user = $this->getRequestVar('openid_url' ); $loginName = $this->getRequestVar('login_name' ,OR_FILTER_ALPHANUM); @@ -896,7 +896,7 @@ class LoginAction extends Action Session::setUser(''); // Altes Login entfernen. if ( $conf['login']['nologin'] ) - Http::notAuthorized('login disabled'); + throw new \SecurityException('login disabled'); $loginName = $this->getRequestVar('login_name' ,OR_FILTER_ALPHANUM); $loginPassword = $this->getRequestVar('login_password',OR_FILTER_ALPHANUM); @@ -1436,7 +1436,7 @@ class LoginAction extends Action if ( isset($vars[REQ_PARAM_DATABASE_ID]) ) $this->setDb($vars[REQ_PARAM_DATABASE_ID]); else - Http::serverError('no database available.'); + throw new \LogicException('no database available.'); } else { @@ -1575,7 +1575,7 @@ class LoginAction extends Action $user = Session::getUser(); if ( ! $user->isAdmin ) - Http::notAuthorized(""); + throw new \SecurityException("Switching the user is only possible for admins."); $this->recreateSession(); @@ -1644,7 +1644,7 @@ class LoginAction extends Action break; default: - Http::serverError('Unknown auth-type: '.$conf['security']['login']['type'].'. Please check the configuration setting /security/login/type' ); + throw new \LogicException('Unknown auth-type: '.$conf['security']['login']['type'].'. Please check the configuration setting /security/login/type' ); } } diff --git a/modules/cms-core/action/ObjectAction.class.php b/modules/cms-core/action/ObjectAction.class.php @@ -180,7 +180,7 @@ class ObjectAction extends Action break; default: - Http::serverError('fatal: unknown type while deleting'); + throw new \LogicException('fatal: unknown type while deleting'); } break; @@ -206,7 +206,7 @@ class ObjectAction extends Action break; default: - Http::serverError('Unknown type for copying'); + throw new \LogicException('Unknown type for copying'); break; } diff --git a/modules/cms-core/action/PageAction.class.php b/modules/cms-core/action/PageAction.class.php @@ -743,7 +743,7 @@ class PageAction extends ObjectAction function pubPost() { if ( !$this->page->hasRight( ACL_PUBLISH ) ) - Http::notAuthorized( 'no right for publish' ); + throw new \SecurityException( 'no right for publish' ); Session::close(); diff --git a/modules/cms-core/action/PageelementAction.class.php b/modules/cms-core/action/PageelementAction.class.php @@ -244,7 +244,7 @@ class PageelementAction extends Action $funktionName = 'edit'.$this->value->element->type; if ( ! method_exists($this,$funktionName) ) - Http::serverError('Method does not exist: PageElementAction#'.$funktionName ); + throw new \LogicException('Method does not exist: PageElementAction#'.$funktionName ); $this->$funktionName(); // Aufruf der Funktion "edit<Elementtyp>()". } @@ -771,7 +771,7 @@ class PageelementAction extends Action $this->value->element = new Element( $this->value->elementid ); if ( $this->value->pageid != $this->page->pageid ) - Http::serverError( 'Cannot find value','page-id does not match' ); + throw new \LogicException( 'Cannot find value','page-id does not match' ); // Pruefen, ob Berechtigung zum Freigeben besteht //$this->value->release = $this->page->hasRight(ACL_RELEASE); @@ -798,7 +798,7 @@ class PageelementAction extends Action // Pruefen, ob Berechtigung zum Freigeben besteht if ( !$this->page->hasRight(ACL_RELEASE) ) - Http::notAuthorized( 'Cannot release','no right' ); + throw new \SecurityException( 'Cannot release','no right' ); // Inhalt freigeben $this->value->release(); @@ -1514,7 +1514,7 @@ class PageelementAction extends Action function pubPost() { if ( !$this->page->hasRight( ACL_PUBLISH ) ) - Http::notAuthorized( 'no right for publish' ); + throw new \SecurityException( 'no right for publish' ); $this->page->public = true; $this->page->publish(); diff --git a/modules/cms-core/action/ProjectlistAction.class.php b/modules/cms-core/action/ProjectlistAction.class.php @@ -106,7 +106,7 @@ class ProjectlistAction extends Action $this->addNotice('project',$project->name,'DONE'); break; default: - Http::serverError('Unknown type while adding project '.$this->getRequestVar('type') ); + throw new \LogicException('Unknown type while adding project '.$this->getRequestVar('type') ); } } diff --git a/modules/cms-core/action/StartAction.class.php b/modules/cms-core/action/StartAction.class.php @@ -58,7 +58,7 @@ class StartAction extends Action global $conf; if ( !isset($conf['database'][$dbid] )) - Http::serverError( 'unknown DB-Id: '.$dbid ); + throw new \LogicException( 'unknown DB-Id: '.$dbid ); $db = db_connection(); if ( is_object($db) ) @@ -96,7 +96,7 @@ class StartAction extends Action global $conf; if ( !isset($conf['database']['default']) ) - Http::serverError('default-database not set'); + throw new \LogicException('default-database not set'); $dbid = $conf['database']['default']; } @@ -205,7 +205,7 @@ class StartAction extends Action $authid = $this->getRequestVar( $sso['auth_param_name']); if ( empty( $authid) ) - Http::notAuthorized( 'no authorization data (no auth-id)'); + throw new \SecurityException( 'no authorization data (no auth-id)'); if ( $sso['auth_param_serialized'] ) $authid = unserialize( $authid ); @@ -255,12 +255,12 @@ class StartAction extends Action $html = implode('',$inhalt); // Html::debug($html); if ( !preg_match($sso['expect_regexp'],$html) ) - Http::notAuthorized('auth failed'); + throw new \SecurityException('auth failed'); $treffer=0; if ( !preg_match($sso['username_regexp'],$html,$treffer) ) - Http::notAuthorized('auth failed'); + throw new \SecurityException('auth failed'); if ( !isset($treffer[1]) ) - Http::notAuthorized('authorization failed'); + throw new \SecurityException('authorization failed'); $username = $treffer[1]; @@ -270,7 +270,7 @@ class StartAction extends Action $user = User::loadWithName( $username ); if ( ! $user->isValid( )) - Http::notAuthorized('authorization failed: user not found: '.$username); + throw new \SecurityException('authorization failed: user not found: '.$username); $user->setCurrent(); @@ -281,19 +281,19 @@ class StartAction extends Action elseif ( $ssl_trust ) { if ( empty($ssl_user_var) ) - Http::serverError( 'please set environment variable name in ssl-configuration.' ); + throw new \LogicException( 'please set environment variable name in ssl-configuration.' ); $username = getenv( $ssl_user_var ); if ( empty($username) ) - Http::notAuthorized( 'no username in client certificate ('.$ssl_user_var.') (or there is no client certificate...?)' ); + throw new \SecurityException( 'no username in client certificate ('.$ssl_user_var.') (or there is no client certificate...?)' ); $this->setDefaultDb(); $user = User::loadWithName( $username ); if ( !$user->isValid() ) - Http::serverError( 'unknown username: '.$username ); + throw new \LogicException( 'unknown username: '.$username ); $user->setCurrent(); @@ -657,7 +657,7 @@ class StartAction extends Action Session::setUser(''); if ( $conf['login']['nologin'] ) - Http::notAuthorized('login disabled'); + throw new \SecurityException('login disabled'); $openid_user = $this->getRequestVar('openid_url' ); $loginName = $this->getRequestVar('login_name' ,OR_FILTER_ALPHANUM); @@ -966,7 +966,7 @@ class StartAction extends Action $user = Session::getUser(); if ( ! is_object($user) ) { - Http::serverError('No user in session'); + throw new \LogicException('No user in session'); return; } @@ -1003,7 +1003,7 @@ class StartAction extends Action if ( isset($vars[REQ_PARAM_DATABASE_ID]) ) $this->setDb($vars[REQ_PARAM_DATABASE_ID]); else - Http::serverError('no database available.'); + throw new \LogicException('no database available.'); } else { @@ -1109,7 +1109,7 @@ class StartAction extends Action $user = Session::getUser(); if ( ! $user->isAdmin ) - Http::notAuthorized(""); + throw new \SecurityException(""); $this->recreateSession(); @@ -1178,7 +1178,7 @@ class StartAction extends Action break; default: - Http::serverError('Unknown auth-type: '.$conf['security']['login']['type'].'. Please check the configuration setting /security/login/type' ); + throw new \LogicException('Unknown auth-type: '.$conf['security']['login']['type'].'. Please check the configuration setting /security/login/type' ); } } diff --git a/modules/cms-core/action/UserAction.class.php b/modules/cms-core/action/UserAction.class.php @@ -195,7 +195,7 @@ class UserAction extends Action $newPassword = $this->user->createPassword(); break; default: - Http::serverError('Type unknown: '.$type); + throw new \LogicException('Type unknown: '.$type); } // Kennwoerter identisch und lang genug diff --git a/modules/cms-core/auth/OpenIdAuth.class.php b/modules/cms-core/auth/OpenIdAuth.class.php @@ -374,7 +374,7 @@ class OpenIdAuth implements Auth if ( $queryVars['openid.invalidate_handle'] != $this->handle ) { - Http::notAuthorized('Association-Handle mismatch.'); + throw new \SecurityException('Association-Handle mismatch.'); die(); $this->error = 'Association-Handle mismatch.'; return false; @@ -382,7 +382,7 @@ class OpenIdAuth implements Auth if ( $queryVars['openid.mode'] != 'id_res' ) { - Http::notAuthorized('Open-Id: Unknown mode:'.$queryVars['openid.mode']); + throw new \SecurityException('Open-Id: Unknown mode:'.$queryVars['openid.mode']); die(); $this->error ='Open-Id: Unknown mode:'.$queryVars['openid.mode']; @@ -391,7 +391,7 @@ class OpenIdAuth implements Auth if ( $this->provider=='identity' && $queryVars['openid.identity'] != $this->identity ) { - Http::notAuthorized('Open-Id: Identity mismatch. Wrong identity:'.$queryVars['openid.identity']); + throw new \SecurityException('Open-Id: Identity mismatch. Wrong identity:'.$queryVars['openid.identity']); die(); $this->error ='Open-Id: Identity mismatch. Wrong identity:'.$queryVars['openid.identity']; @@ -452,7 +452,7 @@ class OpenIdAuth implements Auth if ( !array_key_exists('is_valid',$result) ) { // Zeile nicht gefunden. - Http::notAuthorized('Undefined Open-Id response: "is_valid" expected, but not found'); + throw new \SecurityException('Undefined Open-Id response: "is_valid" expected, but not found'); die(); $this->error = 'Undefined Open-Id response: "is_valid" expected, but not found'; @@ -466,7 +466,7 @@ class OpenIdAuth implements Auth else { // Bestaetigung wurde durch den OpenId-Provider abgelehnt. - Http::notAuthorized('Server refused login.'); + throw new \SecurityException('Server refused login.'); die(); $this->error = 'Server refused login.'; return false; diff --git a/modules/cms-core/model/Folder.class.php b/modules/cms-core/model/Folder.class.php @@ -668,7 +668,7 @@ SQL $row = $sql->getRow(); if ( in_array($row['id'],$idCache)) - \Http::serverError('fatal: parent-rekursion in object-id: '.$this->objectid.', double-parent-id: '.$row['id']); + \throw new \LogicException('fatal: parent-rekursion in object-id: '.$this->objectid.', double-parent-id: '.$row['id']); else $idCache[] = $row['id']; @@ -707,7 +707,7 @@ SQL $row = $sql->getRow(); if ( in_array($row['id'],$idCache)) - \Http::serverError('fatal: parent-rekursion in object-id: '.$this->objectid.', double-parent-id: '.$row['id']); + \throw new \LogicException('fatal: parent-rekursion in object-id: '.$this->objectid.', double-parent-id: '.$row['id']); else $idCache[] = $row['id']; diff --git a/modules/cms-ui/UI.class.php b/modules/cms-ui/UI.class.php @@ -66,12 +66,12 @@ class UI Logger::warn("Object not found: " . $e->__toString()); // Nur Debug, da dies bei gelöschten Objekten vorkommen kann. Http::noContent(); } catch (OpenRatException $e) { - Http::serverError(lang($e->key), $e->__toString()); + throw new \LogicException(lang($e->key), $e->__toString()); } catch (SecurityException $e) { Logger::info($e->getMessage()); Http::notAuthorized("You are not allowed to execute this action."); } catch (Exception $e) { - Http::serverError("Internal CMS error", $e->__toString()); + throw new \LogicException("Internal CMS error", $e->__toString()); } } diff --git a/modules/cms-ui/themes/default/production/combined.min.js b/modules/cms-ui/themes/default/production/combined.min.js @@ -385,7 +385,7 @@ else if(t=='popup'){window.open($(this).attr('data-url'),'Popup','location=no,me else if(t=='help'){help(this,$(this).attr('data-url'),$(this).attr('data-suffix'))} else if(t=='fullscreen'){fullscreen(this)} else if(t=='open'){openNewAction($(this).attr('data-name'),$(this).attr('data-action'),$(this).attr('data-id'),0)} -else{alert('Fatal: Cannot open link: '+$(this).html())}})})};;jQuery.fn.orTree=function(t){var e=$.extend({'onSelect':function(){},'type':'root','id':0,'selectable':Array()},t);$(this).each(function(n,t){$(t).closest('div.content').addClass('loader');$.getJSON('./?action=tree&subaction=loadBranch&id='+e.id+'&type='+e.type+'&output=json',function(i){$(t).append('<ul class="tree" style="display:none;"/>');var n=$(t).children('ul').first(),l=i['output'];$.each(l['branch'],function(i,t){if(!t.action||t.action=='folder'||e.selectable.length==0||e.selectable[0]==''||jQuery.inArray(t.action,e.selectable)!=-1){$(n).append('<li class="object" data-id="'+t.internalId+'" data-type="'+t.type+'"><div class="tree">&nbsp;</div><div class="entry" data-id="'+t.internalId+'" data-type="'+t.type+'" title="'+t.description+'"><img src="'+OR_THEMES_EXT_DIR+'default/images/icon_'+t['icon']+'.png" />'+t.text+'</div></li>');var l=$(n).children('li').last();if(t.type){$(l).children('div.tree').addClass('closed');$(l).children('div.tree').click(function(){$(this).parent().orTree({type:t.type,id:t.internalId,onSelect:e.onSelect,selectable:e.selectable})})};if(t.action&&(e.selectable.length==0||e.selectable[0]==''||jQuery.inArray(t.action,e.selectable)!=-1)){$(l).children('div.entry').click(function(){$(this).closest('div.content').find('div.entry').removeClass('selected');$(this).addClass('selected');e.onSelect($(this).text(),t.action,t.id)})};if($(l).parents('ul.tree').length<=2){$(l).children('div.tree').click()}}});$(n).slideDown('fast')}).fail(function(){}).always(function(){$(t).closest('div.content').removeClass('loader')});$(t).children('div.tree').unbind('click');$(t).children('div.tree').removeClass('closed').addClass('open');$(t).children('div.tree').click(function(t){i($(t.target).parent(),e.type,e.id)})});function i(t,i,n){$(t).children('ul').slideUp('fast',function(){$(t).children('ul').remove();$(t).children('div.tree').unbind('click');$(t).children('div.tree').removeClass('open').addClass('closed');$(t).children('div.tree').click(function(){$(this).parent().orTree({type:i,id:n,onSelect:e.onSelect,selectable:e.selectable})})})}};;jQuery.fn.orLoadView=function(){$(this).each(function(d,s){var t=$(this).data('method'),a=$(this).data('action'),e=$(this).data('id'),i=$(this).closest('div.panel');i.find('ul.views li.active').removeClass('active');$(this).addClass('active');loadView(i.find('div.content'),a,t,e)})};;jQuery.fn.orAutoheight=function(){var t=function(t){var n=$(t).val().split('\n').length;$(t).attr('rows',n+3)};$(this).each(function(n){t(this)});return $(this).keypress(function(){t(this)})};/*! jquery-qrcode v0.14.0 - https://larsjung.de/jquery-qrcode/ */ +else{alert('Fatal: Cannot open link: '+$(this).html())}})})};;jQuery.fn.orTree=function(t){var e=$.extend({'onSelect':function(){},'type':'root','id':0,'selectable':Array()},t);$(this).each(function(n,t){$(t).closest('div.content').addClass('loader');$.getJSON('./api/?action=tree&subaction=loadBranch&id='+e.id+'&type='+e.type+'&output=json',function(i){$(t).append('<ul class="tree" style="display:none;"/>');var n=$(t).children('ul').first(),l=i['output'];$.each(l['branch'],function(i,t){if(!t.action||t.action=='folder'||e.selectable.length==0||e.selectable[0]==''||jQuery.inArray(t.action,e.selectable)!=-1){$(n).append('<li class="object" data-id="'+t.internalId+'" data-type="'+t.type+'"><div class="tree">&nbsp;</div><div class="entry" data-id="'+t.internalId+'" data-type="'+t.type+'" title="'+t.description+'"><img src="'+OR_THEMES_EXT_DIR+'default/images/icon_'+t['icon']+'.png" />'+t.text+'</div></li>');var l=$(n).children('li').last();if(t.type){$(l).children('div.tree').addClass('closed');$(l).children('div.tree').click(function(){$(this).parent().orTree({type:t.type,id:t.internalId,onSelect:e.onSelect,selectable:e.selectable})})};if(t.action&&(e.selectable.length==0||e.selectable[0]==''||jQuery.inArray(t.action,e.selectable)!=-1)){$(l).children('div.entry').click(function(){$(this).closest('div.content').find('div.entry').removeClass('selected');$(this).addClass('selected');e.onSelect($(this).text(),t.action,t.id)})};if($(l).parents('ul.tree').length<=2){$(l).children('div.tree').click()}}});$(n).slideDown('fast')}).fail(function(){}).always(function(){$(t).closest('div.content').removeClass('loader')});$(t).children('div.tree').unbind('click');$(t).children('div.tree').removeClass('closed').addClass('open');$(t).children('div.tree').click(function(t){i($(t.target).parent(),e.type,e.id)})});function i(t,i,n){$(t).children('ul').slideUp('fast',function(){$(t).children('ul').remove();$(t).children('div.tree').unbind('click');$(t).children('div.tree').removeClass('open').addClass('closed');$(t).children('div.tree').click(function(){$(this).parent().orTree({type:i,id:n,onSelect:e.onSelect,selectable:e.selectable})})})}};;jQuery.fn.orLoadView=function(){$(this).each(function(d,s){var t=$(this).data('method'),a=$(this).data('action'),e=$(this).data('id'),i=$(this).closest('div.panel');i.find('ul.views li.active').removeClass('active');$(this).addClass('active');loadView(i.find('div.content'),a,t,e)})};;jQuery.fn.orAutoheight=function(){var t=function(t){var n=$(t).val().split('\n').length;$(t).attr('rows',n+3)};$(this).each(function(n){t(this)});return $(this).keypress(function(){t(this)})};/*! jquery-qrcode v0.14.0 - https://larsjung.de/jquery-qrcode/ */ !function(r){"use strict";function t(t,e,n,o){function a(r,t){return r-=o,t-=o,0>r||r>=c||0>t||t>=c?!1:f.isDark(r,t)}function i(r,t,e,n){var o=u.isDark,a=1/l;u.isDark=function(i,u){var f=u*a,c=i*a,l=f+a,g=c+a;return o(i,u)&&(r>l||f>e||t>g||c>n)}}var u={},f=r(n,e);f.addData(t),f.make(),o=o||0;var c=f.getModuleCount(),l=f.getModuleCount()+2*o;return u.text=t,u.level=e,u.version=n,u.moduleCount=l,u.isDark=a,u.addBlank=i,u}function e(r,e,n,o,a){n=Math.max(1,n||1),o=Math.min(40,o||40);for(var i=n;o>=i;i+=1)try{return t(r,e,i,a)}catch(u){}}function n(r,t,e){var n=e.size,o="bold "+e.mSize*n+"px "+e.fontname,a=w("<canvas/>")[0].getContext("2d");a.font=o;var i=a.measureText(e.label).width,u=e.mSize,f=i/n,c=(1-f)*e.mPosX,l=(1-u)*e.mPosY,g=c+f,s=l+u,v=.01;1===e.mode?r.addBlank(0,l-v,n,s+v):r.addBlank(c-v,l-v,g+v,s+v),t.fillStyle=e.fontcolor,t.font=o,t.fillText(e.label,c*n,l*n+.75*e.mSize*n)}function o(r,t,e){var n=e.size,o=e.image.naturalWidth||1,a=e.image.naturalHeight||1,i=e.mSize,u=i*o/a,f=(1-u)*e.mPosX,c=(1-i)*e.mPosY,l=f+u,g=c+i,s=.01;3===e.mode?r.addBlank(0,c-s,n,g+s):r.addBlank(f-s,c-s,l+s,g+s),t.drawImage(e.image,f*n,c*n,u*n,i*n)}function a(r,t,e){w(e.background).is("img")?t.drawImage(e.background,0,0,e.size,e.size):e.background&&(t.fillStyle=e.background,t.fillRect(e.left,e.top,e.size,e.size));var a=e.mode;1===a||2===a?n(r,t,e):(3===a||4===a)&&o(r,t,e)}function i(r,t,e,n,o,a,i,u){r.isDark(i,u)&&t.rect(n,o,a,a)}function u(r,t,e,n,o,a,i,u,f,c){i?r.moveTo(t+a,e):r.moveTo(t,e),u?(r.lineTo(n-a,e),r.arcTo(n,e,n,o,a)):r.lineTo(n,e),f?(r.lineTo(n,o-a),r.arcTo(n,o,t,o,a)):r.lineTo(n,o),c?(r.lineTo(t+a,o),r.arcTo(t,o,t,e,a)):r.lineTo(t,o),i?(r.lineTo(t,e+a),r.arcTo(t,e,n,e,a)):r.lineTo(t,e)}function f(r,t,e,n,o,a,i,u,f,c){i&&(r.moveTo(t+a,e),r.lineTo(t,e),r.lineTo(t,e+a),r.arcTo(t,e,t+a,e,a)),u&&(r.moveTo(n-a,e),r.lineTo(n,e),r.lineTo(n,e+a),r.arcTo(n,e,n-a,e,a)),f&&(r.moveTo(n-a,o),r.lineTo(n,o),r.lineTo(n,o-a),r.arcTo(n,o,n-a,o,a)),c&&(r.moveTo(t+a,o),r.lineTo(t,o),r.lineTo(t,o-a),r.arcTo(t,o,t+a,o,a))}function c(r,t,e,n,o,a,i,c){var l=r.isDark,g=n+a,s=o+a,v=e.radius*a,h=i-1,d=i+1,w=c-1,m=c+1,y=l(i,c),T=l(h,w),p=l(h,c),B=l(h,m),A=l(i,m),E=l(d,m),k=l(d,c),M=l(d,w),C=l(i,w);y?u(t,n,o,g,s,v,!p&&!C,!p&&!A,!k&&!A,!k&&!C):f(t,n,o,g,s,v,p&&C&&T,p&&A&&B,k&&A&&E,k&&C&&M)}function l(r,t,e){var n,o,a=r.moduleCount,u=e.size/a,f=i;for(e.radius>0&&e.radius<=.5&&(f=c),t.beginPath(),n=0;a>n;n+=1)for(o=0;a>o;o+=1){var l=e.left+o*u,g=e.top+n*u,s=u;f(r,t,e,l,g,s,n,o)}if(w(e.fill).is("img")){t.strokeStyle="rgba(0,0,0,0.5)",t.lineWidth=2,t.stroke();var v=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",t.fill(),t.globalCompositeOperation=v,t.clip(),t.drawImage(e.fill,0,0,e.size,e.size),t.restore()}else t.fillStyle=e.fill,t.fill()}function g(r,t){var n=e(t.text,t.ecLevel,t.minVersion,t.maxVersion,t.quiet);if(!n)return null;var o=w(r).data("qrcode",n),i=o[0].getContext("2d");return a(n,i,t),l(n,i,t),o}function s(r){var t=w("<canvas/>").attr("width",r.size).attr("height",r.size);return g(t,r)}function v(r){return w("<img/>").attr("src",s(r)[0].toDataURL("image/png"))}function h(r){var t=e(r.text,r.ecLevel,r.minVersion,r.maxVersion,r.quiet);if(!t)return null;var n,o,a=r.size,i=r.background,u=Math.floor,f=t.moduleCount,c=u(a/f),l=u(.5*(a-c*f)),g={position:"relative",left:0,top:0,padding:0,margin:0,width:a,height:a},s={position:"absolute",padding:0,margin:0,width:c,height:c,"background-color":r.fill},v=w("<div/>").data("qrcode",t).css(g);for(i&&v.css("background-color",i),n=0;f>n;n+=1)for(o=0;f>o;o+=1)t.isDark(n,o)&&w("<div/>").css(s).css({left:l+o*c,top:l+n*c}).appendTo(v);return v}function d(r){return m&&"canvas"===r.render?s(r):m&&"image"===r.render?v(r):h(r)}var w=window.jQuery,m=function(){var r=document.createElement("canvas");return!(!r.getContext||!r.getContext("2d"))}(),y={render:"canvas",minVersion:1,maxVersion:40,ecLevel:"L",left:0,top:0,size:200,fill:"#000",background:null,text:"no text",radius:0,quiet:0,mode:0,mSize:.1,mPosX:.5,mPosY:.5,label:"no label",fontname:"sans",fontcolor:"#000",image:null};w.fn.qrcode=function(r){var t=w.extend({},y,r);return this.each(function(r,e){"canvas"===e.nodeName.toLowerCase()?g(e,t):w(e).append(d(t))})}}(function(){var r=function(){function r(t,e){if("undefined"==typeof t.length)throw new Error(t.length+"/"+e);var n=function(){for(var r=0;r<t.length&&0==t[r];)r+=1;for(var n=new Array(t.length-r+e),o=0;o<t.length-r;o+=1)n[o]=t[o+r];return n}(),o={};return o.getAt=function(r){return n[r]},o.getLength=function(){return n.length},o.multiply=function(t){for(var e=new Array(o.getLength()+t.getLength()-1),n=0;n<o.getLength();n+=1)for(var a=0;a<t.getLength();a+=1)e[n+a]^=i.gexp(i.glog(o.getAt(n))+i.glog(t.getAt(a)));return r(e,0)},o.mod=function(t){if(o.getLength()-t.getLength()<0)return o;for(var e=i.glog(o.getAt(0))-i.glog(t.getAt(0)),n=new Array(o.getLength()),a=0;a<o.getLength();a+=1)n[a]=o.getAt(a);for(var a=0;a<t.getLength();a+=1)n[a]^=i.gexp(i.glog(t.getAt(a))+e);return r(n,0).mod(t)},o}var t=function(t,e){var o=236,i=17,l=t,g=n[e],s=null,v=0,d=null,w=new Array,m={},y=function(r,t){v=4*l+17,s=function(r){for(var t=new Array(r),e=0;r>e;e+=1){t[e]=new Array(r);for(var n=0;r>n;n+=1)t[e][n]=null}return t}(v),T(0,0),T(v-7,0),T(0,v-7),A(),B(),k(r,t),l>=7&&E(r),null==d&&(d=D(l,g,w)),M(d,t)},T=function(r,t){for(var e=-1;7>=e;e+=1)if(!(-1>=r+e||r+e>=v))for(var n=-1;7>=n;n+=1)-1>=t+n||t+n>=v||(e>=0&&6>=e&&(0==n||6==n)||n>=0&&6>=n&&(0==e||6==e)||e>=2&&4>=e&&n>=2&&4>=n?s[r+e][t+n]=!0:s[r+e][t+n]=!1)},p=function(){for(var r=0,t=0,e=0;8>e;e+=1){y(!0,e);var n=a.getLostPoint(m);(0==e||r>n)&&(r=n,t=e)}return t},B=function(){for(var r=8;v-8>r;r+=1)null==s[r][6]&&(s[r][6]=r%2==0);for(var t=8;v-8>t;t+=1)null==s[6][t]&&(s[6][t]=t%2==0)},A=function(){for(var r=a.getPatternPosition(l),t=0;t<r.length;t+=1)for(var e=0;e<r.length;e+=1){var n=r[t],o=r[e];if(null==s[n][o])for(var i=-2;2>=i;i+=1)for(var u=-2;2>=u;u+=1)-2==i||2==i||-2==u||2==u||0==i&&0==u?s[n+i][o+u]=!0:s[n+i][o+u]=!1}},E=function(r){for(var t=a.getBCHTypeNumber(l),e=0;18>e;e+=1){var n=!r&&1==(t>>e&1);s[Math.floor(e/3)][e%3+v-8-3]=n}for(var e=0;18>e;e+=1){var n=!r&&1==(t>>e&1);s[e%3+v-8-3][Math.floor(e/3)]=n}},k=function(r,t){for(var e=g<<3|t,n=a.getBCHTypeInfo(e),o=0;15>o;o+=1){var i=!r&&1==(n>>o&1);6>o?s[o][8]=i:8>o?s[o+1][8]=i:s[v-15+o][8]=i}for(var o=0;15>o;o+=1){var i=!r&&1==(n>>o&1);8>o?s[8][v-o-1]=i:9>o?s[8][15-o-1+1]=i:s[8][15-o-1]=i}s[v-8][8]=!r},M=function(r,t){for(var e=-1,n=v-1,o=7,i=0,u=a.getMaskFunction(t),f=v-1;f>0;f-=2)for(6==f&&(f-=1);;){for(var c=0;2>c;c+=1)if(null==s[n][f-c]){var l=!1;i<r.length&&(l=1==(r[i]>>>o&1));var g=u(n,f-c);g&&(l=!l),s[n][f-c]=l,o-=1,-1==o&&(i+=1,o=7)}if(n+=e,0>n||n>=v){n-=e,e=-e;break}}},C=function(t,e){for(var n=0,o=0,i=0,u=new Array(e.length),f=new Array(e.length),c=0;c<e.length;c+=1){var l=e[c].dataCount,g=e[c].totalCount-l;o=Math.max(o,l),i=Math.max(i,g),u[c]=new Array(l);for(var s=0;s<u[c].length;s+=1)u[c][s]=255&t.getBuffer()[s+n];n+=l;var v=a.getErrorCorrectPolynomial(g),h=r(u[c],v.getLength()-1),d=h.mod(v);f[c]=new Array(v.getLength()-1);for(var s=0;s<f[c].length;s+=1){var w=s+d.getLength()-f[c].length;f[c][s]=w>=0?d.getAt(w):0}}for(var m=0,s=0;s<e.length;s+=1)m+=e[s].totalCount;for(var y=new Array(m),T=0,s=0;o>s;s+=1)for(var c=0;c<e.length;c+=1)s<u[c].length&&(y[T]=u[c][s],T+=1);for(var s=0;i>s;s+=1)for(var c=0;c<e.length;c+=1)s<f[c].length&&(y[T]=f[c][s],T+=1);return y},D=function(r,t,e){for(var n=u.getRSBlocks(r,t),c=f(),l=0;l<e.length;l+=1){var g=e[l];c.put(g.getMode(),4),c.put(g.getLength(),a.getLengthInBits(g.getMode(),r)),g.write(c)}for(var s=0,l=0;l<n.length;l+=1)s+=n[l].dataCount;if(c.getLengthInBits()>8*s)throw new Error("code length overflow. ("+c.getLengthInBits()+">"+8*s+")");for(c.getLengthInBits()+4<=8*s&&c.put(0,4);c.getLengthInBits()%8!=0;)c.putBit(!1);for(;;){if(c.getLengthInBits()>=8*s)break;if(c.put(o,8),c.getLengthInBits()>=8*s)break;c.put(i,8)}return C(c,n)};return m.addData=function(r){var t=c(r);w.push(t),d=null},m.isDark=function(r,t){if(0>r||r>=v||0>t||t>=v)throw new Error(r+","+t);return s[r][t]},m.getModuleCount=function(){return v},m.make=function(){y(!1,p())},m.createTableTag=function(r,t){r=r||2,t="undefined"==typeof t?4*r:t;var e="";e+='<table style="',e+=" border-width: 0px; border-style: none;",e+=" border-collapse: collapse;",e+=" padding: 0px; margin: "+t+"px;",e+='">',e+="<tbody>";for(var n=0;n<m.getModuleCount();n+=1){e+="<tr>";for(var o=0;o<m.getModuleCount();o+=1)e+='<td style="',e+=" border-width: 0px; border-style: none;",e+=" border-collapse: collapse;",e+=" padding: 0px; margin: 0px;",e+=" width: "+r+"px;",e+=" height: "+r+"px;",e+=" background-color: ",e+=m.isDark(n,o)?"#000000":"#ffffff",e+=";",e+='"/>';e+="</tr>"}return e+="</tbody>",e+="</table>"},m.createImgTag=function(r,t){r=r||2,t="undefined"==typeof t?4*r:t;var e=m.getModuleCount()*r+2*t,n=t,o=e-t;return h(e,e,function(t,e){if(t>=n&&o>t&&e>=n&&o>e){var a=Math.floor((t-n)/r),i=Math.floor((e-n)/r);return m.isDark(i,a)?0:1}return 1})},m};t.stringToBytes=function(r){for(var t=new Array,e=0;e<r.length;e+=1){var n=r.charCodeAt(e);t.push(255&n)}return t},t.createStringToBytes=function(r,t){var e=function(){for(var e=s(r),n=function(){var r=e.read();if(-1==r)throw new Error;return r},o=0,a={};;){var i=e.read();if(-1==i)break;var u=n(),f=n(),c=n(),l=String.fromCharCode(i<<8|u),g=f<<8|c;a[l]=g,o+=1}if(o!=t)throw new Error(o+" != "+t);return a}(),n="?".charCodeAt(0);return function(r){for(var t=new Array,o=0;o<r.length;o+=1){var a=r.charCodeAt(o);if(128>a)t.push(a);else{var i=e[r.charAt(o)];"number"==typeof i?(255&i)==i?t.push(i):(t.push(i>>>8),t.push(255&i)):t.push(n)}}return t}};var e={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8},n={L:1,M:0,Q:3,H:2},o={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7},a=function(){var t=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],n=1335,a=7973,u=21522,f={},c=function(r){for(var t=0;0!=r;)t+=1,r>>>=1;return t};return f.getBCHTypeInfo=function(r){for(var t=r<<10;c(t)-c(n)>=0;)t^=n<<c(t)-c(n);return(r<<10|t)^u},f.getBCHTypeNumber=function(r){for(var t=r<<12;c(t)-c(a)>=0;)t^=a<<c(t)-c(a);return r<<12|t},f.getPatternPosition=function(r){return t[r-1]},f.getMaskFunction=function(r){switch(r){case o.PATTERN000:return function(r,t){return(r+t)%2==0};case o.PATTERN001:return function(r,t){return r%2==0};case o.PATTERN010:return function(r,t){return t%3==0};case o.PATTERN011:return function(r,t){return(r+t)%3==0};case o.PATTERN100:return function(r,t){return(Math.floor(r/2)+Math.floor(t/3))%2==0};case o.PATTERN101:return function(r,t){return r*t%2+r*t%3==0};case o.PATTERN110:return function(r,t){return(r*t%2+r*t%3)%2==0};case o.PATTERN111:return function(r,t){return(r*t%3+(r+t)%2)%2==0};default:throw new Error("bad maskPattern:"+r)}},f.getErrorCorrectPolynomial=function(t){for(var e=r([1],0),n=0;t>n;n+=1)e=e.multiply(r([1,i.gexp(n)],0));return e},f.getLengthInBits=function(r,t){if(t>=1&&10>t)switch(r){case e.MODE_NUMBER:return 10;case e.MODE_ALPHA_NUM:return 9;case e.MODE_8BIT_BYTE:return 8;case e.MODE_KANJI:return 8;default:throw new Error("mode:"+r)}else if(27>t)switch(r){case e.MODE_NUMBER:return 12;case e.MODE_ALPHA_NUM:return 11;case e.MODE_8BIT_BYTE:return 16;case e.MODE_KANJI:return 10;default:throw new Error("mode:"+r)}else{if(!(41>t))throw new Error("type:"+t);switch(r){case e.MODE_NUMBER:return 14;case e.MODE_ALPHA_NUM:return 13;case e.MODE_8BIT_BYTE:return 16;case e.MODE_KANJI:return 12;default:throw new Error("mode:"+r)}}},f.getLostPoint=function(r){for(var t=r.getModuleCount(),e=0,n=0;t>n;n+=1)for(var o=0;t>o;o+=1){for(var a=0,i=r.isDark(n,o),u=-1;1>=u;u+=1)if(!(0>n+u||n+u>=t))for(var f=-1;1>=f;f+=1)0>o+f||o+f>=t||(0!=u||0!=f)&&i==r.isDark(n+u,o+f)&&(a+=1);a>5&&(e+=3+a-5)}for(var n=0;t-1>n;n+=1)for(var o=0;t-1>o;o+=1){var c=0;r.isDark(n,o)&&(c+=1),r.isDark(n+1,o)&&(c+=1),r.isDark(n,o+1)&&(c+=1),r.isDark(n+1,o+1)&&(c+=1),(0==c||4==c)&&(e+=3)}for(var n=0;t>n;n+=1)for(var o=0;t-6>o;o+=1)r.isDark(n,o)&&!r.isDark(n,o+1)&&r.isDark(n,o+2)&&r.isDark(n,o+3)&&r.isDark(n,o+4)&&!r.isDark(n,o+5)&&r.isDark(n,o+6)&&(e+=40);for(var o=0;t>o;o+=1)for(var n=0;t-6>n;n+=1)r.isDark(n,o)&&!r.isDark(n+1,o)&&r.isDark(n+2,o)&&r.isDark(n+3,o)&&r.isDark(n+4,o)&&!r.isDark(n+5,o)&&r.isDark(n+6,o)&&(e+=40);for(var l=0,o=0;t>o;o+=1)for(var n=0;t>n;n+=1)r.isDark(n,o)&&(l+=1);var g=Math.abs(100*l/t/t-50)/5;return e+=10*g},f}(),i=function(){for(var r=new Array(256),t=new Array(256),e=0;8>e;e+=1)r[e]=1<<e;for(var e=8;256>e;e+=1)r[e]=r[e-4]^r[e-5]^r[e-6]^r[e-8];for(var e=0;255>e;e+=1)t[r[e]]=e;var n={};return n.glog=function(r){if(1>r)throw new Error("glog("+r+")");return t[r]},n.gexp=function(t){for(;0>t;)t+=255;for(;t>=256;)t-=255;return r[t]},n}(),u=function(){var r=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],t=function(r,t){var e={};return e.totalCount=r,e.dataCount=t,e},e={},o=function(t,e){switch(e){case n.L:return r[4*(t-1)+0];case n.M:return r[4*(t-1)+1];case n.Q:return r[4*(t-1)+2];case n.H:return r[4*(t-1)+3];default:return}};return e.getRSBlocks=function(r,e){var n=o(r,e);if("undefined"==typeof n)throw new Error("bad rs block @ typeNumber:"+r+"/errorCorrectLevel:"+e);for(var a=n.length/3,i=new Array,u=0;a>u;u+=1)for(var f=n[3*u+0],c=n[3*u+1],l=n[3*u+2],g=0;f>g;g+=1)i.push(t(c,l));return i},e}(),f=function(){var r=new Array,t=0,e={};return e.getBuffer=function(){return r},e.getAt=function(t){var e=Math.floor(t/8);return 1==(r[e]>>>7-t%8&1)},e.put=function(r,t){for(var n=0;t>n;n+=1)e.putBit(1==(r>>>t-n-1&1))},e.getLengthInBits=function(){return t},e.putBit=function(e){var n=Math.floor(t/8);r.length<=n&&r.push(0),e&&(r[n]|=128>>>t%8),t+=1},e},c=function(r){var n=e.MODE_8BIT_BYTE,o=t.stringToBytes(r),a={};return a.getMode=function(){return n},a.getLength=function(r){return o.length},a.write=function(r){for(var t=0;t<o.length;t+=1)r.put(o[t],8)},a},l=function(){var r=new Array,t={};return t.writeByte=function(t){r.push(255&t)},t.writeShort=function(r){t.writeByte(r),t.writeByte(r>>>8)},t.writeBytes=function(r,e,n){e=e||0,n=n||r.length;for(var o=0;n>o;o+=1)t.writeByte(r[o+e])},t.writeString=function(r){for(var e=0;e<r.length;e+=1)t.writeByte(r.charCodeAt(e))},t.toByteArray=function(){return r},t.toString=function(){var t="";t+="[";for(var e=0;e<r.length;e+=1)e>0&&(t+=","),t+=r[e];return t+="]"},t},g=function(){var r=0,t=0,e=0,n="",o={},a=function(r){n+=String.fromCharCode(i(63&r))},i=function(r){if(0>r);else{if(26>r)return 65+r;if(52>r)return 97+(r-26);if(62>r)return 48+(r-52);if(62==r)return 43;if(63==r)return 47}throw new Error("n:"+r)};return o.writeByte=function(n){for(r=r<<8|255&n,t+=8,e+=1;t>=6;)a(r>>>t-6),t-=6},o.flush=function(){if(t>0&&(a(r<<6-t),r=0,t=0),e%3!=0)for(var o=3-e%3,i=0;o>i;i+=1)n+="="},o.toString=function(){return n},o},s=function(r){var t=r,e=0,n=0,o=0,a={};a.read=function(){for(;8>o;){if(e>=t.length){if(0==o)return-1;throw new Error("unexpected end of file./"+o)}var r=t.charAt(e);if(e+=1,"="==r)return o=0,-1;r.match(/^\s$/)||(n=n<<6|i(r.charCodeAt(0)),o+=6)}var a=n>>>o-8&255;return o-=8,a};var i=function(r){if(r>=65&&90>=r)return r-65;if(r>=97&&122>=r)return r-97+26;if(r>=48&&57>=r)return r-48+52;if(43==r)return 62;if(47==r)return 63;throw new Error("c:"+r)};return a},v=function(r,t){var e=r,n=t,o=new Array(r*t),a={};a.setPixel=function(r,t,n){o[t*e+r]=n},a.write=function(r){r.writeString("GIF87a"),r.writeShort(e),r.writeShort(n),r.writeByte(128),r.writeByte(0),r.writeByte(0),r.writeByte(0),r.writeByte(0),r.writeByte(0),r.writeByte(255),r.writeByte(255),r.writeByte(255),r.writeString(","),r.writeShort(0),r.writeShort(0),r.writeShort(e),r.writeShort(n),r.writeByte(0);var t=2,o=u(t);r.writeByte(t);for(var a=0;o.length-a>255;)r.writeByte(255),r.writeBytes(o,a,255),a+=255;r.writeByte(o.length-a),r.writeBytes(o,a,o.length-a),r.writeByte(0),r.writeString(";")};var i=function(r){var t=r,e=0,n=0,o={};return o.write=function(r,o){if(r>>>o!=0)throw new Error("length over");for(;e+o>=8;)t.writeByte(255&(r<<e|n)),o-=8-e,r>>>=8-e,n=0,e=0;n=r<<e|n,e+=o},o.flush=function(){e>0&&t.writeByte(n)},o},u=function(r){for(var t=1<<r,e=(1<<r)+1,n=r+1,a=f(),u=0;t>u;u+=1)a.add(String.fromCharCode(u));a.add(String.fromCharCode(t)),a.add(String.fromCharCode(e));var c=l(),g=i(c);g.write(t,n);var s=0,v=String.fromCharCode(o[s]);for(s+=1;s<o.length;){var h=String.fromCharCode(o[s]);s+=1,a.contains(v+h)?v+=h:(g.write(a.indexOf(v),n),a.size()<4095&&(a.size()==1<<n&&(n+=1),a.add(v+h)),v=h)}return g.write(a.indexOf(v),n),g.write(e,n),g.flush(),c.toByteArray()},f=function(){var r={},t=0,e={};return e.add=function(n){if(e.contains(n))throw new Error("dup key:"+n);r[n]=t,t+=1},e.size=function(){return t},e.indexOf=function(t){return r[t]},e.contains=function(t){return"undefined"!=typeof r[t]},e};return a},h=function(r,t,e,n){for(var o=v(r,t),a=0;t>a;a+=1)for(var i=0;r>i;i+=1)o.setPixel(i,a,e(i,a));var u=l();o.write(u);for(var f=g(),c=u.toByteArray(),s=0;s<c.length;s+=1)f.writeByte(c[s]);f.flush();var h="";return h+="<img",h+=' src="',h+="data:image/gif;base64,",h+=f,h+='"',h+=' width="',h+=r,h+='"',h+=' height="',h+=t,h+='"',n&&(h+=' alt="',h+=n,h+='"'),h+="/>"};return t}();return function(r){"function"==typeof define&&define.amd?define([],r):"object"==typeof exports&&(module.exports=r())}(function(){return r}),!function(r){r.stringToBytes=function(r){function t(r){for(var t=[],e=0;e<r.length;e++){var n=r.charCodeAt(e);128>n?t.push(n):2048>n?t.push(192|n>>6,128|63&n):55296>n||n>=57344?t.push(224|n>>12,128|n>>6&63,128|63&n):(e++,n=65536+((1023&n)<<10|1023&r.charCodeAt(e)),t.push(240|n>>18,128|n>>12&63,128|n>>6&63,128|63&n))}return t}return t(r)}}(r),r}());;$('html').removeClass('nojs');var DEFAULT_CONTENT_ACTION='edit';$(document).ready(function(){refreshAll();window.setInterval('ping()',300000)});function ping(){$.ajax(createUrl('title','ping',0))};function refreshAll(){refreshTitleBar();refreshWorkbench();$('div#filler').click(function(){if($('div#dialog').hasClass('modal')){} else{$('div#dialog').html('').hide();$('div#filler').fadeOut(500)}})};function refreshAllRefreshables(){$('div#workbench div.panel > div.header > ul.views > li.active').each(function(){if($(this).hasClass('static'))return;var e=$(this).attr('data-method'),i=$(this).attr('data-action'),t=$(this).attr('data-id'),a=$(this).attr('data-extra');loadView($(this).closest('div.panel').find('div.content'),i,e,t)})};function refreshActualView(e){$(e).closest('div.panel').find('li.active').each(function(){var e=$(this).attr('data-method'),i=$(this).attr('data-action'),t=$(this).attr('data-id');loadView($(this).closest('div.panel').find('div.content'),i,e,t)})};function refreshWorkbench(){$('ul#history').empty();$('div#workbench').empty().fadeOut('fast').load(createUrl('workbench','show',0),null,function(){resizeWorkbench();$('div.modaldialog').fadeOut(500);$('div#workbench').removeClass('modal');$('div#filler').fadeOut(500);$(this).fadeIn(750).find('li.active').each(function(){var i=$(this).attr('data-method'),e=$(this).attr('data-action');if(e)loadView($(this).closest('div.panel').find('div.content'),e,i,0)});$('div.backward_link').click(function(){var e=$(this).closest('div.header').find('ul.views'),i=e.find('li.action.active').prev();e.scrollTo(i,500,{'axis':'x'});i.click()});$('div.forward_link').click(function(){var e=$(this).closest('div.header').find('ul.views'),i=e.find('li.action.active').next();e.scrollTo(i,500,{'axis':'x'});i.click()});registerWorkbenchEvents()});loadTree();$(window).resize(function(){resizeWorkbench()})};function registerWorkbenchEvents(){$('ul.views > li.action').draggable({cursor:'move',revert:'invalid'});$('ul.views').droppable({accept:'li.action',hoverClass:'drophover',activeClass:'dropactive',drop:function(e,i){var a=i.draggable,n=$(this),s=a.parent();if($(a).closest('div.panel').attr('id')==$(n).closest('div.panel').attr('id'))$(a).css({top:0,left:0});else $(a).detach().css({top:0,left:0}).appendTo(n).click();if(s.find('li').size()==0){var t=s.closest('div.container');s.closest('div.panel').remove();if(t.hasClass('autosize'))t.children('div.panel').addClass('autosize').removeClass('resizable');else t.children('div.panel').addClass('resizable').removeClass('autosize');t.replaceWith(t.children('div.panel'));resizeWorkbench()}}});$('div.content').droppable({accept:'li.action',hoverClass:'drophover',activeClass:'dropactive',drop:function(e,i){var s=i.draggable,n=$(this),o=s.parent(),d=s.offset(),l=n.offset(),h=d.left-l.left,v=l.left+n.width()-d.left,r=d.top-l.top,c=l.top+n.height()-d.top,t=$('<div class="container"><div class="first" /><div class="divider" /><div class="second"></div>');if(h<Math.min(v,Math.min(r,c))){t.addClass('axle-x');t.children('div.divider').addClass('to-right');t.children('div.first').removeClass('first').addClass('resizable');t.children('div.second').removeClass('first').addClass('autosize')} else if(v<Math.min(r,c)){t.addClass('axle-x');t.children('div.divider').addClass('to-left');t.children('div.first').removeClass('first').addClass('autosize');t.children('div.second').removeClass('first').addClass('resizable')} @@ -30651,138 +30651,14 @@ CodeMirror.defineMode("groovy", function(config) { CodeMirror.defineMIME("text/x-groovy", "groovy"); }); -;$(document).on('orViewLoaded',function(e,t){if($('div.panel form input[type=password]').length>0&&$('#uname').attr('value')!=''){$('div.panel form input[name=login_name] ').attr('value',$('#uname').attr('value'));$('div.panel form input[name=login_password]').attr('value',$('#upassword').attr('value'))};$(e.target).find('form[data-autosave="true"] input[type="checkbox"]').click(function(){formSubmit($(this).closest('form'))})});function formSubmit(e){if($('div.panel form input[type=password]').length>0){$('#uname').attr('value',$('div.panel form input[name=login_name]').attr('value'));$('#upassword').attr('value',$('div.panel form input[name=login_password]').attr('value'));$('#uname').closest('form').submit()};if($('#pageelement_edit_editor').length>0){var r=CKEDITOR.instances['pageelement_edit_editor'];if(r){var l=r.getData();$('#pageelement_edit_editor').html(l)}};var t=$('<div class="notice info"><div class="text loader"></div></div>');$('#noticebar').prepend(t);$(t).show();$(e).find('.error').removeClass('error');var a=$(e).serializeArray(),o='./',d=$(e).attr('method').toUpperCase();if(d=='GET'){var i=$(e).data('action'),n=$(e).data('method'),s=$(e).data('id');loadView($(e).closest('div.content'),i,n,s,a)} -else{$(e).closest('div.content').addClass('loader');o+='?output=json';a['output']='json';if($(e).data('async')||$(e).data('async')=='true'){$('div#dialog').html('').hide();$('div#filler').fadeOut(500)};$.ajax({'type':'POST',url:o,data:a,success:function(a,o,r){$(e).closest('div.content').removeClass('loader');$(t).remove();doResponse(a,o,e)},error:function(a,o,n){$(e).closest('div.content').removeClass('loader');$(t).remove();var i;try{var r=jQuery.parseJSON(a.responseText);i=r.error+'/'+r.description+': '+r.reason}catch(s){i=a.responseText};notify('error',i)}});$(e).fadeIn()}};function doResponse(e,t,a){if(t!='success'){alert('Server error: '+t);return};$.each(e['notices'],function(t,e){var o=$('<div class="notice '+e.status+'"><div class="text">'+e.text+'</div></div>');notifyBrowser(e.text);$.each(e.log,function(e,t){$(o).append('<div class="log">'+t+'</div>')});$('#noticebar').prepend(o);$(o).fadeIn().click(function(){$(this).fadeOut('fast',function(){$(this).remove()})});var r;if(e.status=='ok'){r=3;if($(a).data('async')!='true'){$('div#dialog').html('').hide();$('div#filler').fadeOut(500);$(a).closest('div.panel').find('div.header ul.views li.action.active').removeClass('dirty')}} +;$(document).on('orViewLoaded',function(e,t){if($('div.panel form input[type=password]').length>0&&$('#uname').attr('value')!=''){$('div.panel form input[name=login_name] ').attr('value',$('#uname').attr('value'));$('div.panel form input[name=login_password]').attr('value',$('#upassword').attr('value'))};$(e.target).find('form[data-autosave="true"] input[type="checkbox"]').click(function(){formSubmit($(this).closest('form'))})});function formSubmit(e){if($('div.panel form input[type=password]').length>0){$('#uname').attr('value',$('div.panel form input[name=login_name]').attr('value'));$('#upassword').attr('value',$('div.panel form input[name=login_password]').attr('value'));$('#uname').closest('form').submit()};if($('#pageelement_edit_editor').length>0){var r=CKEDITOR.instances['pageelement_edit_editor'];if(r){var l=r.getData();$('#pageelement_edit_editor').html(l)}};var t=$('<div class="notice info"><div class="text loader"></div></div>');$('#noticebar').prepend(t);$(t).show();$(e).find('.error').removeClass('error');var a=$(e).serializeArray(),d=$(e).attr('method').toUpperCase();if(d=='GET'){var i=$(e).data('action'),n=$(e).data('method'),s=$(e).data('id');loadView($(e).closest('div.content'),i,n,s,a)} +else{var o='./api/';$(e).closest('div.content').addClass('loader');o+='?output=json';a['output']='json';if($(e).data('async')||$(e).data('async')=='true'){$('div#dialog').html('').hide();$('div#filler').fadeOut(500)};$.ajax({'type':'POST',url:o,data:a,success:function(a,o,r){$(e).closest('div.content').removeClass('loader');$(t).remove();doResponse(a,o,e)},error:function(a,o,n){$(e).closest('div.content').removeClass('loader');$(t).remove();var i;try{var r=jQuery.parseJSON(a.responseText);i=r.error+'/'+r.description+': '+r.reason}catch(s){i=a.responseText};notify('error',i)}});$(e).fadeIn()}};function doResponse(e,t,a){if(t!='success'){alert('Server error: '+t);return};$.each(e['notices'],function(t,e){var o=$('<div class="notice '+e.status+'"><div class="text">'+e.text+'</div></div>');notifyBrowser(e.text);$.each(e.log,function(e,t){$(o).append('<div class="log">'+t+'</div>')});$('#noticebar').prepend(o);$(o).fadeIn().click(function(){$(this).fadeOut('fast',function(){$(this).remove()})});var r;if(e.status=='ok'){r=3;if($(a).data('async')!='true'){$('div#dialog').html('').hide();$('div#filler').fadeOut(500);$(a).closest('div.panel').find('div.header ul.views li.action.active').removeClass('dirty')}} else{r=8};setTimeout(function(){$(o).fadeOut('slow').remove()},r*1000)});$.each(e['errors'],function(e,t){$('input[name='+t+']').addClass('error').parent().addClass('error').parents('fieldset').addClass('show').addClass('open')});if(!e.control){};if(e.control.redirect)window.location.href=e.control.redirect;if(e.control.new_style)setUserStyle(e.control.new_style);if(e.control.refresh)refreshAll();else if(e.control.next_view)startView($(a).closest('div.content'),e.control.next_view);else if(e.errors.length==0)$(a).closest('div.panel').find('li.action.active').orLoadView()};$(document).on('orViewLoaded',function(event, data) { $(event.target).find('fieldset > legend').click( function() { $(this).parent().toggleClass('open'); }); -});;$(document).on('orViewLoaded',function(e,i){if($(e.target).find('textarea#pageelement_edit_editor').length>0){var t=CKEDITOR.instances['pageelement_edit_editor'];if(t){CKEDITOR.remove(t)};CKEDITOR.replace('pageelement_edit_editor',{customConfig:'config-openrat.js'})};var s={markupSet:[{name:'Bold',key:'B',openWith:'*',closeWith:'*'},{name:'Italic',key:'I',openWith:'_',closeWith:'_'},{name:'Stroke through',key:'S',openWith:'--',closeWith:'--'},{separator:'-----------------'},{name:'Bulleted List',openWith:'*',closeWith:'',multiline:!0,openBlockWith:'\n',closeBlockWith:'\n'},{name:'Numeric List',openWith:'#',closeWith:'',multiline:!0,openBlockWith:'\n',closeBlockWith:'\n'},{separator:'---------------'},{name:'Picture',key:'P',replaceWith:'{[![Source:!:http://]!]" alt="[![Alternative text]!]" }'},{name:'Link',key:'L',openWith:'""->"[![Link:!:http://]!]"',closeWith:'"',placeHolder:'Your text to link...'},{separator:'---------------'},{name:'Clean',className:'clean',replaceWith:function(e){return e.selection.replace(/<(.*?)>/g,'')}},{name:'Preview',className:'preview',call:'preview'}]};var o={lang:'de',basePath:OR_THEMES_EXT_DIR+'../editor/wymeditor/wymeditor/',toolsItems:[{'name':'Bold','title':'Strong','css':'wym_tools_strong'},{'name':'Italic','title':'Emphasis','css':'wym_tools_emphasis'},{'name':'Superscript','title':'Superscript','css':'wym_tools_superscript'},{'name':'Subscript','title':'Subscript','css':'wym_tools_subscript'},{'name':'InsertOrderedList','title':'Ordered_List','css':'wym_tools_ordered_list'},{'name':'InsertUnorderedList','title':'Unordered_List','css':'wym_tools_unordered_list'},{'name':'Indent','title':'Indent','css':'wym_tools_indent'},{'name':'Outdent','title':'Outdent','css':'wym_tools_outdent'},{'name':'Undo','title':'Undo','css':'wym_tools_undo'},{'name':'Redo','title':'Redo','css':'wym_tools_redo'},{'name':'CreateLink','title':'Link','css':'wym_tools_link'},{'name':'Unlink','title':'Unlink','css':'wym_tools_unlink'},{'name':'InsertImage','title':'Image','css':'wym_tools_image'},{'name':'InsertTable','title':'Table','css':'wym_tools_table'},{'name':'Paste','title':'Paste_From_Word','css':'wym_tools_paste'},{'name':'ToggleHtml','title':'HTML','css':'wym_tools_html'},{'name':'Preview','title':'Preview','css':'wym_tools_preview'}]};$(e.target).find('textarea').orAutoheight();$(e.target).find('textarea.editor__ace-editor').each(function(){var t=$(this),i=$('<div class="editor__code-editor" />').insertAfter(t),e=ace.edit(i.get(0)),o=t.data('mode');e.renderer.setShowGutter(!0);e.setTheme('ace/theme/github');e.getSession().setTabSize(4);e.getSession().setUseWrapMode(!0);e.setHighlightActiveLine(!0);e.getSession().setValue(t.val());e.getSession().setMode('ace/mode/'+o);e.getSession().on('change',function(i){t.val(e.getSession().getValue())});t.closest('form').submit(function(){t.val(e.getSession().getValue())})});$(e.target).find('textarea.editor__code-editor').each(function(){var t=$(this).data('mode'),i=$(this).data('mimetype');if(i.length>0)t=i;var o=CodeMirror.fromTextArea(this,{lineNumbers:!0,viewportMargin:Infinity,mode:t});var e=this;$(e).closest('form').submit(function(){var t=o.getValue();$(e).val(t)})})});;$(document).on('orViewLoaded orHeaderLoaded',function(o,d){var e=document.querySelectorAll('img.image-icon');SVGInjector(e)});;$(document).on('orViewLoaded',function(e,n){$(e.target).closest('div.panel').find('.clickable').orLinkify()});$(document).on('orHeaderLoaded',function(e,n){$('div#header .clickable').orLinkify()});function submitLink(e,n){var i=jQuery.parseJSON(n),o='./dispatcher.php';i.output='json';$.ajax({'type':'POST',url:o,data:i,success:function(n,i,o){$('div.panel div.status div.loader').html('&nbsp;');doResponse(n,i,e)}})};$(document).on('orViewLoaded',function(event, data) { - -// Sortieren von Tabellen - $(event.target).find('table.sortable > tbody').sortable({ - update: function(event, ui) - { - $(ui).addClass('loader'); - var order = []; - $(ui.item).closest('table.sortable').find('tbody > tr.data').each( function() { - var objectid = $(this).data('id'); - order.push( objectid ); - }); - var url = './dispatcher.php'; - var params = {}; - params.action = 'folder'; - params.subaction = 'order'; - params.token = $('div.action-folder.method-order input[name=token]').attr('value'); - params.order = order.join(','); - params.id = $('div#dialog').data('id'); - params.output = 'json'; - - $.ajax( { 'type':'POST',url:url, data:params, success:function(data, textStatus, jqXHR) - { - $(ui).removeClass('loader'); - doResponse(data,textStatus,ui); - }, - error:function(jqXHR, textStatus, errorThrown) { - alert( errorThrown ); - } - - } ); - } - }); - - // Alle Checkboxen setzen oder nicht setzen. - $(event.target).find('tr.headline > td > input.checkbox').click( function() { - $(this).closest('table').find('tr.data > td > input.checkbox').attr('checked',Boolean( $(this).attr('checked') ) ); - }); - -});$(document).on('orViewLoaded',function(event, data) { - - var form = $(event.target).find('form'); - - // Dateiupload über Drag and Drop - var dropzone = $(event.target).find('div.filedropzone > div.input'); - dropzone.on('dragenter', function (e) - { - e.stopPropagation(); - e.preventDefault(); - $(this).css('border', '1px dotted gray'); - }); - dropzone.on('dragover', function (e) - { - e.stopPropagation(); - e.preventDefault(); - }); - dropzone.on('drop', function (e) - { - $(this).css('border','1px dotted red'); - e.preventDefault(); - var files = e.originalEvent.dataTransfer.files; - - //We need to send dropped files to Server - handleFileUpload(form,files); - }); - - - // Dateiupload über File-Input-Button - $(event.target).find('input[type=file]').change( function() { - - var files = $(this).prop('files'); - - handleFileUpload(form,files); - }); - -}); - - - - - - -function handleFileUpload(form,files) -{ - for (var i = 0, f; f = files[i]; i++) - { - var form_data = new FormData(); - form_data.append('file' , f); - form_data.append('action' ,'folder'); - form_data.append('subaction','createfile'); - form_data.append('output' ,'json'); - form_data.append('token' ,$(form).find('input[name=token]').val() ); - form_data.append('id' ,$(form).find('input[name=id]' ).val() ); - - var status = $('<div class="notice info"><div class="text loader"></div></div>'); - $('#noticebar').prepend(status); // Notice anhängen. - $(status).show(); - - $.ajax( { 'type':'POST',url:'dispatcher.php', cache:false,contentType: false, processData: false, data:form_data, success:function(data, textStatus, jqXHR) - { - $(status).remove(); - doResponse(data,textStatus,form); - }, - error:function(jqXHR, textStatus, errorThrown) { - $(form).closest('div.content').removeClass('loader'); - $(status).remove(); - - var msg; - try - { - var error = jQuery.parseJSON( jqXHR.responseText ); - msg = error.error + '/' + error.description + ': ' + error.reason; - } - catch( e ) - { - msg = jqXHR.responseText; - } - - notify('error',msg); - } - - } ); - } -} - +});;$(document).on('orViewLoaded',function(e,i){if($(e.target).find('textarea#pageelement_edit_editor').length>0){var t=CKEDITOR.instances['pageelement_edit_editor'];if(t){CKEDITOR.remove(t)};CKEDITOR.replace('pageelement_edit_editor',{customConfig:'config-openrat.js'})};var s={markupSet:[{name:'Bold',key:'B',openWith:'*',closeWith:'*'},{name:'Italic',key:'I',openWith:'_',closeWith:'_'},{name:'Stroke through',key:'S',openWith:'--',closeWith:'--'},{separator:'-----------------'},{name:'Bulleted List',openWith:'*',closeWith:'',multiline:!0,openBlockWith:'\n',closeBlockWith:'\n'},{name:'Numeric List',openWith:'#',closeWith:'',multiline:!0,openBlockWith:'\n',closeBlockWith:'\n'},{separator:'---------------'},{name:'Picture',key:'P',replaceWith:'{[![Source:!:http://]!]" alt="[![Alternative text]!]" }'},{name:'Link',key:'L',openWith:'""->"[![Link:!:http://]!]"',closeWith:'"',placeHolder:'Your text to link...'},{separator:'---------------'},{name:'Clean',className:'clean',replaceWith:function(e){return e.selection.replace(/<(.*?)>/g,'')}},{name:'Preview',className:'preview',call:'preview'}]};var o={lang:'de',basePath:OR_THEMES_EXT_DIR+'../editor/wymeditor/wymeditor/',toolsItems:[{'name':'Bold','title':'Strong','css':'wym_tools_strong'},{'name':'Italic','title':'Emphasis','css':'wym_tools_emphasis'},{'name':'Superscript','title':'Superscript','css':'wym_tools_superscript'},{'name':'Subscript','title':'Subscript','css':'wym_tools_subscript'},{'name':'InsertOrderedList','title':'Ordered_List','css':'wym_tools_ordered_list'},{'name':'InsertUnorderedList','title':'Unordered_List','css':'wym_tools_unordered_list'},{'name':'Indent','title':'Indent','css':'wym_tools_indent'},{'name':'Outdent','title':'Outdent','css':'wym_tools_outdent'},{'name':'Undo','title':'Undo','css':'wym_tools_undo'},{'name':'Redo','title':'Redo','css':'wym_tools_redo'},{'name':'CreateLink','title':'Link','css':'wym_tools_link'},{'name':'Unlink','title':'Unlink','css':'wym_tools_unlink'},{'name':'InsertImage','title':'Image','css':'wym_tools_image'},{'name':'InsertTable','title':'Table','css':'wym_tools_table'},{'name':'Paste','title':'Paste_From_Word','css':'wym_tools_paste'},{'name':'ToggleHtml','title':'HTML','css':'wym_tools_html'},{'name':'Preview','title':'Preview','css':'wym_tools_preview'}]};$(e.target).find('textarea').orAutoheight();$(e.target).find('textarea.editor__ace-editor').each(function(){var t=$(this),i=$('<div class="editor__code-editor" />').insertAfter(t),e=ace.edit(i.get(0)),o=t.data('mode');e.renderer.setShowGutter(!0);e.setTheme('ace/theme/github');e.getSession().setTabSize(4);e.getSession().setUseWrapMode(!0);e.setHighlightActiveLine(!0);e.getSession().setValue(t.val());e.getSession().setMode('ace/mode/'+o);e.getSession().on('change',function(i){t.val(e.getSession().getValue())});t.closest('form').submit(function(){t.val(e.getSession().getValue())})});$(e.target).find('textarea.editor__code-editor').each(function(){var t=$(this).data('mode'),i=$(this).data('mimetype');if(i.length>0)t=i;var o=CodeMirror.fromTextArea(this,{lineNumbers:!0,viewportMargin:Infinity,mode:t});var e=this;$(e).closest('form').submit(function(){var t=o.getValue();$(e).val(t)})})});;$(document).on('orViewLoaded orHeaderLoaded',function(o,d){var e=document.querySelectorAll('img.image-icon');SVGInjector(e)});;$(document).on('orViewLoaded',function(e,n){$(e.target).closest('div.panel').find('.clickable').orLinkify()});$(document).on('orHeaderLoaded',function(e,n){$('div#header .clickable').orLinkify()});function submitLink(e,n){var i=jQuery.parseJSON(n),o='./api/';i.output='json';$.ajax({'type':'POST',url:o,data:i,success:function(n,i,o){$('div.panel div.status div.loader').html('&nbsp;');doResponse(n,i,e)}})};;$(document).on('orViewLoaded',function(t,e){$(t.target).find('table.sortable > tbody').sortable({update:function(a,t){$(t).addClass('loader');var o=[];$(t.item).closest('table.sortable').find('tbody > tr.data').each(function(){var t=$(this).data('id');o.push(t)});var d='./api/',e={};e.action='folder';e.subaction='order';e.token=$('div.action-folder.method-order input[name=token]').attr('value');e.order=o.join(',');e.id=$('div#dialog').data('id');e.output='json';$.ajax({'type':'POST',url:d,data:e,success:function(e,a,o){$(t).removeClass('loader');doResponse(e,a,t)},error:function(t,e,a){alert(a)}})}});$(t.target).find('tr.headline > td > input.checkbox').click(function(){$(this).closest('table').find('tr.data > td > input.checkbox').attr('checked',Boolean($(this).attr('checked')))})});;$(document).on('orViewLoaded',function(e,n){var t=$(e.target).find('form'),o=$(e.target).find('div.filedropzone > div.input');o.on('dragenter',function(e){e.stopPropagation();e.preventDefault();$(this).css('border','1px dotted gray')});o.on('dragover',function(e){e.stopPropagation();e.preventDefault()});o.on('drop',function(e){$(this).css('border','1px dotted red');e.preventDefault();var n=e.originalEvent.dataTransfer.files;handleFileUpload(t,n)});$(e.target).find('input[type=file]').change(function(){var e=$(this).prop('files');handleFileUpload(t,e)})});function handleFileUpload(e,o){for(var a=0,r;r=o[a];a++){var n=new FormData();n.append('file',r);n.append('action','folder');n.append('subaction','createfile');n.append('output','json');n.append('token',$(e).find('input[name=token]').val());n.append('id',$(e).find('input[name=id]').val());var t=$('<div class="notice info"><div class="text loader"></div></div>');$('#noticebar').prepend(t);$(t).show();$.ajax({'type':'POST',url:'./api/',cache:!1,contentType:!1,processData:!1,data:n,success:function(n,o,a){$(t).remove();doResponse(n,o,e)},error:function(n,o,i){$(e).closest('div.content').removeClass('loader');$(t).remove();var r;try{var a=jQuery.parseJSON(n.responseText);r=a.error+'/'+a.description+': '+a.reason}catch(d){r=n.responseText};notify('error',r)}})}}; $(document).on('orViewLoaded',function(event, data) { // QR-Code anzeigen. diff --git a/modules/util/AdministrationTree.class.php b/modules/util/AdministrationTree.class.php @@ -39,7 +39,7 @@ class AdministrationTree extends AbstractTree function root() { if ( !$this->userIsAdmin ) - Http::notAuthorized('Administration-Tree is only visible for admins.'); + throw new \SecurityException('Administration-Tree is only visible for admins.'); // $treeElement = new TreeElement(); // $treeElement->text = lang('GLOBAL_ADMINISTRATION'); diff --git a/modules/util/exception/SecurityException.class.php b/modules/util/exception/SecurityException.class.php @@ -4,6 +4,3 @@ class SecurityException extends RuntimeException { } - - -?>- \ No newline at end of file