COMMIT;

-- Dumped table `modx_site_content` with 73 row(s)
--

--
-- Table structure for table `modx_site_htmlsnippets`
--

CREATE TABLE `modx_site_htmlsnippets` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `source` int(10) unsigned NOT NULL DEFAULT 0,
  `property_preprocess` tinyint(1) unsigned NOT NULL DEFAULT 0,
  `name` varchar(50) NOT NULL DEFAULT '',
  `description` varchar(191) NOT NULL DEFAULT 'Chunk',
  `editor_type` int(11) NOT NULL DEFAULT 0,
  `category` int(11) NOT NULL DEFAULT 0,
  `cache_type` tinyint(1) NOT NULL DEFAULT 0,
  `snippet` mediumtext DEFAULT NULL,
  `locked` tinyint(1) unsigned NOT NULL DEFAULT 0,
  `properties` text DEFAULT NULL,
  `static` tinyint(1) unsigned NOT NULL DEFAULT 0,
  `static_file` varchar(191) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`),
  KEY `category` (`category`),
  KEY `locked` (`locked`),
  KEY `static` (`static`)
) ENGINE=InnoDB AUTO_INCREMENT=58 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `modx_site_htmlsnippets`
--

SET autocommit=0;
INSERT INTO `modx_site_htmlsnippets` VALUES (1,0,0,'backupMODXWidget','Chunk',0,1,0,'<link rel=\"stylesheet\" type=\"text/css\" href=\"[[++site_url]][[+assetsurl]]components/backupmodx/css/widget.css\" />\n\n<form class=\"hide\" method=\"post\" action=\"\" id=\"backupmodx-form-download\">\n	<h3 style=\"color:grey\">Backup Finished!</h3>\n	<p>Download:</p>\n	<div class=\"backupmodxWidget__downloads\" id=\"backupmodx-download-container\"></div>\n	<input class=\"x-btn x-btn-small x-btn-icon-small-left primary-button x-btn-noicon\" type=\"submit\" name=\"removebackupmodx\" value=\"Remove Backup\">\n    <a class=\"backupmodxWidget__restoreLink\" onclick=\"restoreBackupModx();\">Restore a Backup</a>\n</form>\n\n<form class=\"hide\" method=\"post\" action=\"\" id=\"backupmodx-form-restore\">\n	<p>Restore Backup:</p>\n    <div class=\"backupmodxWidget__restore\" id=\"backupmodx-restore-container\"></div>\n    <input class=\"x-btn x-btn-small x-btn-icon-small-left primary-button x-btn-noicon\" type=\"submit\" name=\"restorebackupmodx\" value=\"Restore Backup!\">\n    <a href=\"?\" class=\"backupmodxWidget__restoreLink\">Cancel</a>\n</form>\n\n<div id=\"backupmodx-spinner\" class=\"backupmodxSpinner__wrapper hide\">\n    <div class=\"backupmodxSpinner\">\n        <i class=\"icon icon-modx backupmodxSpinner__icon\"></i>\n        <i class=\"icon icon-modx backupmodxSpinner__icon\"></i>\n        <i class=\"icon icon-modx backupmodxSpinner__icon\"></i>\n    </div>\n    <center>\n        <h3>Backup MODX</h3>\n        <p>Backup is in progress.</p>\n    </center>\n</div>\n\n\n<form onsubmit=\"event.preventDefault(); backupMODX();\" id=\"backupmodx-form-backup\">\n	<p>Backup your MODX-Site:</p>\n	<label class=\"backupmodxWidget__selectBox\">\n	    <input type=\"checkbox\" name=\"files\" value=\"1\" id=\"backupmodx-input-files\">\n	    <div class=\"backupmodxWidget__downloadLink\" download><i class=\"backupmodxWidget__downloadIcon icon icon-zip\"></i> Files <i class=\"backupmodxWidget__downloadIcon--download icon icon-check\"></i></div>\n	</label>\n	<label class=\"backupmodxWidget__selectBox\">\n	    <input type=\"checkbox\" name=\"database\" value=\"1\" id=\"backupmodx-input-database\">\n	    <div class=\"backupmodxWidget__downloadLink\" download><i class=\"backupmodxWidget__downloadIcon icon icon-sql\"></i> Database <i class=\"backupmodxWidget__downloadIcon--download icon icon-check\"></i></div>\n	</label>\n\n    <label class=\"backupmodxWidget__textBox\">\n        <p>Add a readme file: <span style=\"color: grey;\">(txt-file)</span></p>\n	    <textarea class=\"backupmodxWidget__textarea\" name=\"note\" placeholder=\"Type your optional notes here...\" id=\"backupmodx-input-note\"></textarea>\n    </label>\n\n    <input class=\"x-btn x-btn-small x-btn-icon-small-left primary-button x-btn-noicon\" type=\"submit\" name=\"backupmodx\" value=\"Backup Site!\">\n    <a class=\"backupmodxWidget__restoreLink\" onclick=\"restoreBackupModx();\">Restore a Backup</a>\n</form>\n\n\n<script type=\"text/javascript\">\n    [[+backup:isnot=``:then=`\n        Ext.get(\'backupmodx-form-backup\').addClass(\'hide\');\n        var files = Ext.decode(\'[[+backup]]\');\n        templatingFiles(files.files);\n        Ext.get(\'backupmodx-form-download\').addClass(\'show\');\n    `:else=``]]\n\n\n	// Set longer timeout limit for Ajax\n    Ext.Ajax.timeout = 120000;\n\n\n    // * * * * * * * * * * * * * * * * * * * * * * * * *\n	// * Templating Files\n	// *\n	// *\n    function templatingFiles(files) {\n        var tpl = new Ext.XTemplate(\n            \'<tpl>\',\n            \'<div><a class=\"backupmodxWidget__downloadLink\" href=\"[[++site_url]][[+assetsurl]]components/backupmodx/download/download.php?file={filename}&folder={name}\" download><i class=\"backupmodxWidget__downloadIcon icon icon-{icon}\"></i> {label} <i>({size} MB)</i> <i class=\"backupmodxWidget__downloadIcon--download icon icon-download\"></i></a></div>\',\n            \'</tpl>\'\n        );\n\n        files.database[\'icon\'] = \'sql\';\n        files.database[\'label\'] = \'Database\';\n\n        files.files[\'icon\'] = \'zip\';\n        files.files[\'label\'] = \'Files\';\n\n        files.note[\'icon\'] = \'txt\';\n        files.note[\'label\'] = \'Note\';\n\n        if (files.database != \"\") { tpl.overwrite(Ext.get(\'backupmodx-download-container\'), files.database); }\n        if (files.files != \"\") { tpl.append(Ext.get(\'backupmodx-download-container\'), files.files); }\n        if (files.note != \"\") { tpl.append(Ext.get(\'backupmodx-download-container\'), files.note); }\n    }\n\n\n    // * * * * * * * * * * * * * * * * * * * * * * * * *\n	// * Backup MODX\n	// *\n	// *\n    function backupMODX() {\n\n        Ext.get(\'backupmodx-form-backup\').addClass(\'hide\');\n        Ext.get(\'backupmodx-spinner\').addClass(\'show\');\n\n        Ext.Ajax.request({\n            url: \'../[[+assetsurl]]components/backupmodx/connector.php\',\n            params: {\n                action: \'backup\',\n                database: document.getElementById(\"backupmodx-input-database\").checked,\n                files: document.getElementById(\"backupmodx-input-files\").checked,\n                note: document.getElementById(\"backupmodx-input-note\").value\n            },\n            success: function(response, opts){\n                // Decode JSON\n                var data = Ext.decode(response.responseText);\n\n                templatingFiles(data.results.files);\n\n                Ext.get(\'backupmodx-spinner\').removeClass(\'show\');\n                Ext.get(\'backupmodx-form-download\').addClass(\'show\');\n\n            },\n            failure: function(response, opts) {\n                alert(\'Error: Failing AJAX...\');\n            }\n        });\n    }\n\n\n\n    // * * * * * * * * * * * * * * * * * * * * * * * * *\n	// * Restore Backups\n	// *\n	// *\n    function restoreBackupModx() {\n        Ext.get(\'backupmodx-form-backup\').addClass(\'hide\').removeClass(\'show\');\n        Ext.get(\'backupmodx-form-download\').addClass(\'hide\').removeClass(\'show\');\n        Ext.get(\'backupmodx-form-restore\').addClass(\'show\');\n\n        Ext.Ajax.request({\n            url: \'../[[+assetsurl]]components/backupmodx/connector.php\',\n            params: {\n                action: \'getbackups\'\n            },\n            success: function(response, opts){\n                // Decode JSON\n                var data = Ext.decode(response.responseText);\n\n                var files = data.results;\n\n                var tpl = new Ext.XTemplate(\n                    \'<tpl for=\".\">\',\n                    \'<div class=\"backupmodxWidget__restoreItem\">\',\n                    \'<div><strong>{date_format}</strong> | {note}</div>\',\n                    \'<label class=\"backupmodxWidget__selectBox\">\',\n            	    \'<input type=\"radio\" name=\"database\" value=\"{name}\">\',\n                	\'<div class=\"backupmodxWidget__downloadLink\" download><i class=\"backupmodxWidget__downloadIcon icon icon-sql\"></i> Database <i class=\"backupmodxWidget__downloadIcon--download icon icon-check\"></i></div>\',\n                	\'</label>\',\n                    \'</div>\',\n                    \'</tpl>\'\n                );\n\n                if (files != \"\") {\n                    tpl.overwrite(Ext.get(\'backupmodx-restore-container\'), files);\n                }\n\n            },\n            failure: function(response, opts) {\n                alert(\'Error: Failing AJAX...\');\n            }\n        });\n    }\n\n\n\n</script>\n',0,NULL,0,''),(2,0,0,'UpgradeMODXTpl','Tpl chunk for alert widget',0,2,0,'<div id=\"Upgrade_modx\">\r\n    <h3 style=\"color:[[+ugm_notice_color]]\">[[+ugm_notice]]</h3>\r\n    <br/>[[+ugm_current_version_caption]]: [[+ugm_current_version]]\r\n    <br/>[[+ugm_latest_version_caption]]: [[+ugm_latest_version]]\r\n\r\n\r\n\r\n    [[+ugm_version_form]]\r\n    <div id=\"ugm_errors\">[[+ugm_errors]]</div>\r\n</div>\r\n<script src=\"[[+ugm_assets_url]]js/classie.js\"></script>\r\n<script src=\"[[+ugm_assets_url]]js/progressButton.js\"></script>\r\n<script src=\"[[+ugm_assets_url]]js/ugm-bottom.js\"></script>\r\n<p>&nbsp;</p>\r\n\r\n\r\n',0,'a:0:{}',0,''),(3,0,0,'lgnLoginTpl','',0,3,0,'<div class=\"loginForm\">\n    <div class=\"loginMessage\">[[+errors]]</div>\n    <div class=\"loginLogin\">\n        <form class=\"loginLoginForm\" action=\"[[~[[*id]]]]\" method=\"post\">\n            <fieldset class=\"loginLoginFieldset\">\n                <legend class=\"loginLegend\">[[+actionMsg]]</legend>\n                <label class=\"loginUsernameLabel\">[[%login.username]]\n                    <input class=\"loginUsername\" type=\"text\" name=\"username\" />\n                </label>\n                \n                <label class=\"loginPasswordLabel\">[[%login.password]]\n                    <input class=\"loginPassword\" type=\"password\" name=\"password\" />\n                </label>\n                <input class=\"returnUrl\" type=\"hidden\" name=\"returnUrl\" value=\"[[+request_uri]]\" />\n\n                [[+login.recaptcha_html]]\n                \n                <input class=\"loginLoginValue\" type=\"hidden\" name=\"service\" value=\"login\" />\n                <span class=\"loginLoginButton\"><input type=\"submit\" name=\"Login\" value=\"[[+actionMsg]]\" /></span>\n            </fieldset>\n        </form>\n    </div>\n</div>',0,'a:0:{}',0,''),(4,0,0,'lgnLogoutTpl','',0,3,0,'<div class=\"loginMessage\">[[+errors]]</div>\n<br />\n<div class=\"loginLogin\">\n    <div class=\"loginRegister\">\n        <a href=\"[[+logoutUrl]]\" title=\"[[+actionMsg]]\">[[+actionMsg]]</a>\n    </div>\n</div>',0,'a:0:{}',0,''),(5,0,0,'lgnErrTpl','',0,3,0,'<p class=\"error\">[[+msg]]</p>',0,'a:0:{}',0,''),(6,0,0,'lgnForgotPassEmail','',0,3,0,'[[%login.forgot_password_email_text? &username=`[[+username]]` &confirmUrl=`[[+confirmUrl]]` &password=`[[+password]]`]]\n',0,'a:0:{}',0,''),(7,0,0,'lgnForgotPassSentTpl','',0,3,0,'<h2>Your Login Information Has Been Sent</h2>\n\n<p>Your login information has been sent to the email address [[+email]].</p>',0,'a:0:{}',0,''),(8,0,0,'lgnForgotPassTpl','',0,3,0,'<div class=\"loginFPErrors\">[[+loginfp.errors]]</div>\n<div class=\"loginFP\">\n    <form class=\"loginFPForm\" action=\"[[~[[*id]]]]\" method=\"post\">\n        <fieldset class=\"loginFPFieldset\">\n            <legend class=\"loginFPLegend\">[[%login.forgot_password]]</legend>\n            <label class=\"loginFPUsernameLabel\">[[%login.username]]\n                <input class=\"loginFPUsername\" type=\"text\" name=\"username\" value=\"[[+loginfp.post.username]]\" />\n            </label>\n            \n            <p>[[%login.or_forgot_username]]</p>\n            \n            <label class=\"loginFPEmailLabel\">[[%login.email]]\n                <input class=\"loginFPEmail\" type=\"text\" name=\"email\" value=\"[[+loginfp.post.email]]\" />\n            </label>\n            \n            <input class=\"returnUrl\" type=\"hidden\" name=\"returnUrl\" value=\"[[+loginfp.request_uri]]\" />\n            \n            <input class=\"loginFPService\" type=\"hidden\" name=\"login_fp_service\" value=\"forgotpassword\" />\n            <span class=\"loginFPButton\"><input type=\"submit\" name=\"login_fp\" value=\"[[%login.reset_password]]\" /></span>\n        </fieldset>\n    </form>\n</div>',0,'a:0:{}',0,''),(9,0,0,'lgnResetPassTpl','',0,3,0,'<div class=\"loginResetPass\">\n<p class=\"loginResetPassHeader\">[[+username]],</p>\n\n<p class=\"loginResetPassText\">Your password has been reset. Please return <a href=\"[[+loginUrl]]\">here</a> to log in.</p>  \n</div>',0,'a:0:{}',0,''),(10,0,0,'lgnRegisterFormTpl','',0,3,0,'<div class=\"register\">\n    <div class=\"registerMessage\">[[+error.message]]</div>\n    \n    <form class=\"form\" action=\"[[~[[*id]]]]\" method=\"post\">\n        <input type=\"hidden\" name=\"nospam:blank\" value=\"\" />\n        \n        <label for=\"username\">[[%register.username? &namespace=`login` &topic=`register`]]\n            <span class=\"error\">[[+error.username]]</span>\n        </label>\n        <input type=\"text\" name=\"username:required:minLength=6\" id=\"username\" value=\"[[+username]]\" />\n        \n        <label for=\"password\">[[%register.password]]\n            <span class=\"error\">[[+error.password]]</span>\n        </label>\n        <input type=\"password\" name=\"password:required:minLength=6\" id=\"password\" value=\"[[+password]]\" />\n        \n        <label for=\"password_confirm\">[[%register.password_confirm]]\n            <span class=\"error\">[[+error.password_confirm]]</span>\n        </label>\n        <input type=\"password\" name=\"password_confirm:password_confirm=`password`\" id=\"password_confirm\" value=\"[[+password_confirm]]\" />\n        \n        <label for=\"fullname\">[[%register.fullname]]\n            <span class=\"error\">[[+error.fullname]]</span>\n        </label>\n        <input type=\"text\" name=\"fullname:required\" id=\"fullname\" value=\"[[+fullname]]\" />\n        \n        <label for=\"email\">[[%register.email]]\n            <span class=\"error\">[[+error.email]]</span>\n        </label>\n        <input type=\"text\" name=\"email:email\" id=\"email\" value=\"[[+email]]\" />\n        \n        <br class=\"clear\" />\n\n        [[+register.recaptcha_html]]\n        [[+error.recaptcha]]\n        \n        <div class=\"form-buttons\">\n            <input type=\"submit\" name=\"login-register-btn\" value=\"Register\" />\n        </div>\n    </form>\n</div>',0,'a:0:{}',0,''),(11,0,0,'lgnActivateEmailTpl','',0,3,0,'<p>[[+username]],</p>\n\n<p>Thanks for registering! To activate your new account, please click on the following link:</p>\n\n<p><a href=\"[[+confirmUrl]]\">[[+confirmUrl]]</a></p>\n\n<p>If you did not request this message, please ignore it.</p>\n\n<p>Thanks,<br />\n<em>Site Administrator</em></p>\n',0,'a:0:{}',0,''),(12,0,0,'lgnActiveUser','',0,3,0,'<li>[[+username]]</li>',0,'a:0:{}',0,''),(13,0,0,'lgnResetPassChangePassTpl','',0,3,0,'[[!+logcp.error_message:notempty=`<p style=\"color: red;\">[[+logcp.error_message]]</p>`]]\n\n<form class=\"form inline\" action=\"[[~[[*id]]]]\" method=\"post\">\n    <input type=\"hidden\" name=\"nospam:blank\" value=\"\" />\n    <input type=\"hidden\" name=\"lp\" value=\"[[!+logcp.lp]]\"/>\n    <input type=\"hidden\" name=\"lu\" value=\"[[!+logcp.lu]]\"/>\n\n    <div class=\"ff\">\n        <label for=\"password_new\">[[!%login.password_new]]\n            <span class=\"error\">[[+logcp.error.password_new]]</span>\n        </label>\n        <input type=\"password\" name=\"password_new:required\" id=\"password_new\" value=\"[[+logcp.password_new]]\" />\n    </div>\n\n    <div class=\"ff\">\n        <label for=\"password_new_confirm\">[[!%login.password_new_confirm]]\n            <span class=\"error\">[[+logcp.error.password_new_confirm]]</span>\n        </label>\n        <input type=\"password\" name=\"password_new_confirm:required\" id=\"password_new_confirm\" value=\"[[+logcp.password_new_confirm]]\" />\n    </div>\n\n    <br class=\"clear\" />\n\n    <div class=\"form-buttons\">\n        <input type=\"submit\" name=\"logcp-submit\" value=\"[[!%login.change_password]]\" />\n    </div>\n</form>\n',0,'a:0:{}',0,''),(14,0,0,'lgnExpiredTpl','',0,3,0,'<p><strong>Password Reset Information</strong></p>\n<p>Your password has already been reset or the link expired. If you need to reset your password again, click <a href=\"#\">here</a>.</p>',0,'a:0:{}',0,''),(15,1,0,'getRes_news','',0,0,0,'<a href=\"[[~[[+id]]]]\" class=\"getResNews\">\n  <li class=\"grd100 padd\">\n    <h2>[[+longtitle]]</h2>\n    <div>\n      [[+content:striptags=`<p>,<br />`:ellipsis=`300`]]\n	  <div class=\"link\"><span class=\"lsf\">file</span>Artikel lesen</div>\n    </div>\n  </li>\n</a>',0,'a:0:{}',0,''),(22,0,0,'gContainer','',0,7,0,'<?xml version=\"1.0\" encoding=\"[[++modx_charset]]\"?>\n<urlset xmlns=\"[[+schema]]\">\n[[+items]]</urlset>',0,'a:0:{}',0,''),(23,1,0,'rowb_calFooter','',0,6,0,'<li class=\"grd25 padd\">\n	<div class=\"cal\">[[+tVon:strtotime:date=`<div class=\"month\">%b</div><div class=\"day\">%d</div>`]]</div>\n	<p>[[+name]] in [[+ort]]</p>\n</li>\n',0,'a:0:{}',0,''),(24,1,0,'getRes_newsHome','',0,0,0,'<div class=\"grd100\">\n  <h2>[[+longtitle]]</h2>\n  <div>\n    [[+content]]\n  </div>\n</div>\n<a href=\"[[~4]]\"><span class=\"lsf\">right</span>weitere Artikel lesen</a>',0,'a:0:{}',0,''),(25,1,0,'wf_navE1','',0,8,0,'<div><a[[+wf.classes]] href=\"[[+wf.link]]\" title=\"[[+wf.title]]\">[[+wf.linktext]]</a></div>',0,'a:0:{}',0,''),(26,1,0,'wf_outerTPL','',0,8,0,'[[+wf.wrapper]]',0,'a:0:{}',0,''),(27,1,0,'lgnLogoutTplMobil','',0,3,0,'<div class=\"loginMessage\">[[+errors]]</div>\n<div class=\"loginLogin\">\n    <div class=\"loginRegister\">\n        <a href=\"[[~50]]\" title=\"Passwort ändern\" style=\"display:inline-block;margin-right:2.0em\"><span class=\"lsf\">setting</span>Passwort ändern</a> \n        <a href=\"[[+logoutUrl]]\" title=\"[[+actionMsg]]\"><span class=\"lsf\">off</span> [[+actionMsg]]</a>\n    </div>\n</div>',0,'a:0:{}',0,''),(28,1,0,'lgnLoginTplMobil','',0,3,0,'<div class=\"loginForm\">\n    <div class=\"loginMessage\">[[+errors]]</div>\n    <div class=\"loginLogin\">\n        <form class=\"loginLoginForm\" action=\"[[~[[*id]]]]\" method=\"post\">\n            <fieldset class=\"loginLoginFieldset\">\n                <div>\n                <label class=\"lsf\">user\n                    <input class=\"loginUsername\" type=\"text\" name=\"username\" />\n                </label>\n                </div>\n\n                <div>\n                <label class=\"lsf\">key\n                    <input class=\"loginPassword\" type=\"password\" name=\"password\" />\n                </label>\n                </div>\n\n                <div>\n                <input class=\"returnUrl\" type=\"hidden\" name=\"returnUrl\" value=\"[[+request_uri]]\" />\n\n                [[+login.recaptcha_html]]\n                \n                <input class=\"loginLoginValue\" type=\"hidden\" name=\"service\" value=\"login\" />\n                <span class=\"loginLoginButton\"><input type=\"submit\" name=\"Login\" value=\"[[+actionMsg]]\" /></span>\n                <a href=\"[[~49]]\" style=\"font-size:0.8em;margin-left:3.0em;\">Passwort vergessen?</a>\n                </div>\n            </fieldset>\n        </form>\n    </div>\n</div>',0,'a:0:{}',0,''),(29,1,0,'rowb_calintern','',0,6,0,'<li>\n	<div class=\"visible\">\n		<div class=\"cal\">[[+tVon:strtotime:dateLocale=`<div class=\"month\">%b</div><div class=\"day\">%d<div class=\"weekday\">%A</div></div>`]]</div>\n		<div class=\"kalOverview\">\n			<p>[[+name]] in [[+ort]]</p>\n            <div class=\"w25\">[[+tVon:strtotime:add=`72000`:isgte=`[[+tBis:strtotime]]`:then=`<span class=\"lsf\">time</span>[[+tVon:strtotime:dateLocale=`%H:%M`]] - [[+tBis:strtotime:dateLocale=`%H:%M`]]`:else=`<span class=\"lsf\">calendar</span>mehrtägig`]]</div>\n            <div class=\"w25\"><span class=\"lsf\">[[+bus:is=`1`:then=`bus</span>[[+busTime:strtotime:date=`%H:%M`]] Uhr`:else=`</span>`]]</div>\n			<div class=\"w25\"><span class=\"lsf\">[[+kat:is=`Umzug`:then=`walking</span>[[+laufnr]]`:else=`</span>`]]</div>\n			<div class=\"w25 listSymb lsf\"></div>\n		</div>\n	</div>\n	\n	<div class=\"hidden\">\n		<div>[[+tVon:strtotime:dateLocale=`%d.%m.%Y, %H:%M`]] Uhr - [[+tVon:strtotime:dateLocale=`%d.%m.%Y`:is=`[[+tBis:strtotime:dateLocale=`%d.%m.%Y`]]`:then=`[[+tBis:strtotime:dateLocale=`%H:%M`]] Uhr`:else=`[[+tBis:strtotime:dateLocale=`%d.%m.%Y, %H:%M`]] Uhr`]]</div>\n		<div>[[+Zunft]]</div>\n		<div>in [[+ort]] [[+ortDetail:isnot=``:then=`([[+ortDetail]])`]]</div>\n		<div>Anreise: [[+bus:is=`1`:then=`Bus`:else=`privat`]][[+busTime:isnot=`0000-00-00 00:00:00`:then=` (Abfahrt: [[+busTime:strtotime:dateLocale=`%H:%M`]] Uhr)`]]</div>\n		[[+kat:is=`Umzug`:then=`<div><span class=\"grd70px\">Laufnr:</span>[[+laufnr]]</div>`]]\n		[[+bemerkInt:isnot=``:then=`<div>[[+bemerkInt]]</div>`]]\n		[[+bemerkExt:isnot=``:then=`<div>[[+bemerkExt]]</div>`]]\n	</div>\n</li>',0,'a:0:{}',0,''),(30,1,0,'rowb_calextern','',0,6,0,'<li class=\"grd100 padd\">\n	<div class=\"visible\">\n		<div class=\"cal\">[[+tVon:strtotime:date=`<div class=\"month\">%b</div><div class=\"day\">%d<div class=\"weekday\">%A</div></div>`]]</div>\n		<div class=\"kalOverview\">\n			<p>[[+name]] in [[+ort]]</p>\n			<div class=\"w25\">[[+tVon:strtotime:date=`%d.`:is=`[[+tBis:strtotime:date=`%d.`]]`:then=`<span class=\"lsf\">time</span>[[+tVon:strtotime:date=`%H:%M`]] - [[+tBis:strtotime:date=`%H:%M`]]`:else=`<span class=\"lsf\">calendar</span>mehrtägig`]]</div>\n			<div class=\"w25\"><span class=\"lsf\"></span></div>\n			<div class=\"w25\"><span class=\"lsf\"></span></div>\n			<div class=\"w25 listSymb lsf\"></div>\n		</div>\n	</div>\n	\n	<div class=\"hidden\">\n		<div>[[+tVon:strtotime:date=`%d.%m.%Y, %H:%M`]] Uhr - [[+tVon:strtotime:date=`%d.%m.%Y`:is=`[[+tBis:strtotime:date=`%d.%m.%Y`]]`:then=`[[+tBis:strtotime:date=`%H:%M`]] Uhr`:else=`[[+tBis:strtotime:date=`%d.%m.%Y, %H:%M`]] Uhr`]]</div>\n		<div>[[+Zunft]]</div>\n		<div>in [[+ort]] [[+ortDetail:isnot=``:then=`([[+ortDetail]])`]]</div>\n		[[+bemerkExt:isnot=``:then=`<div>[[+bemerkExt]]</div>`]]\n	</div>\n</li>\n',0,'a:0:{}',0,''),(31,1,0,'wf_navE2','',0,8,0,'<div><a[[+wf.classes]] href=\"[[+wf.link]]\" title=\"[[+wf.title]]\">[[+wf.linktext]]</a></div>',0,'a:0:{}',0,''),(32,1,0,'rowb_dashboardMitglied','',0,6,0,'<div>\n    [[+Bild:isnot=`unbekannt`:then=`<img src=\"[[!pthumb? &input=`assets/c103_content/images_mitglieder/[[+UserID]].jpg` &options=`&w=300&h=200&zc=1&f=jpg`]]\" alt=\"Foto [[+Vorname]] [[+Nachname]]\" />`:else=`<div>[[+Vorname:limit=`1`]][[+Nachname:limit=`1`]]</div>`]]\n</div>\n\n<div>\n    <p><strong>[[+Vorname]] [[+Nachname]]</strong></p>\n    <p>[[+Strasse]]<br />\n    [[+PLZ]] [[+Ort]]</p>\n    <span class=\"grd70px lsf\">phone</span>[[+Tel_p]]<br />\n    <span class=\"grd70px lsf\">mobile</span>[[+Mobil]]<br />\n    <span class=\"grd70px lsf\">mail</span><a href=\"mailto:[[+E_Mail]]\">[[+E_Mail]]</a></p>\n</div>\n\n<div>\n    [[+Laufnr:isnot=`0`:then=`<span class=\"grd70px lsf\">tag</span>[[+Laufnr]]`]]\n</div>\n',0,'a:0:{}',0,''),(33,1,0,'rowb_dashboardFahrkarten','',0,6,0,'<div class=\"busTicketBox\">\n    <div class=\"busTicketStatus\">\n        [[+Betrag:isnot=`0`:then=`Ich bin dabei!`:else=`Kein Ticket gebucht`]]\n    </div>\n\n    <div class=\"busTicket\">\n        <div>\n            [[+tVon:strtotime:date=`%a %d.%m.%Y`:ucase]]\n        </div>\n\n        <div class=busZiel>\n            [[+Ort]]\n        </div>\n\n        <div>[[!Rowboat:empty=`Status nicht verfügbar`?\n            &table=`c103_v_busuebersicht`\n            &tpl=`rowb_fahrkartenSUMStatus`\n            &limit=`0`\n            &where=`{\"BusID:=\":\"[[!+BusID]]\"}`\n            &cacheTime=`300`\n            ]]\n        </div>\n    </div>\n</div>',0,'a:0:{}',0,''),(34,1,0,'rowb_fahrkartenJeMitglied','',0,6,0,'[[+_first:is=`1`:then=`\n<p>für [[+Vorname]] [[+Nachname]] [[!+modx.user.id:is=`1`:then=` (UserID: [[+UserID]])`]]<br/>\n</p>\n<ol>`]]\n\n<li>\n  <a href=\"[[~20]]?bus=[[+BusID]]\">\n    <span class=\"grd50\">[[+tVon:strtotime:date=`%d.%m.%Y`]] - [[+Ort]] [[!+modx.user.id:is=`1`:then=` ([[+BusID]])`]]</span>\n  </a>\n\n  <span class=\"grd50\">[[+Betrag:greaterthan=`0`:then=`gebucht`]]</span>\n</li>\n',0,'a:0:{}',0,''),(35,1,0,'rowb_fahrkartenJeTermin','',0,6,0,'[[+_first:is=`1`:then=`\n<p>am [[+tVon:strtotime:date=`%d.%m.%Y`]] nach [[+Ort]]<br/>\n</p>\n<ol>`]]\n\n<li>\n  <a href=\"[[~20]]?mitglied=[[+UserID]]\">[[!+modx.user.id:memberof=`Ausschuss`:then=`[[+Vorname]] [[+Nachname]]`:else=`Fahrgast`]] [[!+modx.user.id:is=`1`:then=`(#[[+UserID]])`]]</a>\n</li>\n',0,'a:0:{}',0,''),(36,1,0,'rowb_mitglieder','',0,6,0,'<li class=\"grd100 padd\">\n  <div class=\"visible\">\n    <div class=\"mitglImg\">\n      [[+Bild:isnot=`unbekannt`:then=`<img src=\"[[!pthumb? &input=`assets/c103_content/images_mitglieder/[[+UserID]].jpg` &options=`&w=100&h=100&zc=1&f=jpg&q=90`]]\" alt=\"[[+Vorname]] [[+Nachname]]\" />`:else=`<div>[[+Vorname:limit=`1`]][[+Nachname:limit=`1`]]</div>`]]\n    </div>\n		\n    <div class=\"mitglOverview\">\n      <div class=\"search1\">[[+Vorname]] [[+Nachname]] [[+Position:isnot=``:then=`<small style=\"color:#666666\">[[+Position]]</small>`]] [[!+modx.user.id:is=`1`:then=` (UserID: <a href=\"[[~20]]?mitglied=[[+UserID]]\">[[+UserID]]</a>)`]]</div>\n      <div class=\"grd75 noMobil\">\n        <div class=\"grd50 search2\"><span class=\"lsf\">[[+Mobil:isnot=``:then=`mobile</span>[[+Mobil]]`:else=`</span>`]]</div>\n        <div class=\"grd50 search3\"><span class=\"lsf\">[[+Tel_p:isnot=``:then=`phone</span>[[+Tel_p]]`:else=`</span>`]]</div>\n        <div class=\"grd100 search4\"><span class=\"lsf\">[[+E_Mail:isnot=``:then=`mail</span><a href=\"mailto:[[+E_Mail]]\">[[+E_Mail]]`:else=`</span>`]]</a></div>\n      </div>\n\n      <div class=\"grd25 listSymb lsf\"></div>\n    </div>\n  </div>\n\n  <div class=\"hidden\">\n    <div class=\"grd100 noDesktop\">\n      <div class=\"grd50\"><span class=\"lsf\">[[+Mobil:isnot=``:then=`mobile</span>[[+Mobil]]`:else=`</span>`]]</div>\n      <div class=\"grd50\"><span class=\"lsf\">[[+Tel_p:isnot=``:then=`phone</span>[[+Tel_p]]`:else=`</span>`]]</div>\n      <div class=\"grd100\"><span class=\"lsf\">[[+E_Mail:isnot=``:then=`mail</span><a href=\"mailto:[[+E_Mail]]\">[[+E_Mail]]`:else=`</span>`]]</a></div>\n    </div>\n\n    <div class=\"grd25\">\n      <div class=\"search5\">[[+Strasse]]</div>\n      <div class=\"search6\">[[+PLZ]] [[+Ort]]</div>\n    </div>\n    <div class=\"grd25 search7\"><span class=\"lsf\">tag</span>[[+Laufnr:isnot=`0`:then=`[[+Laufnr]]`:else=`-`]]</div>\n    <div class=\"grd25\"><span class=\"lsf\">star</span>[[!+modx.user.id:memberof=`Ausschuss`:then=`[[+Geburtsdatum:strtotime:date=`%d. %B %Y`]]`:else=`[[+Geburtsdatum:strtotime:date=`%d. %B`]]`]]</div>\n  </div>\n</li>',0,'a:0:{}',0,''),(37,1,0,'rowb_laufnr','',0,6,0,'<li class=\"grd33\">\n  <div class=\"nr\">[[+Laufnr]]</div>\n  <div class=\"name\">[[+Vorname]] [[+Nachname]]</div>\n</li>\n',0,'a:0:{}',0,''),(38,1,0,'rowb_mitgliederMailverteiler','',0,6,0,'[[+E_Mail:isnot=``:then=`[[+E_Mail]], `]]',0,'a:0:{}',0,''),(39,1,0,'rowb_downloadMitgliederliste','',0,6,0,'\"[[+UserID]]\";\"[[+Anrede]]\";\"[[+Vorname]]\";\"[[+Nachname]]\";\"[[+Strasse]]\";\"[[+PLZ]]\";\"[[+Ort]]\";\"[[+Tel_p]]\";\"[[+Mobil]]\";\"[[+E_Mail]]\";\"[[+Geburtsdatum]]\";\"[[+Eintritt]]\";\"[[+Austritt]]\";\"[[+Laufnr]]\";\"[[+Status]]\"\n',0,'a:0:{}',0,''),(40,1,0,'rowb_versammlungMitgliederliste','',0,6,0,'  <tr>\n    <td>[[+Vorname]]</td> \n    <td>[[+Nachname]]</td> \n    <td>[[+Strasse]]</td> \n    <td>[[+PLZ]]</td> \n    <td>[[+Ort]]</td> \n    <td>[[+Tel_p]]</td> \n    <td>[[+Mobil]]</td> \n    <td>[[+E_Mail]]</td> \n  </tr>',0,'a:0:{}',0,''),(41,1,0,'rowb_versammlungUnterschriftenliste','',0,6,0,'  <tr>\n    <td>[[+Vorname]]</td> \n    <td>[[+Nachname]]</td> \n    <td></td> \n  </tr>\n',0,'a:0:{}',0,''),(42,1,0,'rowb_calFahrplan','',0,6,0,'[[+zunft:is=`NZ Brühlbärbel Mittelstadt e.V.`:then=`<tr style=\"background:#eeeeee;font-weight:bold;\">`:else=`<tr>`]]\n	[[+tVon:strtotime:date=`%H:%M`:isnot=`00:00`:then=`[[+tVon:strtotime:date=`<td>%a</td><td>%d.%m.%Y</td><td>%H:%M</td>`]]`:else=`[[+tVon:strtotime:date=`<td>%a</td><td>%d.%m.%Y</td><td></td>`]]`]]\n	<td>[[+name]]</td>\n	<td>[[+zunft:is=`NZ Brühlbärbel Mittelstadt e.V.`:then=`NZ Brühlbärbel`:else=`[[+zunft:replace=`Narrenzunft==NZ`:replace=`e.V.==`]]`]]</td>\n	<td>[[+ort]][[+ortDetail:isnot=``:then=`, [[+ortDetail]]`]]</td>\n  	<td style=\"text-align:center\">[[+bus:is=`1`:then=`[[+busTime:strtotime:date=`%H:%M`]] / [[+busTimeBack:is=`0000-00-00 00:00:00`:then=`[[+tBis:strtotime:date=`%H:%M`]]`:else=`[[+busTimeBack:is=`0000-00-00 23:59:00`:then=`+1 h`:else=`[[+busTimeBack:strtotime:date=`%H:%M`]]`]]`]]`:else=`-`]]</td>\n	<td style=\"text-align:center\">[[+kat:is=`Umzug`:then=`[[+laufnr]]`:else=`-`]]</td>\n</tr>\n',0,'a:0:{}',0,''),(43,1,0,'rowb_calHome','',0,6,0,'<li class=\"grd100 padd\">\n	<div class=\"cal\">[[+tVon:strtotime:date=`<div class=\"month\">%b</div><div class=\"day\">%d</div>`]]</div>\n	<p>[[+name]] in [[+ort]]</p>\n</li>\n',0,'a:0:{}',0,''),(44,1,0,'rowb_laufnrArray','',0,6,0,'[[+Laufnr]], ',0,'a:0:{}',0,''),(45,1,0,'rowb_calics','',0,6,0,'\nBEGIN:VEVENT\nORGANIZER;CN=NZ Brühlbärbel:MAILTO:info@bruehlbaerbel.de\nUID:[[+tVon:strtotime:date=`%Y%m%dT%H%M%S`]]-[[+ID]]-info@bruehlbaerbel.de\nCLASS:PUBLIC\nDTSTAMP:[[+timestamp:strtotime:date=`%Y%m%dT%H%M%S`]]\nDTSTART[[+ganztag:is=`1`:then=`[[+tVon:strtotime:date=`;VALUE=DATE:%Y%m%d`]]`:else=`[[+tVon:strtotime:date=`;TZID=Europe/Berlin:%Y%m%dT%H%M%S`]]`]]\nDTEND[[+ganztag:is=`1`:then=`[[+tBis:strtotime:add=`86400`:date=`;VALUE=DATE:%Y%m%d`]]`:else=`[[+tBis:strtotime:date=`;TZID=Europe/Berlin:%Y%m%dT%H%M%S`]]`]]\nLOCATION:[[+ort]] [[+ortDetail]]\nSUMMARY:[[+name]]\nDESCRIPTION:[[+name:isgt=``:then=`[[+bus:is=`1`:then=`Bus: Hin [[+busTime:strtotime:date=`%H:%M`]] Uhr / Zurück [[+busTimeBack:is=`0000-00-00 00:00:00`:then=`[[+tBis:strtotime:date=`%H:%M Uhr`]]`:else=`[[+busTimeBack:is=`0000-00-00 23:59:00`:then=`1 Std nach unserem Umzugsende`:else=`[[+busTimeBack:strtotime:date=`%H:%M Uhr`]]`]]`]]\\n`]][[+kat:is=`Umzug`:then=`Laufnr: [[+laufnr]]\\n`]][[+bemerkInt:isnot=``:then=`[[+bemerkInt:replace=`<br />==\\n`]]\\n`]]`:wordwrapcut=`62`:strip_tags]]\nTRANSP:OPAQUE\nSTATUS:CONFIRMED[[!getUrlParam:notempty=`\nBEGIN:VALARM\nTRIGGER:-P[[!getUrlParam? &name=`remind`]]\nACTION:AUDIO\nEND:VALARM`? &name=`remind`]]\nEND:VEVENT',0,'a:0:{}',0,''),(46,1,0,'rowb_arbeitsdienst','',0,6,0,'<li>[[+Date:strtotime:date=`%d.%m.%Y %H:%M`]], [[+Event]] in [[+Ort]], [[+Dienste]] Dienste</li>\n',0,'a:0:{}',0,''),(49,1,0,'rowb_dashboardFahrkartenAusschuss','',0,6,0,'<a href=\"[[~20]]?bus=[[+BusID]]\">\n<div class=\"busTicketBox\">\n    <div class=\"busTicketStatus\">\n        [[+Betrag:isnot=`0`:then=`Ich bin dabei!`:else=`Kein Ticket gebucht`]]\n    </div>\n\n    <div class=\"busTicket\">\n        <div>\n            [[+tVon:strtotime:date=`%a %d.%m.%Y`:ucase]]\n        </div>\n\n        <div class=busZiel>\n            [[+Ort]]\n        </div>\n\n        <div>[[!Rowboat:empty=`Status nicht verfügbar`?\n            &table=`c103_v_busuebersicht`\n            &tpl=`rowb_fahrkartenSUMStatus`\n            &limit=`0`\n            &where=`{\"BusID:=\":\"[[!+BusID]]\"}`\n            &cacheTime=`300`\n            ]]\n        </div>\n    </div>\n</div>\n</a>',0,'a:0:{}',0,''),(50,1,0,'rowb_fahrkartenSUMStatus','',0,6,0,'    <div class=\"busOverview\" data-maxplaetze=\"[[!+busPlaetze]]\">\n        <div class=\"busStatus [[+busStatus:is=`2`:then=``:else=`[[+sumVerkauft:isgt=`34`:then=`green`:else=``]]`]]\" data-sumtickets=\"[[!+sumVerkauft]]\" data-busstatus=\"[[+busStatus:is=`2`:then=`(Bus ABGESAGT!)`:else=`[[!+sumVerkauft:isgt=`34`:then=`(Bus fährt)`]]`]]\"></div>\n    </div>\n    \n    <div class=\"busInfo\">\n        Busgröße: [[!+busPlaetze]] Plätze [[!+modx.user.id:is=`1`:then=`(#[[+BusID]])`]]<br />\n        <span>[[+busInfo:notempty=`[[+busInfo]]`]]</span>\n    </div>\n',0,'a:0:{}',0,''),(52,1,0,'rowb_calintern_neu','',0,6,0,'<div id=\"kalender\" class=\"list toggle visible\">\n		<div class=\"caldate\">\n			[[+tVon:strtotime:dateLocale=`<div class=\"month\">%b</div><div class=\"day\">%d<div class=\"weekday\">%A</div></div>`]]\n		</div>\n		\n		<div class=\"calevent\">\n			[[+name]] in [[+ort]]\n		</div>\n\n		<div class=\"caltime\">\n			[[+tVon:strtotime:add=`72000`:isgte=`[[+tBis:strtotime]]`:then=`<span class=\"lsf\">time</span>[[+tVon:strtotime:dateLocale=`%H:%M`]] - [[+tBis:strtotime:dateLocale=`%H:%M`]]`:else=`<span class=\"lsf\">calendar</span>mehrtägig`]]\n		</div>\n		\n		<div class=\"calbus\">\n			<span class=\"lsf\">[[+bus:is=`1`:then=`bus</span>[[+busTime:strtotime:date=`%H:%M`]] Uhr`:else=`</span>`]]</span>\n		</div>\n		\n		<div class=\"calwalking\">\n			<span class=\"lsf\">[[+kat:is=`Umzug`:then=`walking</span>[[+laufnr]]`:else=`</span>`]]</span>\n		</div>\n		\n		<div class=\"toggleicon lsf\">\n		</div>\n	\n	<div class=\"hidden\"  style=\"display: none;\">\n		<p>[[+tVon:strtotime:dateLocale=`%d.%m.%Y, %H:%M`]] Uhr - [[+tVon:strtotime:dateLocale=`%d.%m.%Y`:is=`[[+tBis:strtotime:dateLocale=`%d.%m.%Y`]]`:then=`[[+tBis:strtotime:dateLocale=`%H:%M`]] Uhr`:else=`[[+tBis:strtotime:dateLocale=`%d.%m.%Y, %H:%M`]] Uhr`]]</p>\n		<p>[[+Zunft]]</p>\n		<p>in [[+ort]] [[+ortDetail:isnot=``:then=`([[+ortDetail]])`]]</p>\n		<p>Anreise: [[+bus:is=`1`:then=`Bus`:else=`privat`]][[+busTime:isnot=`0000-00-00 00:00:00`:then=` (Abfahrt: [[+busTime:strtotime:dateLocale=`%H:%M`]] Uhr)`]]</p>\n		[[+kat:is=`Umzug`:then=`<p><span class=\"grd70px\">Laufnr:</span>[[+laufnr]]</p>`]]\n		[[+bemerkInt:isnot=``:then=`<p>[[+bemerkInt]]</p>`]]\n		[[+bemerkExt:isnot=``:then=`<p>[[+bemerkExt]]</p>`]]\n	</div>\n</div>\n',0,'a:0:{}',0,''),(53,1,0,'rowb_calextern_neu','',0,6,0,'<div id=\"kalender\" class=\"list toggle visible\">\n		<div class=\"caldate\">\n			[[+tVon:strtotime:date=`<div class=\"month\">%b</div><div class=\"day\">%d<div class=\"weekday\">%A</div></div>`]]\n		</div>\n		\n		<div class=\"calevent\">\n			[[+name]] in [[+ort]]\n		</div>\n\n		<div class=\"caltime\">\n			[[+tVon:strtotime:date=`%d.`:is=`[[+tBis:strtotime:date=`%d.`]]`:then=`<span class=\"lsf\">time</span>[[+tVon:strtotime:date=`%H:%M`]] - [[+tBis:strtotime:date=`%H:%M`]]`:else=`<span class=\"lsf\">calendar</span>mehrtägig`]]\n		</div>\n		\n		<div class=\"calbus\">\n		</div>\n		\n		<div class=\"calwalking\">\n		</div>\n		\n		<div class=\"toggleicon lsf\">\n		</div>\n	\n	<div class=\"hidden\"  style=\"display: none;\">\n		<p>[[+tVon:strtotime:date=`%d.%m.%Y, %H:%M`]] Uhr - [[+tVon:strtotime:date=`%d.%m.%Y`:is=`[[+tBis:strtotime:date=`%d.%m.%Y`]]`:then=`[[+tBis:strtotime:date=`%H:%M`]] Uhr`:else=`[[+tBis:strtotime:date=`%d.%m.%Y, %H:%M`]] Uhr`]]</p>\n		<p>[[+Zunft]]</p>\n		<p>in [[+ort]] [[+ortDetail:isnot=``:then=`([[+ortDetail]])`]]</p>\n		[[+bemerkExt:isnot=``:then=`<p>[[+bemerkExt]]</p>`]]\n	</div>\n</div>\n',0,'a:0:{}',0,''),(54,1,0,'wf_navE1_matcss','',0,8,0,'<li><a[[+wf.classes]] href=\"[[+wf.link]]\" title=\"[[+wf.title]]\">[[+wf.linktext]]</a></li>',0,'a:0:{}',0,''),(56,1,0,'wf_navE2_matcss','',0,8,0,'<div><a[[+wf.classes]] href=\"[[+wf.link]]\" title=\"[[+wf.title]]\">[[+wf.linktext]]</a></div>',0,'a:0:{}',0,''),(57,1,0,'errorLogPanel.tpl','',0,4,0,'<div id=\"side-panel-wrapper\">\r\n	<ul class=\"side-buttons\">\r\n		<li class=\"side-buttons-item\"><span id=\"side-button-open\" class=\"celicon-check-circle\"><i class=\"celicon\"></i></span></li>\r\n		<li class=\"side-buttons-item\"><span id=\"side-button-refresh\" class=\"celicon-refresh\"><i class=\"celicon\"></i></span></li>\r\n		<li class=\"side-buttons-item\"><span id=\"side-button-clear\" class=\"celicon-trash disabled\"><i class=\"celicon\"></i></span></li>\r\n	</ul>\r\n	<div class=\"side-panel\">\r\n		<div class=\"side-panel-header\">\r\n			<span>[[%error_log]]</span>\r\n			<span id=\"side-panel-close-button\">&times;</span>\r\n		</div>\r\n		<div class=\"side-panel-body\"></div>\r\n		<div class=\"side-panel-footer\" data-records=\"[[%errorlog_total_messages]]\"> </div>\r\n	</div>\r\n</div>',0,NULL,0,'core/components/controlerrorlog/elements/chunks/chunk.errorlogpanel.tpl');
COMMIT;

-- Dumped table `modx_site_htmlsnippets` with 47 row(s)
--

--
-- Table structure for table `modx_site_plugin_events`
--

CREATE TABLE `modx_site_plugin_events` (
  `pluginid` int(10) NOT NULL DEFAULT 0,
  `event` varchar(191) NOT NULL DEFAULT '',
  `priority` int(10) NOT NULL DEFAULT 0,
  `propertyset` int(10) unsigned NOT NULL DEFAULT 0,
  PRIMARY KEY (`pluginid`,`event`),
  KEY `priority` (`priority`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `modx_site_plugin_events`
--

SET autocommit=0;
INSERT INTO `modx_site_plugin_events` VALUES (1,'OnChunkFormPrerender',0,0),(1,'OnDocFormPrerender',0,0),(1,'OnFileCreateFormPrerender',0,0),(1,'OnFileEditFormPrerender',0,0),(1,'OnManagerPageBeforeRender',0,0),(1,'OnPluginFormPrerender',0,0),(1,'OnRichTextEditorRegister',0,0),(1,'OnSnipFormPrerender',0,0),(1,'OnTempFormPrerender',0,0),(1,'OnTVInputRenderList',0,0),(2,'OnBeforeRegisterClientScripts',0,0),(2,'OnManagerPageBeforeRender',0,0),(2,'OnWebPageComplete',0,0),(3,'OnSiteRefresh',0,0),(4,'OnSiteRefresh',0,0);
COMMIT;

-- Dumped table `modx_site_plugin_events` with 15 row(s)
--

--
-- Table structure for table `modx_site_plugins`
--

CREATE TABLE `modx_site_plugins` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `source` int(10) unsigned NOT NULL DEFAULT 0,
  `property_preprocess` tinyint(1) unsigned NOT NULL DEFAULT 0,
  `name` varchar(50) NOT NULL DEFAULT '',
  `description` varchar(191) NOT NULL DEFAULT '',
  `editor_type` int(11) NOT NULL DEFAULT 0,
  `category` int(11) NOT NULL DEFAULT 0,
  `cache_type` tinyint(1) NOT NULL DEFAULT 0,
  `plugincode` mediumtext NOT NULL,
  `locked` tinyint(1) unsigned NOT NULL DEFAULT 0,
  `properties` text DEFAULT NULL,
  `disabled` tinyint(1) unsigned NOT NULL DEFAULT 0,
  `moduleguid` varchar(32) NOT NULL DEFAULT '',
  `static` tinyint(1) unsigned NOT NULL DEFAULT 0,
  `static_file` varchar(191) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`),
  KEY `category` (`category`),
  KEY `locked` (`locked`),
  KEY `disabled` (`disabled`),
  KEY `static` (`static`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `modx_site_plugins`
--

SET autocommit=0;
INSERT INTO `modx_site_plugins` VALUES (1,0,0,'Ace','Ace code editor plugin for MODx Revolution',0,0,0,'/**\n * Ace Source Editor Plugin\n *\n * Events: OnManagerPageBeforeRender, OnRichTextEditorRegister, OnSnipFormPrerender,\n * OnTempFormPrerender, OnChunkFormPrerender, OnPluginFormPrerender,\n * OnFileCreateFormPrerender, OnFileEditFormPrerender, OnDocFormPrerender\n *\n * @author Danil Kostin <danya.postfactum(at)gmail.com>\n *\n * @package ace\n *\n * @var array $scriptProperties\n * @var Ace $ace\n */\nif ($modx->event->name == \'OnRichTextEditorRegister\') {\n    $modx->event->output(\'Ace\');\n    return;\n}\n\nif ($modx->getOption(\'which_element_editor\', null, \'Ace\') !== \'Ace\') {\n    return;\n}\n\n$corePath = $modx->getOption(\'ace.core_path\', null, $modx->getOption(\'core_path\').\'components/ace/\');\n$ace = $modx->getService(\'ace\', \'Ace\', $corePath.\'model/ace/\');\n$ace->initialize();\n\n$extensionMap = array(\n    \'tpl\'   => \'text/x-smarty\',\n    \'htm\'   => \'text/html\',\n    \'html\'  => \'text/html\',\n    \'css\'   => \'text/css\',\n    \'scss\'  => \'text/x-scss\',\n    \'less\'  => \'text/x-less\',\n    \'svg\'   => \'image/svg+xml\',\n    \'xml\'   => \'application/xml\',\n    \'xsl\'   => \'application/xml\',\n    \'js\'    => \'application/javascript\',\n    \'json\'  => \'application/json\',\n    \'php\'   => \'application/x-php\',\n    \'sql\'   => \'text/x-sql\',\n    \'md\'    => \'text/x-markdown\',\n    \'txt\'   => \'text/plain\',\n    \'twig\'  => \'text/x-twig\'\n);\n\n// Define default mime for html elements(templates, chunks and html resources)\n$html_elements_mime=$modx->getOption(\'ace.html_elements_mime\',null,false);\nif(!$html_elements_mime){\n    // this may deprecated in future because components may set ace.html_elements_mime option now\n    switch (true) {\n        case $modx->getOption(\'twiggy_class\'):\n            $html_elements_mime = \'text/x-twig\';\n            break;\n        case $modx->getOption(\'pdotools_fenom_parser\'):\n            $html_elements_mime = \'text/x-smarty\';\n            break;\n        default:\n            $html_elements_mime = \'text/html\';\n    }\n}\n\n// Defines wether we should highlight modx tags\n$modxTags = false;\nswitch ($modx->event->name) {\n    case \'OnSnipFormPrerender\':\n        $field = \'modx-snippet-snippet\';\n        $mimeType = \'application/x-php\';\n        break;\n    case \'OnTempFormPrerender\':\n        $field = \'modx-template-content\';\n        $modxTags = true;\n        $mimeType = $html_elements_mime;\n        break;\n    case \'OnChunkFormPrerender\':\n        $field = \'modx-chunk-snippet\';\n        if ($modx->controller->chunk && $modx->controller->chunk->isStatic()) {\n            $extension = pathinfo($modx->controller->chunk->name, PATHINFO_EXTENSION);\n            if(!$extension||!isset($extensionMap[$extension])){\n                $extension = pathinfo($modx->controller->chunk->getSourceFile(), PATHINFO_EXTENSION);\n            }\n            $mimeType = isset($extensionMap[$extension]) ? $extensionMap[$extension] : \'text/plain\';\n        } else {\n            $mimeType = $html_elements_mime;\n        }\n        $modxTags = true;\n        break;\n    case \'OnPluginFormPrerender\':\n        $field = \'modx-plugin-plugincode\';\n        $mimeType = \'application/x-php\';\n        break;\n    case \'OnFileCreateFormPrerender\':\n        $field = \'modx-file-content\';\n        $mimeType = \'text/plain\';\n        break;\n    case \'OnFileEditFormPrerender\':\n        $field = \'modx-file-content\';\n        $extension = pathinfo($scriptProperties[\'file\'], PATHINFO_EXTENSION);\n        $mimeType = isset($extensionMap[$extension])\n            ? $extensionMap[$extension]\n            : (\'@FILE:\'.pathinfo($scriptProperties[\'file\'], PATHINFO_BASENAME));\n        $modxTags = $extension == \'tpl\';\n        break;\n    case \'OnDocFormPrerender\':\n        if (!$modx->controller->resourceArray) {\n            return;\n        }\n        $field = \'ta\';\n        $mimeType = $modx->getObject(\'modContentType\', $modx->controller->resourceArray[\'content_type\'])->get(\'mime_type\');\n\n        if($mimeType == \'text/html\')$mimeType = $html_elements_mime;\n\n        if ($modx->getOption(\'use_editor\')){\n            $richText = $modx->controller->resourceArray[\'richtext\'];\n            $classKey = $modx->controller->resourceArray[\'class_key\'];\n            if ($richText || in_array($classKey, array(\'modStaticResource\',\'modSymLink\',\'modWebLink\',\'modXMLRPCResource\'))) {\n                $field = false;\n            }\n        }\n        $modxTags = true;\n        break;\n    case \'OnTVInputRenderList\':\n        $modx->event->output($corePath . \'elements/tv/input/\');\n        break;\n    default:\n        return;\n}\n\n$modxTags = (int) $modxTags;\n$script = \'\';\nif ($field) {\n    $script .= \"MODx.ux.Ace.replaceComponent(\'$field\', \'$mimeType\', $modxTags);\";\n}\n\nif ($modx->event->name == \'OnDocFormPrerender\' && !$modx->getOption(\'use_editor\')) {\n    $script .= \"MODx.ux.Ace.replaceTextAreas(Ext.query(\'.modx-richtext\'));\";\n}\n\nif ($script) {\n    $modx->controller->addHtml(\'<script>Ext.onReady(function() {\' . $script . \'});</script>\');\n}',0,'a:0:{}',0,'',0,'ace/elements/plugins/ace.plugin.php'),(2,1,0,'controlErrorLog','',0,4,0,'/** @var modX $modx */\nswitch ($modx->event->name) {\n    case \'OnManagerPageBeforeRender\':\n        if ($modx->getOption(\'controlerrorlog.enable\', null, true) && $modx->hasPermission(\'error_log_view\')) {\n            $modx->controller->addLexiconTopic(\'controlerrorlog:default\');\n            $assetsUrl = $modx->getOption(\'controlerrorlog_assets_url\', null, $modx->getOption(\'assets_url\') . \'components/controlerrorlog/\') ;\n            $modx->controller->addCss($assetsUrl . \'css/mgr/main.css\');\n            $modx->controller->addJavascript($assetsUrl . \'js/mgr/cel.default.js\');\n\n\n            $path = $modx->getOption(\'controlerrorlog_core_path\', null, $modx->getOption(\'core_path\') . \'components/controlerrorlog/\') . \'processors/\';\n            $response = $modx->runProcessor(\'mgr/get\', [\'includeContent\' => false], [\'processors_path\' => $path]);\n            $resObj = $response->getObject();\n            $_html = \"<script>	controlErrorLog.config = \" . $modx->toJSON($resObj) . \";</script>\";\n            $modx->controller->addHtml($_html);\n        }\n        break;\n    case \'OnBeforeRegisterClientScripts\':\n        $isAuth = $modx->user->isAuthenticated(\'mgr\') && $modx->user->isAuthenticated($modx->context->key);\n        if ($isAuth && $modx->getOption(\'controlerrorlog.control_frontend\', null, true) && $modx->hasPermission(\'error_log_view\')) {\n            $modx->lexicon->load(\'controlerrorlog:default\');\n            $modx->regClientHTMLBlock($modx->getChunk(\'errorLogPanel.tpl\'));\n\n            $assetsUrl = $modx->getOption(\'controlerrorlog_assets_url\', null, $modx->getOption(\'assets_url\') . \'components/controlerrorlog/\') ;\n            if ($css = $modx->getOption(\'controlerrorlog.css_file\', null, $assetsUrl . \'css/web/default.css\')) {\n                $modx->regClientCSS($css);\n            }\n            if ($js = $modx->getOption(\'controlerrorlog.js_file\', null, $assetsUrl . \'js/web/default.js\')) {\n                $modx->regClientScript($js);\n            }\n\n            if (!isset($_SESSION[\'controlerrorlog\'][\'token\'])) {\n                $_SESSION[\'controlerrorlog\'][\'token\'] = md5(MODX_HTTP_HOST . time() . mt_rand(1, 1000));\n            }\n            $path = $modx->getOption(\'controlerrorlog_core_path\', null, $modx->getOption(\'core_path\') . \'components/controlerrorlog/\') . \'processors/\';\n            $response = $modx->runProcessor(\'web/get\', [\'includeContent\' => false, \'token\' => @$_SESSION[\'controlerrorlog\'][\'token\']], [\'processors_path\' => $path]);\n            $rObject = $response->getObject();\n            $config = json_encode($rObject[\'config\']);\n            $connectorUrl = $assetsUrl . \'api.php\';\n            $rObject[\"tooLarge\"] = $rObject[\"tooLarge\"] ? \'true\' : \'false\';\n            $rObject[\"empty\"] = $rObject[\"empty\"] ? \'true\' : \'false\';\n            $resObj = \"{\n                token: \'{$_SESSION[\'controlerrorlog\'][\'token\']}\',\n                config: {$config},\n                collapsed: false,\n                connectorUrl: \'{$connectorUrl}\',\n                tooLarge: {$rObject[\"tooLarge\"]},\n                size: \'{$rObject[\"size\"]}\',\n                empty: {$rObject[\"empty\"]},\n                log: \'{$rObject[\"log\"]}\',\n                messages_count: {$rObject[\"messages_count\"]}\n            }\";\n            $_html = \"<script>\\r\\n\\tlet controlErrorLog = \" . $resObj . \";\\r\\n</script>\";\n            $modx->regClientStartupHTMLBlock($_html);\n        }\n        break;\n}',0,NULL,0,'',0,'core/components/controlerrorlog/elements/plugins/plugin.controlerrorlog.php'),(3,0,0,'GSMCacheManager','',0,7,0,'/**\n * GSMCacheManager\n *\n * Clears the Google SiteMap cache partition.\n * Version 2+ of GoogleSiteMap uses code by Garry Nutting of the MODX Core Team to deliver sitemaps blazingly fast.\n *\n * @author YJ Tso <yj@modx.com>, Garry Nutting <garry@modx.com>\n *\n *\n * GSMCacheManager is free software; you can redistribute it and/or modify it\n * under the terms of the GNU General Public License as published by the Free\n * Software Foundation; either version 2 of the License, or (at your option) any\n * later version.\n *\n * GSMCacheManager is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License along with\n * GSMCacheManager; if not, write to the Free Software Foundation, Inc., 59 Temple\n * Place, Suite 330, Boston, MA 02111-1307 USA\n *\n * @package googlesitemap\n */\n\n// In case the wrong event is enabled\nif ($modx->event->name !== \'OnSiteRefresh\') return;\n// Set cache options\n// subfolder of core/cache/\n$cachePartition = $modx->getoption(\'cachePartition\', $scriptProperties, $modx->getOption(\'googlesitemap.cache_partition\', null, \'googlesitemap\'));\n$options = array(\n  xPDO::OPT_CACHE_KEY => $cachePartition,\n);\n\n// Clean cache\n$modx->cacheManager->clean($options);',0,'a:1:{s:14:\"cachePartition\";a:7:{s:4:\"name\";s:14:\"cachePartition\";s:4:\"desc\";s:44:\"googlesitemap.gsmcachemanager.cachePartition\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:13:\"googlesitemap\";s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}}',0,'',0,''),(4,0,0,'phpThumbOfCacheManager','Handles cache cleaning when clearing the Site Cache.',0,9,0,'/*\n * Handles cache cleanup\n * pThumb\n * Copyright 2013 Jason Grant\n *\n * Please see the GitHub page for documentation or to report bugs:\n * https://github.com/oo12/phpThumbOf\n *\n * pThumb is free software; you can redistribute it and/or modify it\n * under the terms of the GNU General Public License as published by the Free\n * Software Foundation; either version 2 of the License, or (at your option) any\n * later version.\n *\n * pThumb is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License along with\n * phpThumbOf; if not, write to the Free Software Foundation, Inc., 59 Temple\n * Place, Suite 330, Boston, MA 02111-1307 USA\n */\n\nif ($modx->event->name === \'OnSiteRefresh\') {\n	if (!$modx->loadClass(\'pThumbCacheCleaner\', MODX_CORE_PATH . \'components/phpthumbof/model/\', true, true)) {\n		$modx->log(modX::LOG_LEVEL_ERROR, \'[pThumb] Could not load pThumbCacheCleaner class.\');\n		return;\n	}\n	static $pt_settings = array();\n	$pThumb = new pThumbCacheCleaner($modx, $pt_settings, array(), true);\n	$pThumb->cleanCache();\n}',0,NULL,0,'',0,'');
COMMIT;

-- Dumped table `modx_site_plugins` with 4 row(s)
--

--
-- Table structure for table `modx_site_snippets`
--

CREATE TABLE `modx_site_snippets` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `source` int(10) unsigned NOT NULL DEFAULT 0,
  `property_preprocess` tinyint(1) unsigned NOT NULL DEFAULT 0,
  `name` varchar(50) NOT NULL DEFAULT '',
  `description` varchar(191) NOT NULL DEFAULT '',
  `editor_type` int(11) NOT NULL DEFAULT 0,
  `category` int(11) NOT NULL DEFAULT 0,
  `cache_type` tinyint(1) NOT NULL DEFAULT 0,
  `snippet` mediumtext DEFAULT NULL,
  `locked` tinyint(1) unsigned NOT NULL DEFAULT 0,
  `properties` text DEFAULT NULL,
  `moduleguid` varchar(32) NOT NULL DEFAULT '',
  `static` tinyint(1) unsigned NOT NULL DEFAULT 0,
  `static_file` varchar(191) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`),
  KEY `category` (`category`),
  KEY `locked` (`locked`),
  KEY `moduleguid` (`moduleguid`),
  KEY `static` (`static`)
) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `modx_site_snippets`
--

SET autocommit=0;
INSERT INTO `modx_site_snippets` VALUES (1,0,0,'BackupMODXWidget','Backup MODX Dashboard widget',0,1,0,'/**\n * BackupMODX\n *\n * MODX Backup Dashboard Widget\n *\n *\n * @package backupmodx\n */\n \n\n// Returns an empty string if user shouldn\'t see the widget\n$groups = $modx->getOption(\'groups\', $scriptProperties, \'Administrator\', true);\nif (strpos($groups, \',\') !== false) {\n	$groups = explode(\',\', $groups);\n}\nif (!$modx->user->isMember($groups)) {\n	return \'\';\n} \n\n\n// Load Class\n$modelPath = $modx->getOption(\'core_path\', null, MODX_CORE_PATH) . \'components/backupmodx/model/backupmodx/\';\n$assetsUrl = $modx->getOption(\'assets_url\', null, MODX_ASSETS_URL);\n$assetsUrl = substr($assetsUrl, 1);\n$modx->loadClass(\'BackupMODX\', $modelPath, true, true);\n\n\n$backupMODX = new BackupMODX($modx, $config = array());\n\n\nif (isset($_POST[\'removebackupmodx\'])) {\n\n    $backup = $_SESSION[\'tmpActiveBackup\'];\n    $backupMODX->removeBackup($backup[\'filename\']);\n    \n    unset($_SESSION[\'tmpActiveBackup\']);\n}\n\nif (isset($_POST[\'restorebackupmodx\'])) {\n\n    $database = $_POST[\'database\'];\n    $restorebackup = $backupMODX->restoreBackup($database);\n    \n    if ($restorebackup === true) {\n        echo \'Backup was restored.\';\n        return;\n    }\n}\n\nreturn $modx->getChunk(\'backupMODXWidget\', array(\n    \'backup\' => is_array($_SESSION[\'tmpActiveBackup\'])? json_encode($_SESSION[\'tmpActiveBackup\']) : \'\',\n    \'assetsurl\' => $assetsUrl,\n));',0,NULL,'',0,''),(2,0,0,'UpgradeMODXWidget','Upgrade MODX Dashboard widget',0,2,0,'/**\n * UpgradeMODXWidget snippet for UpgradeMODX extra\n *\n * Copyright 2015-2022 Bob Ray <https://bobsguides.com>\n * Created on 08-16-2015\n *\n * UpgradeMODX is free software; you can redistribute it and/or modify it under the\n * terms of the GNU General Public License as published by the Free Software\n * Foundation; either version 2 of the License, or (at your option) any later\n * version.\n *\n * UpgradeMODX is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License along with\n * UpgradeMODX; if not, write to the Free Software Foundation, Inc., 59 Temple\n * Place, Suite 330, Boston, MA 02111-1307 USA\n *\n * @package upgrademodx\n */\n\n/**\n * Description\n * -----------\n * UpgradeMODX Dashboard widget\n * This package was inspired by the work of a number of people and I have borrowed some of their code.\n * Dmytro Lukianenko (dmi3yy) is the original author of the MODX install script. Susan Sottwell, Sharapov,\n * Bumkaka, Inreti, Zaigham Rana, frischnetz, and AgelxNash, also contributed and I\'d like to thank all\n * of them for laying the groundwork.\n *\n * Variables\n * ---------\n * @var $modx modX\n * @var $scriptProperties array\n *\n * @package upgrademodx\n **/\n\n/* Properties\n\n * @property &groups textfield -- group, or comma-separated list of groups, who will see the widget; Default: (empty)..\n * @property &hideWhenNoUpgrade combo-boolean -- Hide widget when no upgrade is available; Default: No.\n * @property &interval textfield -- Interval between checks -- Examples: 1 week, 3 days, 6 hours; Default: 1 week.\n * @property &language textfield -- Two-letter code of language to user; Default: en.\n * @property &lastCheck textfield -- Date and time of last check -- set automatically; Default: (empty)..\n * @property &latestVersion textfield -- Latest version (at last check) -- set automatically; Default: (empty)..\n * @property &plOnly combo-boolean -- Show only pl (stable) versions; Default: yes.\n * @property &versionsToShow textfield -- Number of versions to show in upgrade form (not widget); Default: 5.\n */\n\n\n/* Initialize */\n/* This will execute when in MODX */\n$language = $modx->getOption(\'ugm_language\', null, $modx->getOption(\'manager_language\'), true);\n$language = empty($language) ? \'en\' : $language;\n$props = $scriptProperties;\n$modx->lexicon->load($language . \':upgrademodx:default\');\n$devMode = $modx->getOption(\'ugm.devMode\', null, false, true);\n$groups = $modx->getOption(\'ugm_groups\', null, \'Administrator\', true);\n\n/* Return empty string if user shouldn\'t see widget */\nif (strpos($groups, \',\') !== false) {\n    $groups = explode(\',\', $groups);\n}\nif (! $modx->user->isMember($groups)) {\n    return \'\';\n}\n\n$corePath = $modx->getOption(\'ugm.core_path\', null, $modx->getOption(\'core_path\', null, MODX_CORE_PATH) . \'components/upgrademodx/\');\n$assetsUrl = $modx->getOption(\'ugm.assets_url\', null, $modx->getOption(\'assets_url\', null, MODX_ASSETS_URL) . \'components/upgrademodx/\');\nrequire_once($corePath . \'model/upgrademodx/upgrademodx.class.php\');\n$upgrade = new UpgradeMODX($modx);\n$upgrade->init();\n$props[\'ugm_setup_url\'] = MODX_SITE_URL . \'setup/index.php\';\nunset($props[\'controller\']); // remove trash from scriptProperties\n$modx->regClientStartupScript(\'<script>\nvar ugmConnectorUrl = \"\' . $assetsUrl . \'connector.php\";\nvar ugm_config = \' . $modx->toJSON($props)  . \';\nvar ugm_setup_url = \"\' . MODX_SITE_URL . \'setup/index.php\";\n</script>\'\n);\n$modx->regClientCSS($assetsUrl . \'css/progress.css\');\n$modx->regClientStartupScript(\"//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js\");\n$modx->regClientStartupScript($assetsUrl . \'js/modernizr.custom.js\');\n\n$hideWhenNoUpgrade = $modx->getOption(\'ugm_hide_when_no_upgrade\', null, false, true);\n$settingsVersion = $modx->getOption(\'settings_version\');\n\n/* Set Placeholders */\n$placeholders = array();\n$placeholders[\'[[+ugm_assets_url]]\'] = $assetsUrl;\n$placeholders[\'[[+ugm_current_version]]\'] = $settingsVersion;\n$placeholders[\'[[+ugm_current_version_caption]]\'] = $modx->lexicon(\'ugm_current_version_caption\');\n$placeholders[\'[[+ugm_latest_version_caption]]\'] = $modx->lexicon(\'ugm_latest_version_caption\');\n\n$upgradeAvailable = $upgrade->upgradeAvailable($settingsVersion);\n$placeholders[\'[[+ugm_latest_version]]\'] = $upgrade->getLatestVersion();\n\nif ($devMode) {\n    $upgradeAvailable = true;\n}\n\nif ($upgradeAvailable) {\n    $versionForm = $upgrade->createVersionForm($modx);\n}\n\n$errors = $upgrade->getErrors();\n\nif (!empty($errors)) {\n    $msg = \'\';\n    foreach ($errors as $error) {\n        $msg .= \'<br/><span style=\"color:red\">\' . $modx->lexicon(\'ugm_error\') .\n            \': \' . $error . \'</span>\';\n    }\n    return $msg;\n}\n\n/* Process */\n\n/* See if there\'s a new version */\nif ($upgradeAvailable) {\n    $placeholders[\'[[+ugm_notice]]\'] = $modx->lexicon(\'ugm_upgrade_available\');\n    $placeholders[\'[[+ugm_notice_color]]\'] = \'green\';\n    $placeholders[\'[[+ugm_version_form]]\'] = $versionForm;\n} else {\n    if ($hideWhenNoUpgrade) {\n        return \'\';\n    } else {\n        $placeholders[\'[[+ugm_notice]]\'] = $modx->lexicon(\'ugm_modx_up_to_date\');\n        $placeholders[\'[[+ugm_notice_color]]\'] = \'gray\';\n    }\n}\n/* Get Tpl */\n$tpl = $modx->getChunk(\'UpgradeMODXTpl\');\n\n/* Do the replacements */\n$tpl = str_replace(array_keys($placeholders), array_values($placeholders), $tpl);\n\n/*if (php_sapi_name() === \'cli\') {\n    echo $tpl;\n}*/\n\nreturn $tpl;',0,'a:0:{}','',0,''),(3,0,0,'Wayfinder','Wayfinder for MODx Revolution 2.0.0-beta-5 and later.',0,0,0,'/**\n * Wayfinder Snippet to build site navigation menus\n *\n * Totally refactored from original DropMenu nav builder to make it easier to\n * create custom navigation by using chunks as output templates. By using\n * templates, many of the paramaters are no longer needed for flexible output\n * including tables, unordered- or ordered-lists (ULs or OLs), definition lists\n * (DLs) or in any other format you desire.\n *\n * @version 2.1.1-beta5\n * @author Garry Nutting (collabpad.com)\n * @author Kyle Jaebker (muddydogpaws.com)\n * @author Ryan Thrash (modx.com)\n * @author Shaun McCormick (modx.com)\n * @author Jason Coward (modx.com)\n *\n * @example [[Wayfinder? &startId=`0`]]\n *\n * @var modX $modx\n * @var array $scriptProperties\n * \n * @package wayfinder\n */\n$wayfinder_base = $modx->getOption(\'wayfinder.core_path\',$scriptProperties,$modx->getOption(\'core_path\').\'components/wayfinder/\');\n\n/* include a custom config file if specified */\nif (isset($scriptProperties[\'config\'])) {\n    $scriptProperties[\'config\'] = str_replace(\'../\',\'\',$scriptProperties[\'config\']);\n    $scriptProperties[\'config\'] = $wayfinder_base.\'configs/\'.$scriptProperties[\'config\'].\'.config.php\';\n} else {\n    $scriptProperties[\'config\'] = $wayfinder_base.\'configs/default.config.php\';\n}\nif (file_exists($scriptProperties[\'config\'])) {\n    include $scriptProperties[\'config\'];\n}\n\n/* include wayfinder class */\ninclude_once $wayfinder_base.\'wayfinder.class.php\';\nif (!$modx->loadClass(\'Wayfinder\',$wayfinder_base,true,true)) {\n    return \'error: Wayfinder class not found\';\n}\n$wf = new Wayfinder($modx,$scriptProperties);\n\n/* get user class definitions\n * TODO: eventually move these into config parameters */\n$wf->_css = array(\n    \'first\' => isset($firstClass) ? $firstClass : \'\',\n    \'last\' => isset($lastClass) ? $lastClass : \'last\',\n    \'here\' => isset($hereClass) ? $hereClass : \'active\',\n    \'parent\' => isset($parentClass) ? $parentClass : \'\',\n    \'row\' => isset($rowClass) ? $rowClass : \'\',\n    \'outer\' => isset($outerClass) ? $outerClass : \'\',\n    \'inner\' => isset($innerClass) ? $innerClass : \'\',\n    \'level\' => isset($levelClass) ? $levelClass: \'\',\n    \'self\' => isset($selfClass) ? $selfClass : \'\',\n    \'weblink\' => isset($webLinkClass) ? $webLinkClass : \'\'\n);\n\n/* get user templates\n * TODO: eventually move these into config parameters */\n$wf->_templates = array(\n    \'outerTpl\' => isset($outerTpl) ? $outerTpl : \'\',\n    \'rowTpl\' => isset($rowTpl) ? $rowTpl : \'\',\n    \'parentRowTpl\' => isset($parentRowTpl) ? $parentRowTpl : \'\',\n    \'parentRowHereTpl\' => isset($parentRowHereTpl) ? $parentRowHereTpl : \'\',\n    \'hereTpl\' => isset($hereTpl) ? $hereTpl : \'\',\n    \'innerTpl\' => isset($innerTpl) ? $innerTpl : \'\',\n    \'innerRowTpl\' => isset($innerRowTpl) ? $innerRowTpl : \'\',\n    \'innerHereTpl\' => isset($innerHereTpl) ? $innerHereTpl : \'\',\n    \'activeParentRowTpl\' => isset($activeParentRowTpl) ? $activeParentRowTpl : \'\',\n    \'categoryFoldersTpl\' => isset($categoryFoldersTpl) ? $categoryFoldersTpl : \'\',\n    \'startItemTpl\' => isset($startItemTpl) ? $startItemTpl : \'\'\n);\n\n/* process Wayfinder */\n$output = $wf->run();\nif ($wf->_config[\'debug\']) {\n    $output .= $wf->renderDebugOutput();\n}\n\n/* output results */\nif ($wf->_config[\'ph\']) {\n    $modx->setPlaceholder($wf->_config[\'ph\'],$output);\n} else {\n    return $output;\n}',0,'a:48:{s:5:\"level\";a:6:{s:4:\"name\";s:5:\"level\";s:4:\"desc\";s:25:\"prop_wayfinder.level_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:1:\"0\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:11:\"includeDocs\";a:6:{s:4:\"name\";s:11:\"includeDocs\";s:4:\"desc\";s:31:\"prop_wayfinder.includeDocs_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:1:\"0\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:11:\"excludeDocs\";a:6:{s:4:\"name\";s:11:\"excludeDocs\";s:4:\"desc\";s:31:\"prop_wayfinder.excludeDocs_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:1:\"0\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:8:\"contexts\";a:6:{s:4:\"name\";s:8:\"contexts\";s:4:\"desc\";s:28:\"prop_wayfinder.contexts_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:12:\"cacheResults\";a:6:{s:4:\"name\";s:12:\"cacheResults\";s:4:\"desc\";s:32:\"prop_wayfinder.cacheResults_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:1;s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:9:\"cacheTime\";a:6:{s:4:\"name\";s:9:\"cacheTime\";s:4:\"desc\";s:29:\"prop_wayfinder.cacheTime_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";i:3600;s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:2:\"ph\";a:6:{s:4:\"name\";s:2:\"ph\";s:4:\"desc\";s:22:\"prop_wayfinder.ph_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:0;s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:5:\"debug\";a:6:{s:4:\"name\";s:5:\"debug\";s:4:\"desc\";s:25:\"prop_wayfinder.debug_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:0;s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:12:\"ignoreHidden\";a:6:{s:4:\"name\";s:12:\"ignoreHidden\";s:4:\"desc\";s:32:\"prop_wayfinder.ignoreHidden_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:0;s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:12:\"hideSubMenus\";a:6:{s:4:\"name\";s:12:\"hideSubMenus\";s:4:\"desc\";s:32:\"prop_wayfinder.hideSubMenus_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:0;s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:13:\"useWeblinkUrl\";a:6:{s:4:\"name\";s:13:\"useWeblinkUrl\";s:4:\"desc\";s:33:\"prop_wayfinder.useWeblinkUrl_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:1;s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:8:\"fullLink\";a:6:{s:4:\"name\";s:8:\"fullLink\";s:4:\"desc\";s:28:\"prop_wayfinder.fullLink_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:0;s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:6:\"scheme\";a:6:{s:4:\"name\";s:6:\"scheme\";s:4:\"desc\";s:26:\"prop_wayfinder.scheme_desc\";s:4:\"type\";s:4:\"list\";s:7:\"options\";a:3:{i:0;a:2:{s:4:\"text\";s:23:\"prop_wayfinder.relative\";s:5:\"value\";s:0:\"\";}i:1;a:2:{s:4:\"text\";s:23:\"prop_wayfinder.absolute\";s:5:\"value\";s:3:\"abs\";}i:2;a:2:{s:4:\"text\";s:19:\"prop_wayfinder.full\";s:5:\"value\";s:4:\"full\";}}s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:9:\"sortOrder\";a:6:{s:4:\"name\";s:9:\"sortOrder\";s:4:\"desc\";s:29:\"prop_wayfinder.sortOrder_desc\";s:4:\"type\";s:4:\"list\";s:7:\"options\";a:2:{i:0;a:2:{s:4:\"text\";s:24:\"prop_wayfinder.ascending\";s:5:\"value\";s:3:\"ASC\";}i:1;a:2:{s:4:\"text\";s:25:\"prop_wayfinder.descending\";s:5:\"value\";s:4:\"DESC\";}}s:5:\"value\";s:3:\"ASC\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:6:\"sortBy\";a:6:{s:4:\"name\";s:6:\"sortBy\";s:4:\"desc\";s:26:\"prop_wayfinder.sortBy_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:9:\"menuindex\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:5:\"limit\";a:6:{s:4:\"name\";s:5:\"limit\";s:4:\"desc\";s:25:\"prop_wayfinder.limit_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:1:\"0\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:6:\"cssTpl\";a:6:{s:4:\"name\";s:6:\"cssTpl\";s:4:\"desc\";s:26:\"prop_wayfinder.cssTpl_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:0;s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:5:\"jsTpl\";a:6:{s:4:\"name\";s:5:\"jsTpl\";s:4:\"desc\";s:25:\"prop_wayfinder.jsTpl_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:0;s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:11:\"rowIdPrefix\";a:6:{s:4:\"name\";s:11:\"rowIdPrefix\";s:4:\"desc\";s:31:\"prop_wayfinder.rowIdPrefix_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:0;s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:11:\"textOfLinks\";a:6:{s:4:\"name\";s:11:\"textOfLinks\";s:4:\"desc\";s:31:\"prop_wayfinder.textOfLinks_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:9:\"menutitle\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:12:\"titleOfLinks\";a:6:{s:4:\"name\";s:12:\"titleOfLinks\";s:4:\"desc\";s:32:\"prop_wayfinder.titleOfLinks_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:9:\"pagetitle\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:12:\"displayStart\";a:6:{s:4:\"name\";s:12:\"displayStart\";s:4:\"desc\";s:32:\"prop_wayfinder.displayStart_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:0;s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:10:\"firstClass\";a:6:{s:4:\"name\";s:10:\"firstClass\";s:4:\"desc\";s:30:\"prop_wayfinder.firstClass_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:5:\"first\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:9:\"lastClass\";a:6:{s:4:\"name\";s:9:\"lastClass\";s:4:\"desc\";s:29:\"prop_wayfinder.lastClass_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:4:\"last\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:9:\"hereClass\";a:6:{s:4:\"name\";s:9:\"hereClass\";s:4:\"desc\";s:29:\"prop_wayfinder.hereClass_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:6:\"active\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:11:\"parentClass\";a:6:{s:4:\"name\";s:11:\"parentClass\";s:4:\"desc\";s:31:\"prop_wayfinder.parentClass_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:8:\"rowClass\";a:6:{s:4:\"name\";s:8:\"rowClass\";s:4:\"desc\";s:28:\"prop_wayfinder.rowClass_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:10:\"outerClass\";a:6:{s:4:\"name\";s:10:\"outerClass\";s:4:\"desc\";s:30:\"prop_wayfinder.outerClass_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:10:\"innerClass\";a:6:{s:4:\"name\";s:10:\"innerClass\";s:4:\"desc\";s:30:\"prop_wayfinder.innerClass_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:10:\"levelClass\";a:6:{s:4:\"name\";s:10:\"levelClass\";s:4:\"desc\";s:30:\"prop_wayfinder.levelClass_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:9:\"selfClass\";a:6:{s:4:\"name\";s:9:\"selfClass\";s:4:\"desc\";s:29:\"prop_wayfinder.selfClass_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:12:\"webLinkClass\";a:6:{s:4:\"name\";s:12:\"webLinkClass\";s:4:\"desc\";s:32:\"prop_wayfinder.webLinkClass_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:8:\"outerTpl\";a:6:{s:4:\"name\";s:8:\"outerTpl\";s:4:\"desc\";s:28:\"prop_wayfinder.outerTpl_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:6:\"rowTpl\";a:6:{s:4:\"name\";s:6:\"rowTpl\";s:4:\"desc\";s:26:\"prop_wayfinder.rowTpl_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:12:\"parentRowTpl\";a:6:{s:4:\"name\";s:12:\"parentRowTpl\";s:4:\"desc\";s:32:\"prop_wayfinder.parentRowTpl_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:16:\"parentRowHereTpl\";a:6:{s:4:\"name\";s:16:\"parentRowHereTpl\";s:4:\"desc\";s:36:\"prop_wayfinder.parentRowHereTpl_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:7:\"hereTpl\";a:6:{s:4:\"name\";s:7:\"hereTpl\";s:4:\"desc\";s:27:\"prop_wayfinder.hereTpl_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:8:\"innerTpl\";a:6:{s:4:\"name\";s:8:\"innerTpl\";s:4:\"desc\";s:28:\"prop_wayfinder.innerTpl_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:11:\"innerRowTpl\";a:6:{s:4:\"name\";s:11:\"innerRowTpl\";s:4:\"desc\";s:31:\"prop_wayfinder.innerRowTpl_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:12:\"innerHereTpl\";a:6:{s:4:\"name\";s:12:\"innerHereTpl\";s:4:\"desc\";s:32:\"prop_wayfinder.innerHereTpl_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:18:\"activeParentRowTpl\";a:6:{s:4:\"name\";s:18:\"activeParentRowTpl\";s:4:\"desc\";s:38:\"prop_wayfinder.activeParentRowTpl_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:18:\"categoryFoldersTpl\";a:6:{s:4:\"name\";s:18:\"categoryFoldersTpl\";s:4:\"desc\";s:38:\"prop_wayfinder.categoryFoldersTpl_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:12:\"startItemTpl\";a:6:{s:4:\"name\";s:12:\"startItemTpl\";s:4:\"desc\";s:32:\"prop_wayfinder.startItemTpl_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:11:\"permissions\";a:6:{s:4:\"name\";s:11:\"permissions\";s:4:\"desc\";s:31:\"prop_wayfinder.permissions_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:4:\"list\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:6:\"hereId\";a:6:{s:4:\"name\";s:6:\"hereId\";s:4:\"desc\";s:26:\"prop_wayfinder.hereId_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:5:\"where\";a:6:{s:4:\"name\";s:5:\"where\";s:4:\"desc\";s:25:\"prop_wayfinder.where_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:9:\"templates\";a:6:{s:4:\"name\";s:9:\"templates\";s:4:\"desc\";s:29:\"prop_wayfinder.templates_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}s:18:\"previewUnpublished\";a:6:{s:4:\"name\";s:18:\"previewUnpublished\";s:4:\"desc\";s:38:\"prop_wayfinder.previewunpublished_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:20:\"wayfinder:properties\";}}','',0,''),(4,0,0,'ActiveUsers','Shows a list of active, logged-in users.',0,3,0,'/**\n * Login\n *\n * Copyright 2010 by Shaun McCormick <shaun+login@modx.com>\n *\n * Login is free software; you can redistribute it and/or modify it under the\n * terms of the GNU General Public License as published by the Free Software\n * Foundation; either version 2 of the License, or (at your option) any later\n * version.\n *\n * Login is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License along with\n * Login; if not, write to the Free Software Foundation, Inc., 59 Temple\n * Place, Suite 330, Boston, MA 02111-1307 USA\n *\n * @package login\n */\n/**\n * Shows a list of active, signed-on users\n *\n * @var modX $modx\n * @var Login $login\n * @var array $scriptProperties\n *\n * @package login\n **/\nrequire_once $modx->getOption(\'login.core_path\',null,$modx->getOption(\'core_path\').\'components/login/\').\'model/login/login.class.php\';\n$login = new Login($modx,$scriptProperties);\n\n$controller = $login->loadController(\'ActiveUsers\');\n$output = $controller->run($scriptProperties);\nreturn $output;',0,'a:9:{s:3:\"tpl\";a:7:{s:4:\"name\";s:3:\"tpl\";s:4:\"desc\";s:20:\"prop_activeusers.tpl\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:13:\"lgnActiveUser\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:7:\"tplType\";a:7:{s:4:\"name\";s:7:\"tplType\";s:4:\"desc\";s:24:\"prop_activeusers.tplType\";s:4:\"type\";s:4:\"list\";s:7:\"options\";a:4:{i:0;a:2:{s:5:\"value\";s:8:\"modChunk\";s:4:\"text\";s:18:\"opt_register.chunk\";}i:1;a:2:{s:5:\"value\";s:4:\"file\";s:4:\"text\";s:17:\"opt_register.file\";}i:2;a:2:{s:5:\"value\";s:6:\"inline\";s:4:\"text\";s:19:\"opt_register.inline\";}i:3;a:2:{s:5:\"value\";s:8:\"embedded\";s:4:\"text\";s:21:\"opt_register.embedded\";}}s:5:\"value\";s:8:\"modChunk\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:6:\"sortBy\";a:7:{s:4:\"name\";s:6:\"sortBy\";s:4:\"desc\";s:23:\"prop_activeusers.sortBy\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:8:\"username\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:7:\"sortDir\";a:7:{s:4:\"name\";s:7:\"sortDir\";s:4:\"desc\";s:24:\"prop_activeusers.sortDir\";s:4:\"type\";s:4:\"list\";s:7:\"options\";a:2:{i:0;a:2:{s:5:\"value\";s:3:\"ASC\";s:4:\"text\";s:16:\"opt_register.asc\";}i:1;a:2:{s:5:\"value\";s:4:\"DESC\";s:4:\"text\";s:17:\"opt_register.desc\";}}s:5:\"value\";s:4:\"DESC\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:5:\"limit\";a:7:{s:4:\"name\";s:5:\"limit\";s:4:\"desc\";s:22:\"prop_activeusers.limit\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:2:\"10\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:6:\"offset\";a:7:{s:4:\"name\";s:6:\"offset\";s:4:\"desc\";s:23:\"prop_activeusers.offset\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:1:\"0\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:8:\"classKey\";a:7:{s:4:\"name\";s:8:\"classKey\";s:4:\"desc\";s:25:\"prop_activeusers.classKey\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:7:\"modUser\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:17:\"placeholderPrefix\";a:7:{s:4:\"name\";s:17:\"placeholderPrefix\";s:4:\"desc\";s:39:\"prop_activeusers.placeholderprefix_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:3:\"au.\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:13:\"toPlaceholder\";a:7:{s:4:\"name\";s:13:\"toPlaceholder\";s:4:\"desc\";s:35:\"prop_activeusers.toplaceholder_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}}','',0,''),(5,0,0,'ChangePassword','Processes a form for changing the password for a User.',0,3,0,'/**\n * Login\n *\n * Copyright 2010 by Shaun McCormick <shaun+login@modx.com>\n *\n * Login is free software; you can redistribute it and/or modify it under the\n * terms of the GNU General Public License as published by the Free Software\n * Foundation; either version 2 of the License, or (at your option) any later\n * version.\n *\n * Login is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License along with\n * Login; if not, write to the Free Software Foundation, Inc., 59 Temple\n * Place, Suite 330, Boston, MA 02111-1307 USA\n *\n * @package login\n */\n/**\n * ChangePassword snippet\n *\n * @var modX $modx\n * @var Login $login\n * @var array $scriptProperties\n * \n * @package login\n **/\nrequire_once $modx->getOption(\'login.core_path\',null,$modx->getOption(\'core_path\').\'components/login/\').\'model/login/login.class.php\';\n$login = new Login($modx,$scriptProperties);\n\n$controller = $login->loadController(\'ChangePassword\');\n$output = $controller->run($scriptProperties);\nreturn $output;',0,'a:9:{s:9:\"submitVar\";a:7:{s:4:\"name\";s:9:\"submitVar\";s:4:\"desc\";s:34:\"prop_changepassword.submitvar_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:12:\"logcp-submit\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:16:\"fieldOldPassword\";a:7:{s:4:\"name\";s:16:\"fieldOldPassword\";s:4:\"desc\";s:41:\"prop_changepassword.fieldoldpassword_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:12:\"password_old\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:16:\"fieldNewPassword\";a:7:{s:4:\"name\";s:16:\"fieldNewPassword\";s:4:\"desc\";s:41:\"prop_changepassword.fieldnewpassword_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:12:\"password_new\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:23:\"fieldConfirmNewPassword\";a:7:{s:4:\"name\";s:23:\"fieldConfirmNewPassword\";s:4:\"desc\";s:48:\"prop_changepassword.fieldconfirmnewpassword_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:20:\"password_new_confirm\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:8:\"preHooks\";a:7:{s:4:\"name\";s:8:\"preHooks\";s:4:\"desc\";s:33:\"prop_changepassword.prehooks_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:9:\"postHooks\";a:7:{s:4:\"name\";s:9:\"postHooks\";s:4:\"desc\";s:34:\"prop_changepassword.posthooks_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:15:\"redirectToLogin\";a:7:{s:4:\"name\";s:15:\"redirectToLogin\";s:4:\"desc\";s:40:\"prop_changepassword.redirecttologin_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:1;s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:15:\"reloadOnSuccess\";a:7:{s:4:\"name\";s:15:\"reloadOnSuccess\";s:4:\"desc\";s:40:\"prop_changepassword.reloadonsuccess_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:1;s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:17:\"placeholderPrefix\";a:7:{s:4:\"name\";s:17:\"placeholderPrefix\";s:4:\"desc\";s:42:\"prop_changepassword.placeholderprefix_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:6:\"logcp.\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}}','',0,''),(6,0,0,'ConfirmRegister','Handles activation of registered user.',0,3,0,'/**\n * Register\n *\n * Copyright 2010 by Shaun McCormick <shaun@modx.com>\n *\n * Register is free software; you can redistribute it and/or modify it under the\n * terms of the GNU General Public License as published by the Free Software\n * Foundation; either version 2 of the License, or (at your option) any later\n * version.\n *\n * Register is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License along with\n * Register; if not, write to the Free Software Foundation, Inc., 59 Temple\n * Place, Suite 330, Boston, MA 02111-1307 USA\n *\n * @package login\n */\n/**\n * MODx Confirm Register Activation Snippet. Snippet to place on an activation\n * page that the user using the Register snippet would be sent to via the\n * activation email.\n *\n * @var modX $modx\n * @var Login $login\n * @var array $scriptProperties\n *\n * @package login\n */\nrequire_once $modx->getOption(\'login.core_path\',null,$modx->getOption(\'core_path\').\'components/login/\').\'model/login/login.class.php\';\n$login = new Login($modx,$scriptProperties);\n\n$controller = $login->loadController(\'ConfirmRegister\');\n$output = $controller->run($scriptProperties);\nreturn $output;',0,'a:7:{s:10:\"redirectTo\";a:7:{s:4:\"name\";s:10:\"redirectTo\";s:4:\"desc\";s:36:\"prop_confirmregister.redirectto_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:14:\"redirectParams\";a:7:{s:4:\"name\";s:14:\"redirectParams\";s:4:\"desc\";s:40:\"prop_confirmregister.redirectparams_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:26:\"redirectUnsetDefaultParams\";a:7:{s:4:\"name\";s:26:\"redirectUnsetDefaultParams\";s:4:\"desc\";s:51:\"prop_confirmregister.redirectUnsetDefaultParam_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:0;s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:12:\"authenticate\";a:7:{s:4:\"name\";s:12:\"authenticate\";s:4:\"desc\";s:38:\"prop_confirmregister.authenticate_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:1;s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:20:\"authenticateContexts\";a:7:{s:4:\"name\";s:20:\"authenticateContexts\";s:4:\"desc\";s:46:\"prop_confirmregister.authenticatecontexts_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:9:\"errorPage\";a:7:{s:4:\"name\";s:9:\"errorPage\";s:4:\"desc\";s:35:\"prop_confirmregister.errorpage_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:10:\"activePage\";a:7:{s:4:\"name\";s:10:\"activePage\";s:4:\"desc\";s:36:\"prop_confirmregister.activepage_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}}','',0,''),(7,0,0,'ForgotPassword','Displays a forgot password form.',0,3,0,'/**\n * ForgotPassword\n *\n * Copyright 2010 by Jason Coward <jason@modx.com> and Shaun McCormick\n * <shaun@modx.com>\n *\n * ForgotPassword is free software; you can redistribute it and/or modify it\n * under the terms of the GNU General Public License as published by the Free\n * Software Foundation; either version 2 of the License, or (at your option) any\n * later version.\n *\n * ForgotPassword is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License along with\n * ForgotPassword; if not, write to the Free Software Foundation, Inc., 59 Temple\n * Place, Suite 330, Boston, MA 02111-1307 USA\n *\n * @package login\n */\n/**\n * MODx ForgotPassword Snippet. Displays a form for users who have forgotten\n * their password and gives them the ability to retrieve it.\n *\n * @package login\n */\nrequire_once $modx->getOption(\'login.core_path\',null,$modx->getOption(\'core_path\').\'components/login/\').\'model/login/login.class.php\';\n$login = new Login($modx,$scriptProperties);\n\n$controller = $login->loadController(\'ForgotPassword\');\n$output = $controller->run($scriptProperties);\nreturn $output;',0,'a:13:{s:8:\"emailTpl\";a:7:{s:4:\"name\";s:8:\"emailTpl\";s:4:\"desc\";s:33:\"prop_forgotpassword.emailtpl_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:18:\"lgnForgotPassEmail\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:11:\"emailTplAlt\";a:7:{s:4:\"name\";s:11:\"emailTplAlt\";s:4:\"desc\";s:36:\"prop_forgotpassword.emailtplalt_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:12:\"emailTplType\";a:7:{s:4:\"name\";s:12:\"emailTplType\";s:4:\"desc\";s:37:\"prop_forgotpassword.emailtpltype_desc\";s:4:\"type\";s:4:\"list\";s:7:\"options\";a:4:{i:0;a:2:{s:5:\"value\";s:8:\"modChunk\";s:4:\"text\";s:18:\"opt_register.chunk\";}i:1;a:2:{s:5:\"value\";s:4:\"file\";s:4:\"text\";s:17:\"opt_register.file\";}i:2;a:2:{s:5:\"value\";s:6:\"inline\";s:4:\"text\";s:19:\"opt_register.inline\";}i:3;a:2:{s:5:\"value\";s:8:\"embedded\";s:4:\"text\";s:21:\"opt_register.embedded\";}}s:5:\"value\";s:8:\"modChunk\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:7:\"sentTpl\";a:7:{s:4:\"name\";s:7:\"sentTpl\";s:4:\"desc\";s:32:\"prop_forgotpassword.senttpl_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:20:\"lgnForgotPassSentTpl\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:11:\"sentTplType\";a:7:{s:4:\"name\";s:11:\"sentTplType\";s:4:\"desc\";s:36:\"prop_forgotpassword.senttpltype_desc\";s:4:\"type\";s:4:\"list\";s:7:\"options\";a:4:{i:0;a:2:{s:5:\"value\";s:8:\"modChunk\";s:4:\"text\";s:18:\"opt_register.chunk\";}i:1;a:2:{s:5:\"value\";s:4:\"file\";s:4:\"text\";s:17:\"opt_register.file\";}i:2;a:2:{s:5:\"value\";s:6:\"inline\";s:4:\"text\";s:19:\"opt_register.inline\";}i:3;a:2:{s:5:\"value\";s:8:\"embedded\";s:4:\"text\";s:21:\"opt_register.embedded\";}}s:5:\"value\";s:8:\"modChunk\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:3:\"tpl\";a:7:{s:4:\"name\";s:3:\"tpl\";s:4:\"desc\";s:28:\"prop_forgotpassword.tpl_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:16:\"lgnForgotPassTpl\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:7:\"tplType\";a:7:{s:4:\"name\";s:7:\"tplType\";s:4:\"desc\";s:32:\"prop_forgotpassword.tpltype_desc\";s:4:\"type\";s:4:\"list\";s:7:\"options\";a:4:{i:0;a:2:{s:5:\"value\";s:8:\"modChunk\";s:4:\"text\";s:18:\"opt_register.chunk\";}i:1;a:2:{s:5:\"value\";s:4:\"file\";s:4:\"text\";s:17:\"opt_register.file\";}i:2;a:2:{s:5:\"value\";s:6:\"inline\";s:4:\"text\";s:19:\"opt_register.inline\";}i:3;a:2:{s:5:\"value\";s:8:\"embedded\";s:4:\"text\";s:21:\"opt_register.embedded\";}}s:5:\"value\";s:8:\"modChunk\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:6:\"errTpl\";a:7:{s:4:\"name\";s:6:\"errTpl\";s:4:\"desc\";s:31:\"prop_forgotpassword.errtpl_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:9:\"lgnErrTpl\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:10:\"errTplType\";a:7:{s:4:\"name\";s:10:\"errTplType\";s:4:\"desc\";s:35:\"prop_forgotpassword.errtpltype_desc\";s:4:\"type\";s:4:\"list\";s:7:\"options\";a:4:{i:0;a:2:{s:5:\"value\";s:8:\"modChunk\";s:4:\"text\";s:18:\"opt_register.chunk\";}i:1;a:2:{s:5:\"value\";s:4:\"file\";s:4:\"text\";s:17:\"opt_register.file\";}i:2;a:2:{s:5:\"value\";s:6:\"inline\";s:4:\"text\";s:19:\"opt_register.inline\";}i:3;a:2:{s:5:\"value\";s:8:\"embedded\";s:4:\"text\";s:21:\"opt_register.embedded\";}}s:5:\"value\";s:8:\"modChunk\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:12:\"emailSubject\";a:7:{s:4:\"name\";s:12:\"emailSubject\";s:4:\"desc\";s:37:\"prop_forgotpassword.emailsubject_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:15:\"resetResourceId\";a:7:{s:4:\"name\";s:15:\"resetResourceId\";s:4:\"desc\";s:40:\"prop_forgotpassword.resetresourceid_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:1:\"1\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:10:\"redirectTo\";a:7:{s:4:\"name\";s:10:\"redirectTo\";s:4:\"desc\";s:36:\"prop_confirmregister.redirectto_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:14:\"redirectParams\";a:7:{s:4:\"name\";s:14:\"redirectParams\";s:4:\"desc\";s:40:\"prop_confirmregister.redirectparams_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}}','',0,''),(8,0,0,'isLoggedIn','Checks to see if the user is logged in. If not, redirects to Unauthorized Page.',0,3,0,'/**\n * isLoggedIn\n *\n * Copyright 2009-2011 by Shaun McCormick <shaun@modx.com>\n *\n * isLoggedIn is free software; you can redistribute it and/or modify it under the\n * terms of the GNU General Public License as published by the Free Software\n * Foundation; either version 2 of the License, or (at your option) any later\n * version.\n *\n * isLoggedIn is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License along with\n * isLoggedIn; if not, write to the Free Software Foundation, Inc., 59 Temple\n * Place, Suite 330, Boston, MA 02111-1307 USA\n *\n * @package login\n */\n/**\n * MODx isLoggedIn Snippet. Will check to see if user is logged into the current\n * or specific context. If not, redirects to unauthorized page.\n *\n * @package login\n */\n/* setup default properties */\n$ctxs = !empty($ctxs) ? $ctxs : $modx->context->get(\'key\');\nif (!is_array($ctxs)) $ctxs = explode(\',\',$ctxs);\n\nif (!$modx->user->hasSessionContext($ctxs)) {\n    if (!empty($redirectTo)) {\n        $redirectParams = !empty($redirectParams) ? $modx->fromJSON($redirectParams) : \'\';\n        $url = $modx->makeUrl($redirectTo,\'\',$redirectParams,\'full\');\n        $modx->sendRedirect($url);\n    } else {\n        $modx->sendUnauthorizedPage();\n    }\n}\nreturn \'\';',0,'a:3:{s:8:\"contexts\";a:7:{s:4:\"name\";s:8:\"contexts\";s:4:\"desc\";s:29:\"prop_isloggedin.contexts_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:10:\"redirectTo\";a:7:{s:4:\"name\";s:10:\"redirectTo\";s:4:\"desc\";s:31:\"prop_isloggedin.redirectto_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:14:\"redirectParams\";a:7:{s:4:\"name\";s:14:\"redirectParams\";s:4:\"desc\";s:35:\"prop_isloggedin.redirectparams_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}}','',0,''),(9,0,0,'Login','Displays a login and logout form.',0,3,0,'/**\n * Login\n *\n * Copyright 2010 by Jason Coward <jason@modx.com> and Shaun McCormick\n * <shaun@modx.com>\n *\n * Login is free software; you can redistribute it and/or modify it\n * under the terms of the GNU General Public License as published by the Free\n * Software Foundation; either version 2 of the License, or (at your option) any\n * later version.\n *\n * Login is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License along with\n * Login; if not, write to the Free Software Foundation, Inc., 59 Temple\n * Place, Suite 330, Boston, MA 02111-1307 USA\n *\n * @package login\n */\n/**\n * MODx Login Snippet\n *\n * This snippet handles login POSTs, sending the user back to where they came from or to a specific\n * location if specified in the POST.\n *\n * @package login\n *\n * @property textfield actionKey The REQUEST variable containing the action to take.\n * @property textfield loginKey The actionKey for login.\n * @property textfield logoutKey The actionKey for logout.\n * @property boolean loginViaEmail Enable login via username or email address (either one!) [default: false]\n * @property list tplType The type of template to expect for the views:\n *  modChunk - name of chunk to use\n *  file - full path to file to use as tpl\n *  embedded - the tpl is embedded in the page content\n *  inline - the tpl is inline content provided directly\n * @property textfield loginTpl The template for the login view (content based on tplType)\n * @property textfield logoutTpl The template for the logout view (content based on tplType)\n * @property textfield errTpl The template for any errors that occur when processing an view\n * @property list errTplType The type of template to expect for the error messages:\n *  modChunk - name of chunk to use\n *  file - full path to file to use as tpl\n *  inline - the tpl is inline content provided directly\n * @property integer logoutResourceId An explicit resource id to redirect users to on logout\n * @property string loginMsg The string to use for the login action. Defaults to\n * the lexicon string \"login\".\n * @property string logoutMsg The string to use for the logout action. Defaults\n * to the lexicon string \"login.logout\"\n */\nrequire_once $modx->getOption(\'login.core_path\',null,$modx->getOption(\'core_path\').\'components/login/\').\'model/login/login.class.php\';\n$login = new Login($modx,$scriptProperties);\nif (!is_object($login) || !($login instanceof Login)) return \'\';\n\n$controller = $login->loadController(\'Login\');\n$output = $controller->run($scriptProperties);\nreturn $output;',0,'a:23:{s:9:\"actionKey\";a:7:{s:4:\"name\";s:9:\"actionKey\";s:4:\"desc\";s:25:\"prop_login.actionkey_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:7:\"service\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:8:\"loginKey\";a:7:{s:4:\"name\";s:8:\"loginKey\";s:4:\"desc\";s:24:\"prop_login.loginkey_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:5:\"login\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:9:\"logoutKey\";a:7:{s:4:\"name\";s:9:\"logoutKey\";s:4:\"desc\";s:25:\"prop_login.logoutkey_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:6:\"logout\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:13:\"loginViaEmail\";a:7:{s:4:\"name\";s:13:\"loginViaEmail\";s:4:\"desc\";s:29:\"prop_login.loginviaemail_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:0;s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:7:\"tplType\";a:7:{s:4:\"name\";s:7:\"tplType\";s:4:\"desc\";s:23:\"prop_login.tpltype_desc\";s:4:\"type\";s:4:\"list\";s:7:\"options\";a:4:{i:0;a:2:{s:5:\"value\";s:8:\"modChunk\";s:4:\"text\";s:18:\"opt_register.chunk\";}i:1;a:2:{s:5:\"value\";s:4:\"file\";s:4:\"text\";s:17:\"opt_register.file\";}i:2;a:2:{s:5:\"value\";s:6:\"inline\";s:4:\"text\";s:19:\"opt_register.inline\";}i:3;a:2:{s:5:\"value\";s:8:\"embedded\";s:4:\"text\";s:21:\"opt_register.embedded\";}}s:5:\"value\";s:8:\"modChunk\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:8:\"loginTpl\";a:7:{s:4:\"name\";s:8:\"loginTpl\";s:4:\"desc\";s:24:\"prop_login.logintpl_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:11:\"lgnLoginTpl\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:9:\"logoutTpl\";a:7:{s:4:\"name\";s:9:\"logoutTpl\";s:4:\"desc\";s:25:\"prop_login.logouttpl_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:12:\"lgnLogoutTpl\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:8:\"preHooks\";a:7:{s:4:\"name\";s:8:\"preHooks\";s:4:\"desc\";s:24:\"prop_login.prehooks_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:9:\"postHooks\";a:7:{s:4:\"name\";s:9:\"postHooks\";s:4:\"desc\";s:25:\"prop_login.posthooks_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:6:\"errTpl\";a:7:{s:4:\"name\";s:6:\"errTpl\";s:4:\"desc\";s:22:\"prop_login.errtpl_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:9:\"lgnErrTpl\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:10:\"errTplType\";a:7:{s:4:\"name\";s:10:\"errTplType\";s:4:\"desc\";s:26:\"prop_login.errtpltype_desc\";s:4:\"type\";s:4:\"list\";s:7:\"options\";a:4:{i:0;a:2:{s:5:\"value\";s:8:\"modChunk\";s:4:\"text\";s:18:\"opt_register.chunk\";}i:1;a:2:{s:5:\"value\";s:4:\"file\";s:4:\"text\";s:17:\"opt_register.file\";}i:2;a:2:{s:5:\"value\";s:6:\"inline\";s:4:\"text\";s:19:\"opt_register.inline\";}i:3;a:2:{s:5:\"value\";s:8:\"embedded\";s:4:\"text\";s:21:\"opt_register.embedded\";}}s:5:\"value\";s:8:\"modChunk\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:15:\"loginResourceId\";a:7:{s:4:\"name\";s:15:\"loginResourceId\";s:4:\"desc\";s:31:\"prop_login.loginresourceid_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:1:\"0\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:19:\"loginResourceParams\";a:7:{s:4:\"name\";s:19:\"loginResourceParams\";s:4:\"desc\";s:35:\"prop_login.loginresourceparams_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:16:\"logoutResourceId\";a:7:{s:4:\"name\";s:16:\"logoutResourceId\";s:4:\"desc\";s:32:\"prop_login.logoutresourceid_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:1:\"0\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:20:\"logoutResourceParams\";a:7:{s:4:\"name\";s:20:\"logoutResourceParams\";s:4:\"desc\";s:36:\"prop_login.logoutresourceparams_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:8:\"loginMsg\";a:7:{s:4:\"name\";s:8:\"loginMsg\";s:4:\"desc\";s:24:\"prop_login.loginmsg_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:9:\"logoutMsg\";a:7:{s:4:\"name\";s:9:\"logoutMsg\";s:4:\"desc\";s:25:\"prop_login.logoutmsg_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:15:\"redirectToPrior\";a:7:{s:4:\"name\";s:15:\"redirectToPrior\";s:4:\"desc\";s:31:\"prop_login.redirecttoprior_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:0;s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:22:\"redirectToOnFailedAuth\";a:7:{s:4:\"name\";s:22:\"redirectToOnFailedAuth\";s:4:\"desc\";s:38:\"prop_login.redirecttoonfailedauth_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:13:\"rememberMeKey\";a:7:{s:4:\"name\";s:13:\"rememberMeKey\";s:4:\"desc\";s:29:\"prop_login.remembermekey_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:10:\"rememberme\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:8:\"contexts\";a:7:{s:4:\"name\";s:8:\"contexts\";s:4:\"desc\";s:24:\"prop_login.contexts_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:13:\"toPlaceholder\";a:7:{s:4:\"name\";s:13:\"toPlaceholder\";s:4:\"desc\";s:29:\"prop_login.toplaceholder_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:14:\"recaptchaTheme\";a:7:{s:4:\"name\";s:14:\"recaptchaTheme\";s:4:\"desc\";s:33:\"prop_register.recaptchaTheme_desc\";s:4:\"type\";s:4:\"list\";s:7:\"options\";a:4:{i:0;a:2:{s:5:\"value\";s:3:\"red\";s:4:\"text\";s:16:\"opt_register.red\";}i:1;a:2:{s:5:\"value\";s:5:\"white\";s:4:\"text\";s:18:\"opt_register.white\";}i:2;a:2:{s:5:\"value\";s:5:\"clean\";s:4:\"text\";s:18:\"opt_register.clean\";}i:3;a:2:{s:5:\"value\";s:10:\"blackglass\";s:4:\"text\";s:23:\"opt_register.blackglass\";}}s:5:\"value\";s:5:\"clean\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}}','',0,''),(10,0,0,'Profile','Displays Profile data for a User.',0,3,0,'/**\n * Profile\n *\n * Copyright 2010 by Shaun McCormick <shaun@modx.com>\n *\n * Register is free software; you can redistribute it and/or modify it under the\n * terms of the GNU General Public License as published by the Free Software\n * Foundation; either version 2 of the License, or (at your option) any later\n * version.\n *\n * Register is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License along with\n * Register; if not, write to the Free Software Foundation, Inc., 59 Temple\n * Place, Suite 330, Boston, MA 02111-1307 USA\n *\n * @package login\n */\n/**\n * MODx Profile Snippet. Sets Profile data for a user to placeholders\n *\n * @package login\n */\nrequire_once $modx->getOption(\'login.core_path\',null,$modx->getOption(\'core_path\').\'components/login/\').\'model/login/login.class.php\';\n$login = new Login($modx,$scriptProperties);\n\n$controller = $login->loadController(\'Profile\');\nreturn $controller->run($scriptProperties);',0,'a:3:{s:6:\"prefix\";a:7:{s:4:\"name\";s:6:\"prefix\";s:4:\"desc\";s:24:\"prop_profile.prefix_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:4:\"user\";a:7:{s:4:\"name\";s:4:\"user\";s:4:\"desc\";s:22:\"prop_profile.user_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:11:\"useExtended\";a:7:{s:4:\"name\";s:11:\"useExtended\";s:4:\"desc\";s:29:\"prop_profile.useextended_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:1;s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}}','',0,''),(11,0,0,'Register','Handles forms for registering users on the front-end.',0,3,0,'/**\n * Register\n *\n * Copyright 2010 by Shaun McCormick <shaun@modx.com>\n *\n * Register is free software; you can redistribute it and/or modify it under the\n * terms of the GNU General Public License as published by the Free Software\n * Foundation; either version 2 of the License, or (at your option) any later\n * version.\n *\n * Register is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License along with\n * Register; if not, write to the Free Software Foundation, Inc., 59 Temple\n * Place, Suite 330, Boston, MA 02111-1307 USA\n *\n * @package login\n */\n/**\n * MODx Register Snippet. Handles User registrations.\n * \n * @package login\n */\nrequire_once $modx->getOption(\'login.core_path\',null,$modx->getOption(\'core_path\').\'components/login/\').\'model/login/login.class.php\';\n$login = new Login($modx,$scriptProperties);\n\n$controller = $login->loadController(\'Register\');\n$output = $controller->run($scriptProperties);\nreturn $output;',0,'a:41:{s:9:\"submitVar\";a:7:{s:4:\"name\";s:9:\"submitVar\";s:4:\"desc\";s:28:\"prop_register.submitvar_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:10:\"usergroups\";a:7:{s:4:\"name\";s:10:\"usergroups\";s:4:\"desc\";s:29:\"prop_register.usergroups_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:15:\"usergroupsField\";a:7:{s:4:\"name\";s:15:\"usergroupsField\";s:4:\"desc\";s:34:\"prop_register.usergroupsfield_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:19:\"submittedResourceId\";a:7:{s:4:\"name\";s:19:\"submittedResourceId\";s:4:\"desc\";s:38:\"prop_register.submittedresourceid_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:13:\"usernameField\";a:7:{s:4:\"name\";s:13:\"usernameField\";s:4:\"desc\";s:32:\"prop_register.usernamefield_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:8:\"username\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:13:\"passwordField\";a:7:{s:4:\"name\";s:13:\"passwordField\";s:4:\"desc\";s:32:\"prop_register.passwordfield_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:8:\"password\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:16:\"validatePassword\";a:7:{s:4:\"name\";s:16:\"validatePassword\";s:4:\"desc\";s:35:\"prop_register.validatepassword_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:1;s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:16:\"generatePassword\";a:7:{s:4:\"name\";s:16:\"generatePassword\";s:4:\"desc\";s:35:\"prop_register.generatepassword_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:0;s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:12:\"trimPassword\";a:7:{s:4:\"name\";s:12:\"trimPassword\";s:4:\"desc\";s:31:\"prop_register.trimpassword_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:1;s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:22:\"ensurePasswordStrength\";a:7:{s:4:\"name\";s:22:\"ensurePasswordStrength\";s:4:\"desc\";s:41:\"prop_register.ensurePasswordStrength_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:0;s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:21:\"passwordWordSeparator\";a:7:{s:4:\"name\";s:21:\"passwordWordSeparator\";s:4:\"desc\";s:40:\"prop_register.passwordWordSeparator_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:1:\" \";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:30:\"minimumStrongPasswordWordCount\";a:7:{s:4:\"name\";s:30:\"minimumStrongPasswordWordCount\";s:4:\"desc\";s:49:\"prop_register.minimumStrongPasswordWordCount_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:1:\"3\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:32:\"maximumPossibleStrongerPasswords\";a:7:{s:4:\"name\";s:32:\"maximumPossibleStrongerPasswords\";s:4:\"desc\";s:51:\"prop_register.maximumPossibleStrongerPasswords_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:2:\"25\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:33:\"ensurePasswordStrengthSuggestions\";a:7:{s:4:\"name\";s:33:\"ensurePasswordStrengthSuggestions\";s:4:\"desc\";s:52:\"prop_register.ensurePasswordStrengthSuggestions_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:1:\"5\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:13:\"allowedFields\";a:7:{s:4:\"name\";s:13:\"allowedFields\";s:4:\"desc\";s:32:\"prop_register.allowedfields_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:10:\"emailField\";a:7:{s:4:\"name\";s:10:\"emailField\";s:4:\"desc\";s:29:\"prop_register.emailfield_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:5:\"email\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:13:\"persistParams\";a:7:{s:4:\"name\";s:13:\"persistParams\";s:4:\"desc\";s:32:\"prop_register.persistparams_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:8:\"preHooks\";a:7:{s:4:\"name\";s:8:\"preHooks\";s:4:\"desc\";s:27:\"prop_register.prehooks_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:9:\"postHooks\";a:7:{s:4:\"name\";s:9:\"postHooks\";s:4:\"desc\";s:28:\"prop_register.posthooks_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:11:\"useExtended\";a:7:{s:4:\"name\";s:11:\"useExtended\";s:4:\"desc\";s:30:\"prop_register.useextended_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:1;s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:15:\"excludeExtended\";a:7:{s:4:\"name\";s:15:\"excludeExtended\";s:4:\"desc\";s:34:\"prop_register.excludeextended_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:10:\"activation\";a:7:{s:4:\"name\";s:10:\"activation\";s:4:\"desc\";s:29:\"prop_register.activation_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:1;s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:13:\"activationttl\";a:7:{s:4:\"name\";s:13:\"activationttl\";s:4:\"desc\";s:32:\"prop_register.activationttl_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:3:\"180\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:20:\"activationResourceId\";a:7:{s:4:\"name\";s:20:\"activationResourceId\";s:4:\"desc\";s:39:\"prop_register.activationresourceid_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:1:\"1\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:15:\"activationEmail\";a:7:{s:4:\"name\";s:15:\"activationEmail\";s:4:\"desc\";s:34:\"prop_register.activationemail_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:22:\"activationEmailSubject\";a:7:{s:4:\"name\";s:22:\"activationEmailSubject\";s:4:\"desc\";s:41:\"prop_register.activationemailsubject_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:22:\"activationEmailTplType\";a:7:{s:4:\"name\";s:22:\"activationEmailTplType\";s:4:\"desc\";s:41:\"prop_register.activationemailtpltype_desc\";s:4:\"type\";s:4:\"list\";s:7:\"options\";a:4:{i:0;a:2:{s:5:\"value\";s:8:\"modChunk\";s:4:\"text\";s:18:\"opt_register.chunk\";}i:1;a:2:{s:5:\"value\";s:4:\"file\";s:4:\"text\";s:17:\"opt_register.file\";}i:2;a:2:{s:5:\"value\";s:6:\"inline\";s:4:\"text\";s:19:\"opt_register.inline\";}i:3;a:2:{s:5:\"value\";s:8:\"embedded\";s:4:\"text\";s:21:\"opt_register.embedded\";}}s:5:\"value\";s:8:\"modChunk\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:18:\"activationEmailTpl\";a:7:{s:4:\"name\";s:18:\"activationEmailTpl\";s:4:\"desc\";s:37:\"prop_register.activationemailtpl_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:19:\"lgnActivateEmailTpl\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:21:\"activationEmailTplAlt\";a:7:{s:4:\"name\";s:21:\"activationEmailTplAlt\";s:4:\"desc\";s:40:\"prop_register.activationemailtplalt_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:19:\"moderatedResourceId\";a:7:{s:4:\"name\";s:19:\"moderatedResourceId\";s:4:\"desc\";s:38:\"prop_register.moderatedresourceid_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:26:\"removeExpiredRegistrations\";a:7:{s:4:\"name\";s:26:\"removeExpiredRegistrations\";s:4:\"desc\";s:45:\"prop_register.removeexpiredregistrations_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:1;s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:17:\"placeholderPrefix\";a:7:{s:4:\"name\";s:17:\"placeholderPrefix\";s:4:\"desc\";s:36:\"prop_register.placeholderprefix_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:14:\"recaptchaTheme\";a:7:{s:4:\"name\";s:14:\"recaptchaTheme\";s:4:\"desc\";s:33:\"prop_register.recaptchaTheme_desc\";s:4:\"type\";s:4:\"list\";s:7:\"options\";a:4:{i:0;a:2:{s:5:\"value\";s:3:\"red\";s:4:\"text\";s:16:\"opt_register.red\";}i:1;a:2:{s:5:\"value\";s:5:\"white\";s:4:\"text\";s:18:\"opt_register.white\";}i:2;a:2:{s:5:\"value\";s:5:\"clean\";s:4:\"text\";s:18:\"opt_register.clean\";}i:3;a:2:{s:5:\"value\";s:10:\"blackglass\";s:4:\"text\";s:23:\"opt_register.blackglass\";}}s:5:\"value\";s:5:\"clean\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:12:\"mathMinRange\";a:7:{s:4:\"name\";s:12:\"mathMinRange\";s:4:\"desc\";s:31:\"prop_register.mathminrange_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:2:\"10\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:12:\"mathMaxRange\";a:7:{s:4:\"name\";s:12:\"mathMaxRange\";s:4:\"desc\";s:31:\"prop_register.mathmaxrange_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:3:\"100\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:9:\"mathField\";a:7:{s:4:\"name\";s:9:\"mathField\";s:4:\"desc\";s:28:\"prop_register.mathfield_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:4:\"math\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:12:\"mathOp1Field\";a:7:{s:4:\"name\";s:12:\"mathOp1Field\";s:4:\"desc\";s:31:\"prop_register.mathop1field_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:3:\"op1\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:12:\"mathOp2Field\";a:7:{s:4:\"name\";s:12:\"mathOp2Field\";s:4:\"desc\";s:31:\"prop_register.mathop2field_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:3:\"op2\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:17:\"mathOperatorField\";a:7:{s:4:\"name\";s:17:\"mathOperatorField\";s:4:\"desc\";s:36:\"prop_register.mathoperatorfield_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:8:\"operator\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:27:\"preserveFieldsAfterRegister\";a:7:{s:4:\"name\";s:27:\"preserveFieldsAfterRegister\";s:4:\"desc\";s:46:\"prop_register.preservefieldsafterregister_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:1;s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:26:\"redirectUnsetDefaultParams\";a:7:{s:4:\"name\";s:26:\"redirectUnsetDefaultParams\";s:4:\"desc\";s:44:\"prop_register.redirectUnsetDefaultParam_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:0;s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}}','',0,''),(12,0,0,'ResetPassword','Resets a password from a confirmation email.',0,3,0,'/**\n * ResetPassword\n *\n * Copyright 2010 by Shaun McCormick <shaun@modx.com>\n *\n * ResetPassword is free software; you can redistribute it and/or modify it\n * under the terms of the GNU General Public License as published by the Free\n * Software Foundation; either version 2 of the License, or (at your option) any\n * later version.\n *\n * ResetPassword is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License along with\n * ResetPassword; if not, write to the Free Software Foundation, Inc., 59 Temple\n * Place, Suite 330, Boston, MA 02111-1307 USA\n *\n * @package login\n */\n/**\n * MODx ResetPassword Snippet. Snippet to place on an activation\n * page that the user using the ForgotPassword snippet would be sent to via the\n * reset email.\n *\n * @package login\n */\nif (empty($_REQUEST[\'lp\']) || empty($_REQUEST[\'lu\'])) {\n    return \'\';\n}\nrequire_once $modx->getOption(\'login.core_path\',null,$modx->getOption(\'core_path\').\'components/login/\').\'model/login/login.class.php\';\n$login = new Login($modx,$scriptProperties);\n\n$controller = $login->loadController(\'ResetPassword\');\n$output = $controller->run($scriptProperties);\nreturn $output;',0,'a:3:{s:3:\"tpl\";a:7:{s:4:\"name\";s:3:\"tpl\";s:4:\"desc\";s:27:\"prop_resetpassword.tpl_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:15:\"lgnResetPassTpl\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:7:\"tplType\";a:7:{s:4:\"name\";s:7:\"tplType\";s:4:\"desc\";s:31:\"prop_resetpassword.tpltype_desc\";s:4:\"type\";s:4:\"list\";s:7:\"options\";a:4:{i:0;a:2:{s:5:\"value\";s:8:\"modChunk\";s:4:\"text\";s:18:\"opt_register.chunk\";}i:1;a:2:{s:5:\"value\";s:4:\"file\";s:4:\"text\";s:17:\"opt_register.file\";}i:2;a:2:{s:5:\"value\";s:6:\"inline\";s:4:\"text\";s:19:\"opt_register.inline\";}i:3;a:2:{s:5:\"value\";s:8:\"embedded\";s:4:\"text\";s:21:\"opt_register.embedded\";}}s:5:\"value\";s:8:\"modChunk\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:15:\"loginResourceId\";a:7:{s:4:\"name\";s:15:\"loginResourceId\";s:4:\"desc\";s:39:\"prop_resetpassword.loginresourceid_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:1:\"1\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}}','',0,''),(13,0,0,'UpdateProfile','Allows front-end updating of a users own profile.',0,3,0,'/**\n * Login\n *\n * Copyright 2010-2012 by Shaun McCormick <shaun+login@modx.com>\n *\n * Login is free software; you can redistribute it and/or modify it under the\n * terms of the GNU General Public License as published by the Free Software\n * Foundation; either version 2 of the License, or (at your option) any later\n * version.\n *\n * Login is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License along with\n * Login; if not, write to the Free Software Foundation, Inc., 59 Temple\n * Place, Suite 330, Boston, MA 02111-1307 USA\n *\n * @package login\n */\n/**\n * MODx UpdateProfile Snippet. Handles updating of User Profiles.\n *\n * @var modX $modx\n * @var Login $login\n * @var array $scriptProperties\n * \n * @package login\n */\nrequire_once $modx->getOption(\'login.core_path\',null,$modx->getOption(\'core_path\').\'components/login/\').\'model/login/login.class.php\';\n$login = new Login($modx,$scriptProperties);\n\n$controller = $login->loadController(\'UpdateProfile\');\nreturn $controller->run($scriptProperties);',0,'a:13:{s:9:\"submitVar\";a:7:{s:4:\"name\";s:9:\"submitVar\";s:4:\"desc\";s:33:\"prop_updateprofile.submitvar_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:4:\"user\";a:7:{s:4:\"name\";s:4:\"user\";s:4:\"desc\";s:28:\"prop_updateprofile.user_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:15:\"redirectToLogin\";a:7:{s:4:\"name\";s:15:\"redirectToLogin\";s:4:\"desc\";s:39:\"prop_updateprofile.redirecttologin_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:1;s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:15:\"reloadOnSuccess\";a:7:{s:4:\"name\";s:15:\"reloadOnSuccess\";s:4:\"desc\";s:39:\"prop_updateprofile.reloadonsuccess_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:1;s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:12:\"syncUsername\";a:7:{s:4:\"name\";s:12:\"syncUsername\";s:4:\"desc\";s:36:\"prop_updateprofile.syncusername_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:10:\"emailField\";a:7:{s:4:\"name\";s:10:\"emailField\";s:4:\"desc\";s:34:\"prop_updateprofile.emailfield_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:5:\"email\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:11:\"useExtended\";a:7:{s:4:\"name\";s:11:\"useExtended\";s:4:\"desc\";s:35:\"prop_updateprofile.useextended_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:1;s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:15:\"excludeExtended\";a:7:{s:4:\"name\";s:15:\"excludeExtended\";s:4:\"desc\";s:39:\"prop_updateprofile.excludeextended_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:13:\"allowedFields\";a:7:{s:4:\"name\";s:13:\"allowedFields\";s:4:\"desc\";s:37:\"prop_updateprofile.allowedfields_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:21:\"allowedExtendedFields\";a:7:{s:4:\"name\";s:21:\"allowedExtendedFields\";s:4:\"desc\";s:45:\"prop_updateprofile.allowedextendedfields_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:8:\"preHooks\";a:7:{s:4:\"name\";s:8:\"preHooks\";s:4:\"desc\";s:32:\"prop_updateprofile.prehooks_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:9:\"postHooks\";a:7:{s:4:\"name\";s:9:\"postHooks\";s:4:\"desc\";s:33:\"prop_updateprofile.posthooks_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}s:17:\"placeholderPrefix\";a:7:{s:4:\"name\";s:17:\"placeholderPrefix\";s:4:\"desc\";s:41:\"prop_updateprofile.placeholderprefix_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:16:\"login:properties\";s:4:\"area\";s:0:\"\";}}','',0,''),(14,0,0,'getResources','<strong>1.7.0-pl</strong> A general purpose Resource listing and summarization snippet for MODX Revolution',0,0,0,'/**\n * getResources\n *\n * A general purpose Resource listing and summarization snippet for MODX 2.x.\n *\n * @author Jason Coward\n * @copyright Copyright 2010-2015, Jason Coward\n *\n * TEMPLATES\n *\n * tpl - Name of a chunk serving as a resource template\n * [NOTE: if not provided, properties are dumped to output for each resource]\n *\n * tplOdd - (Opt) Name of a chunk serving as resource template for resources with an odd idx value\n * (see idx property)\n * tplFirst - (Opt) Name of a chunk serving as resource template for the first resource (see first\n * property)\n * tplLast - (Opt) Name of a chunk serving as resource template for the last resource (see last\n * property)\n * tpl_{n} - (Opt) Name of a chunk serving as resource template for the nth resource\n *\n * tplCondition - (Opt) Defines a field of the resource to evaluate against keys defined in the\n * conditionalTpls property. Must be a resource field; does not work with Template Variables.\n * conditionalTpls - (Opt) A JSON object defining a map of field values and the associated tpl to\n * use when the field defined by tplCondition matches the value. [NOTE: tplOdd, tplFirst, tplLast,\n * and tpl_{n} will take precedence over any defined conditionalTpls]\n *\n * tplWrapper - (Opt) Name of a chunk serving as a wrapper template for the output\n * [NOTE: Does not work with toSeparatePlaceholders]\n *\n * SELECTION\n *\n * parents - Comma-delimited list of ids serving as parents\n *\n * context - (Opt) Comma-delimited list of context keys to limit results by; if empty, contexts for all specified\n * parents will be used (all contexts if 0 is specified) [default=]\n *\n * depth - (Opt) Integer value indicating depth to search for resources from each parent [default=10]\n *\n * tvFilters - (Opt) Delimited-list of TemplateVar values to filter resources by. Supports two\n * delimiters and two value search formats. The first delimiter || represents a logical OR and the\n * primary grouping mechanism.  Within each group you can provide a comma-delimited list of values.\n * These values can be either tied to a specific TemplateVar by name, e.g. myTV==value, or just the\n * value, indicating you are searching for the value in any TemplateVar tied to the Resource. An\n * example would be &tvFilters=`filter2==one,filter1==bar%||filter1==foo`\n * [NOTE: filtering by values uses a LIKE query and % is considered a wildcard.]\n * [NOTE: this only looks at the raw value set for specific Resource, i. e. there must be a value\n * specifically set for the Resource and it is not evaluated.]\n *\n * tvFiltersAndDelimiter - (Opt) Custom delimiter for logical AND, default \',\', in case you want to\n * match a literal comma in the tvFilters. E.g. &tvFiltersAndDelimiter=`&&`\n * &tvFilters=`filter1==foo,bar&&filter2==baz` [default=,]\n *\n * tvFiltersOrDelimiter - (Opt) Custom delimiter for logical OR, default \'||\', in case you want to\n * match a literal \'||\' in the tvFilters. E.g. &tvFiltersOrDelimiter=`|OR|`\n * &tvFilters=`filter1==foo||bar|OR|filter2==baz` [default=||]\n *\n * where - (Opt) A JSON expression of criteria to build any additional where clauses from. An example would be\n * &where=`{{\"alias:LIKE\":\"foo%\", \"OR:alias:LIKE\":\"%bar\"},{\"OR:pagetitle:=\":\"foobar\", \"AND:description:=\":\"raboof\"}}`\n *\n * sortby - (Opt) Field to sort by or a JSON array, e.g. {\"publishedon\":\"ASC\",\"createdon\":\"DESC\"} [default=publishedon]\n * sortbyTV - (opt) A Template Variable name to sort by (if supplied, this precedes the sortby value) [default=]\n * sortbyTVType - (Opt) A data type to CAST a TV Value to in order to sort on it properly [default=string]\n * sortbyAlias - (Opt) Query alias for sortby field [default=]\n * sortbyEscaped - (Opt) Escapes the field name(s) specified in sortby [default=0]\n * sortdir - (Opt) Order which to sort by [default=DESC]\n * sortdirTV - (Opt) Order which to sort by a TV [default=DESC]\n * limit - (Opt) Limits the number of resources returned [default=5]\n * offset - (Opt) An offset of resources returned by the criteria to skip [default=0]\n * dbCacheFlag - (Opt) Controls caching of db queries; 0|false = do not cache result set; 1 = cache result set\n * according to cache settings, any other integer value = number of seconds to cache result set [default=0]\n *\n * OPTIONS\n *\n * includeContent - (Opt) Indicates if the content of each resource should be returned in the\n * results [default=0]\n * includeTVs - (Opt) Indicates if TemplateVar values should be included in the properties available\n * to each resource template [default=0]\n * includeTVList - (Opt) Limits the TemplateVars that are included if includeTVs is true to those specified\n * by name in a comma-delimited list [default=]\n * prepareTVs - (Opt) Prepares media-source dependent TemplateVar values [default=1]\n * prepareTVList - (Opt) Limits the TVs that are prepared to those specified by name in a comma-delimited\n * list [default=]\n * processTVs - (Opt) Indicates if TemplateVar values should be rendered as they would on the\n * resource being summarized [default=0]\n * processTVList - (opt) Limits the TemplateVars that are processed if included to those specified\n * by name in a comma-delimited list [default=]\n * tvPrefix - (Opt) The prefix for TemplateVar properties [default=tv.]\n * idx - (Opt) You can define the starting idx of the resources, which is an property that is\n * incremented as each resource is rendered [default=1]\n * first - (Opt) Define the idx which represents the first resource (see tplFirst) [default=1]\n * last - (Opt) Define the idx which represents the last resource (see tplLast) [default=# of\n * resources being summarized + first - 1]\n * outputSeparator - (Opt) An optional string to separate each tpl instance [default=\"\\n\"]\n * wrapIfEmpty - (Opt) Indicates if the tplWrapper should be applied if the output is empty [default=0]\n *\n */\n$output = array();\n$outputSeparator = isset($outputSeparator) ? $outputSeparator : \"\\n\";\n\n/* set default properties */\n$tpl = !empty($tpl) ? $tpl : \'\';\n$includeContent = !empty($includeContent) ? true : false;\n$includeTVs = !empty($includeTVs) ? true : false;\n$includeTVList = !empty($includeTVList) ? explode(\',\', $includeTVList) : array();\n$processTVs = !empty($processTVs) ? true : false;\n$processTVList = !empty($processTVList) ? explode(\',\', $processTVList) : array();\n$prepareTVs = !empty($prepareTVs) ? true : false;\n$prepareTVList = !empty($prepareTVList) ? explode(\',\', $prepareTVList) : array();\n$tvPrefix = isset($tvPrefix) ? $tvPrefix : \'tv.\';\n$parents = (!empty($parents) || $parents === \'0\') ? explode(\',\', $parents) : array($modx->resource->get(\'id\'));\narray_walk($parents, \'trim\');\n$parents = array_unique($parents);\n$depth = isset($depth) ? (integer) $depth : 10;\n\n$tvFiltersOrDelimiter = isset($tvFiltersOrDelimiter) ? $tvFiltersOrDelimiter : \'||\';\n$tvFiltersAndDelimiter = isset($tvFiltersAndDelimiter) ? $tvFiltersAndDelimiter : \',\';\n$tvFilters = !empty($tvFilters) ? explode($tvFiltersOrDelimiter, $tvFilters) : array();\n\n$where = !empty($where) ? $modx->fromJSON($where) : array();\n$showUnpublished = !empty($showUnpublished) ? true : false;\n$showDeleted = !empty($showDeleted) ? true : false;\n\n$sortby = isset($sortby) ? $sortby : \'publishedon\';\n$sortbyTV = isset($sortbyTV) ? $sortbyTV : \'\';\n$sortbyAlias = isset($sortbyAlias) ? $sortbyAlias : \'modResource\';\n$sortbyEscaped = !empty($sortbyEscaped) ? true : false;\n$sortdir = isset($sortdir) ? $sortdir : \'DESC\';\n$sortdirTV = isset($sortdirTV) ? $sortdirTV : \'DESC\';\n$limit = isset($limit) ? (integer) $limit : 5;\n$offset = isset($offset) ? (integer) $offset : 0;\n$totalVar = !empty($totalVar) ? $totalVar : \'total\';\n\n$dbCacheFlag = !isset($dbCacheFlag) ? false : $dbCacheFlag;\nif (is_string($dbCacheFlag) || is_numeric($dbCacheFlag)) {\n    if ($dbCacheFlag == \'0\') {\n        $dbCacheFlag = false;\n    } elseif ($dbCacheFlag == \'1\') {\n        $dbCacheFlag = true;\n    } else {\n        $dbCacheFlag = (integer) $dbCacheFlag;\n    }\n}\n\n/* multiple context support */\n$contextArray = array();\n$contextSpecified = false;\nif (!empty($context)) {\n    $contextArray = explode(\',\',$context);\n    array_walk($contextArray, \'trim\');\n    $contexts = array();\n    foreach ($contextArray as $ctx) {\n        $contexts[] = $modx->quote($ctx);\n    }\n    $context = implode(\',\',$contexts);\n    $contextSpecified = true;\n    unset($contexts,$ctx);\n} else {\n    $context = $modx->quote($modx->context->get(\'key\'));\n}\n\n$pcMap = array();\n$pcQuery = $modx->newQuery(\'modResource\', array(\'id:IN\' => $parents), $dbCacheFlag);\n$pcQuery->select(array(\'id\', \'context_key\'));\nif ($pcQuery->prepare() && $pcQuery->stmt->execute()) {\n    foreach ($pcQuery->stmt->fetchAll(PDO::FETCH_ASSOC) as $pcRow) {\n        $pcMap[(integer) $pcRow[\'id\']] = $pcRow[\'context_key\'];\n    }\n}\n\n$children = array();\n$parentArray = array();\nforeach ($parents as $parent) {\n    $parent = (integer) $parent;\n    if ($parent === 0) {\n        $pchildren = array();\n        if ($contextSpecified) {\n            foreach ($contextArray as $pCtx) {\n                if (!in_array($pCtx, $contextArray)) {\n                    continue;\n                }\n                $options = $pCtx !== $modx->context->get(\'key\') ? array(\'context\' => $pCtx) : array();\n                $pcchildren = $modx->getChildIds($parent, $depth, $options);\n                if (!empty($pcchildren)) $pchildren = array_merge($pchildren, $pcchildren);\n            }\n        } else {\n            $cQuery = $modx->newQuery(\'modContext\', array(\'key:!=\' => \'mgr\'));\n            $cQuery->select(array(\'key\'));\n            if ($cQuery->prepare() && $cQuery->stmt->execute()) {\n                foreach ($cQuery->stmt->fetchAll(PDO::FETCH_COLUMN) as $pCtx) {\n                    $options = $pCtx !== $modx->context->get(\'key\') ? array(\'context\' => $pCtx) : array();\n                    $pcchildren = $modx->getChildIds($parent, $depth, $options);\n                    if (!empty($pcchildren)) $pchildren = array_merge($pchildren, $pcchildren);\n                }\n            }\n        }\n        $parentArray[] = $parent;\n    } else {\n        $pContext = array_key_exists($parent, $pcMap) ? $pcMap[$parent] : false;\n        if ($debug) $modx->log(modX::LOG_LEVEL_ERROR, \"context for {$parent} is {$pContext}\");\n        if ($pContext && $contextSpecified && !in_array($pContext, $contextArray, true)) {\n            $parent = next($parents);\n            continue;\n        }\n        $parentArray[] = $parent;\n        $options = !empty($pContext) && $pContext !== $modx->context->get(\'key\') ? array(\'context\' => $pContext) : array();\n        $pchildren = $modx->getChildIds($parent, $depth, $options);\n    }\n    if (!empty($pchildren)) $children = array_merge($children, $pchildren);\n    $parent = next($parents);\n}\n$parents = array_merge($parentArray, $children);\n\n/* build query */\n$criteria = array(\"modResource.parent IN (\" . implode(\',\', $parents) . \")\");\nif ($contextSpecified) {\n    $contextResourceTbl = $modx->getTableName(\'modContextResource\');\n    $criteria[] = \"(modResource.context_key IN ({$context}) OR EXISTS(SELECT 1 FROM {$contextResourceTbl} ctx WHERE ctx.resource = modResource.id AND ctx.context_key IN ({$context})))\";\n}\nif (empty($showDeleted)) {\n    $criteria[\'deleted\'] = \'0\';\n}\nif (empty($showUnpublished)) {\n    $criteria[\'published\'] = \'1\';\n}\nif (empty($showHidden)) {\n    $criteria[\'hidemenu\'] = \'0\';\n}\nif (!empty($hideContainers)) {\n    $criteria[\'isfolder\'] = \'0\';\n}\n$criteria = $modx->newQuery(\'modResource\', $criteria);\nif (!empty($tvFilters)) {\n    $tmplVarTbl = $modx->getTableName(\'modTemplateVar\');\n    $tmplVarResourceTbl = $modx->getTableName(\'modTemplateVarResource\');\n    $conditions = array();\n    $operators = array(\n        \'<=>\' => \'<=>\',\n        \'===\' => \'=\',\n        \'!==\' => \'!=\',\n        \'<>\' => \'<>\',\n        \'==\' => \'LIKE\',\n        \'!=\' => \'NOT LIKE\',\n        \'<<\' => \'<\',\n        \'<=\' => \'<=\',\n        \'=<\' => \'=<\',\n        \'>>\' => \'>\',\n        \'>=\' => \'>=\',\n        \'=>\' => \'=>\'\n    );\n    foreach ($tvFilters as $fGroup => $tvFilter) {\n        $filterGroup = array();\n        $filters = explode($tvFiltersAndDelimiter, $tvFilter);\n        $multiple = count($filters) > 0;\n        foreach ($filters as $filter) {\n            $operator = \'==\';\n            $sqlOperator = \'LIKE\';\n            foreach ($operators as $op => $opSymbol) {\n                if (strpos($filter, $op, 1) !== false) {\n                    $operator = $op;\n                    $sqlOperator = $opSymbol;\n                    break;\n                }\n            }\n            $tvValueField = \'tvr.value\';\n            $tvDefaultField = \'tv.default_text\';\n            $f = explode($operator, $filter);\n            if (count($f) >= 2) {\n                if (count($f) > 2) {\n                    $k = array_shift($f);\n                    $b = join($operator, $f);\n                    $f = array($k, $b);\n                }\n                $tvName = $modx->quote($f[0]);\n                if (is_numeric($f[1]) && !in_array($sqlOperator, array(\'LIKE\', \'NOT LIKE\'))) {\n                    $tvValue = $f[1];\n                    if ($f[1] == (integer)$f[1]) {\n                        $tvValueField = \"CAST({$tvValueField} AS SIGNED INTEGER)\";\n                        $tvDefaultField = \"CAST({$tvDefaultField} AS SIGNED INTEGER)\";\n                    } else {\n                        $tvValueField = \"CAST({$tvValueField} AS DECIMAL)\";\n                        $tvDefaultField = \"CAST({$tvDefaultField} AS DECIMAL)\";\n                    }\n                } else {\n                    $tvValue = $modx->quote($f[1]);\n                }\n                if ($multiple) {\n                    $filterGroup[] =\n                        \"(EXISTS (SELECT 1 FROM {$tmplVarResourceTbl} tvr JOIN {$tmplVarTbl} tv ON {$tvValueField} {$sqlOperator} {$tvValue} AND tv.name = {$tvName} AND tv.id = tvr.tmplvarid WHERE tvr.contentid = modResource.id) \" .\n                        \"OR EXISTS (SELECT 1 FROM {$tmplVarTbl} tv WHERE tv.name = {$tvName} AND {$tvDefaultField} {$sqlOperator} {$tvValue} AND tv.id NOT IN (SELECT tmplvarid FROM {$tmplVarResourceTbl} WHERE contentid = modResource.id)) \" .\n                        \")\";\n                } else {\n                    $filterGroup =\n                        \"(EXISTS (SELECT 1 FROM {$tmplVarResourceTbl} tvr JOIN {$tmplVarTbl} tv ON {$tvValueField} {$sqlOperator} {$tvValue} AND tv.name = {$tvName} AND tv.id = tvr.tmplvarid WHERE tvr.contentid = modResource.id) \" .\n                        \"OR EXISTS (SELECT 1 FROM {$tmplVarTbl} tv WHERE tv.name = {$tvName} AND {$tvDefaultField} {$sqlOperator} {$tvValue} AND tv.id NOT IN (SELECT tmplvarid FROM {$tmplVarResourceTbl} WHERE contentid = modResource.id)) \" .\n                        \")\";\n                }\n            } elseif (count($f) == 1) {\n                $tvValue = $modx->quote($f[0]);\n                if ($multiple) {\n                    $filterGroup[] = \"EXISTS (SELECT 1 FROM {$tmplVarResourceTbl} tvr JOIN {$tmplVarTbl} tv ON {$tvValueField} {$sqlOperator} {$tvValue} AND tv.id = tvr.tmplvarid WHERE tvr.contentid = modResource.id)\";\n                } else {\n                    $filterGroup = \"EXISTS (SELECT 1 FROM {$tmplVarResourceTbl} tvr JOIN {$tmplVarTbl} tv ON {$tvValueField} {$sqlOperator} {$tvValue} AND tv.id = tvr.tmplvarid WHERE tvr.contentid = modResource.id)\";\n                }\n            }\n        }\n        $conditions[] = $filterGroup;\n    }\n    if (!empty($conditions)) {\n        $firstGroup = true;\n        foreach ($conditions as $cGroup => $c) {\n            if (is_array($c)) {\n                $first = true;\n                foreach ($c as $cond) {\n                    if ($first && !$firstGroup) {\n                        $criteria->condition($criteria->query[\'where\'][0][1], $cond, xPDOQuery::SQL_OR, null, $cGroup);\n                    } else {\n                        $criteria->condition($criteria->query[\'where\'][0][1], $cond, xPDOQuery::SQL_AND, null, $cGroup);\n                    }\n                    $first = false;\n                }\n            } else {\n                $criteria->condition($criteria->query[\'where\'][0][1], $c, $firstGroup ? xPDOQuery::SQL_AND : xPDOQuery::SQL_OR, null, $cGroup);\n            }\n            $firstGroup = false;\n        }\n    }\n}\n/* include/exclude resources, via &resources=`123,-456` prop */\nif (!empty($resources)) {\n    $resourceConditions = array();\n    $resources = explode(\',\',$resources);\n    $include = array();\n    $exclude = array();\n    foreach ($resources as $resource) {\n        $resource = (int)$resource;\n        if ($resource == 0) continue;\n        if ($resource < 0) {\n            $exclude[] = abs($resource);\n        } else {\n            $include[] = $resource;\n        }\n    }\n    if (!empty($include)) {\n        $criteria->where(array(\'OR:modResource.id:IN\' => $include), xPDOQuery::SQL_OR);\n    }\n    if (!empty($exclude)) {\n        $criteria->where(array(\'modResource.id:NOT IN\' => $exclude), xPDOQuery::SQL_AND, null, 1);\n    }\n}\nif (!empty($where)) {\n    $criteria->where($where);\n}\n\n$total = $modx->getCount(\'modResource\', $criteria);\n$modx->setPlaceholder($totalVar, $total);\n\n$fields = array_keys($modx->getFields(\'modResource\'));\nif (empty($includeContent)) {\n    $fields = array_diff($fields, array(\'content\'));\n}\n$columns = $includeContent ? $modx->getSelectColumns(\'modResource\', \'modResource\') : $modx->getSelectColumns(\'modResource\', \'modResource\', \'\', array(\'content\'), true);\n$criteria->select($columns);\nif (!empty($sortbyTV)) {\n    $criteria->leftJoin(\'modTemplateVar\', \'tvDefault\', array(\n        \"tvDefault.name\" => $sortbyTV\n    ));\n    $criteria->leftJoin(\'modTemplateVarResource\', \'tvSort\', array(\n        \"tvSort.contentid = modResource.id\",\n        \"tvSort.tmplvarid = tvDefault.id\"\n    ));\n    if (empty($sortbyTVType)) $sortbyTVType = \'string\';\n    if ($modx->getOption(\'dbtype\') === \'mysql\') {\n        switch ($sortbyTVType) {\n            case \'integer\':\n                $criteria->select(\"CAST(IFNULL(tvSort.value, tvDefault.default_text) AS SIGNED INTEGER) AS sortTV\");\n                break;\n            case \'decimal\':\n                $criteria->select(\"CAST(IFNULL(tvSort.value, tvDefault.default_text) AS DECIMAL) AS sortTV\");\n                break;\n            case \'datetime\':\n                $criteria->select(\"CAST(IFNULL(tvSort.value, tvDefault.default_text) AS DATETIME) AS sortTV\");\n                break;\n            case \'string\':\n            default:\n                $criteria->select(\"IFNULL(tvSort.value, tvDefault.default_text) AS sortTV\");\n                break;\n        }\n    } elseif ($modx->getOption(\'dbtype\') === \'sqlsrv\') {\n        switch ($sortbyTVType) {\n            case \'integer\':\n                $criteria->select(\"CAST(ISNULL(tvSort.value, tvDefault.default_text) AS BIGINT) AS sortTV\");\n                break;\n            case \'decimal\':\n                $criteria->select(\"CAST(ISNULL(tvSort.value, tvDefault.default_text) AS DECIMAL) AS sortTV\");\n                break;\n            case \'datetime\':\n                $criteria->select(\"CAST(ISNULL(tvSort.value, tvDefault.default_text) AS DATETIME) AS sortTV\");\n                break;\n            case \'string\':\n            default:\n                $criteria->select(\"ISNULL(tvSort.value, tvDefault.default_text) AS sortTV\");\n                break;\n        }\n    }\n    $criteria->sortby(\"sortTV\", $sortdirTV);\n}\nif (!empty($sortby)) {\n    if (strpos($sortby, \'{\') === 0) {\n        $sorts = $modx->fromJSON($sortby);\n    } else {\n        $sorts = array($sortby => $sortdir);\n    }\n    if (is_array($sorts)) {\n        foreach($sorts as $sort => $dir){\n            if ($sort == \'resources\' && !empty($resources)) {\n                $sort = \'FIELD(modResource.id, \' . implode($resources,\',\') . \')\';\n            }\n            if ($sortbyEscaped) $sort = $modx->escape($sort);\n            if (!empty($sortbyAlias)) $sort = $modx->escape($sortbyAlias) . \".{$sort}\";\n            $criteria->sortby($sort, $dir);\n        }\n    }\n}\nif (!empty($limit)) $criteria->limit($limit, $offset);\n\nif (!empty($debug)) {\n    $criteria->prepare();\n    $modx->log(modX::LOG_LEVEL_ERROR, $criteria->toSQL());\n}\n$collection = $modx->getCollection(\'modResource\', $criteria, $dbCacheFlag);\n\n$idx = !empty($idx) || $idx === \'0\' ? (integer) $idx : 1;\n$first = empty($first) && $first !== \'0\' ? 1 : (integer) $first;\n$last = empty($last) ? (count($collection) + $idx - 1) : (integer) $last;\n\n/* include parseTpl */\ninclude_once $modx->getOption(\'getresources.core_path\',null,$modx->getOption(\'core_path\').\'components/getresources/\').\'include.parsetpl.php\';\n\n$templateVars = array();\nif (!empty($includeTVs) && !empty($includeTVList)) {\n    $templateVars = $modx->getCollection(\'modTemplateVar\', array(\'name:IN\' => $includeTVList));\n}\n/** @var modResource $resource */\nforeach ($collection as $resourceId => $resource) {\n    $tvs = array();\n    if (!empty($includeTVs)) {\n        if (empty($includeTVList)) {\n            $templateVars = $resource->getMany(\'TemplateVars\');\n        }\n        /** @var modTemplateVar $templateVar */\n        foreach ($templateVars as $tvId => $templateVar) {\n            if (!empty($includeTVList) && !in_array($templateVar->get(\'name\'), $includeTVList)) continue;\n            if ($processTVs && (empty($processTVList) || in_array($templateVar->get(\'name\'), $processTVList))) {\n                $tvs[$tvPrefix . $templateVar->get(\'name\')] = $templateVar->renderOutput($resource->get(\'id\'));\n            } else {\n                $value = $templateVar->getValue($resource->get(\'id\'));\n                if ($prepareTVs && method_exists($templateVar, \'prepareOutput\') && (empty($prepareTVList) || in_array($templateVar->get(\'name\'), $prepareTVList))) {\n                    $value = $templateVar->prepareOutput($value);\n                }\n                $tvs[$tvPrefix . $templateVar->get(\'name\')] = $value;\n            }\n        }\n    }\n    $odd = ($idx & 1);\n    $properties = array_merge(\n        $scriptProperties\n        ,array(\n            \'idx\' => $idx\n            ,\'first\' => $first\n            ,\'last\' => $last\n            ,\'odd\' => $odd\n        )\n        ,$includeContent ? $resource->toArray() : $resource->get($fields)\n        ,$tvs\n    );\n    $resourceTpl = false;\n    if ($idx == $first && !empty($tplFirst)) {\n        $resourceTpl = parseTpl($tplFirst, $properties);\n    }\n    if ($idx == $last && empty($resourceTpl) && !empty($tplLast)) {\n        $resourceTpl = parseTpl($tplLast, $properties);\n    }\n    $tplidx = \'tpl_\' . $idx;\n    if (empty($resourceTpl) && !empty($$tplidx)) {\n        $resourceTpl = parseTpl($$tplidx, $properties);\n    }\n    if ($idx > 1 && empty($resourceTpl)) {\n        $divisors = getDivisors($idx);\n        if (!empty($divisors)) {\n            foreach ($divisors as $divisor) {\n                $tplnth = \'tpl_n\' . $divisor;\n                if (!empty($$tplnth)) {\n                    $resourceTpl = parseTpl($$tplnth, $properties);\n                    if (!empty($resourceTpl)) {\n                        break;\n                    }\n                }\n            }\n        }\n    }\n    if ($odd && empty($resourceTpl) && !empty($tplOdd)) {\n        $resourceTpl = parseTpl($tplOdd, $properties);\n    }\n    if (!empty($tplCondition) && !empty($conditionalTpls) && empty($resourceTpl)) {\n        $conTpls = $modx->fromJSON($conditionalTpls);\n        $subject = $properties[$tplCondition];\n        $tplOperator = !empty($tplOperator) ? $tplOperator : \'=\';\n        $tplOperator = strtolower($tplOperator);\n        $tplCon = \'\';\n        foreach ($conTpls as $operand => $conditionalTpl) {\n            switch ($tplOperator) {\n                case \'!=\':\n                case \'neq\':\n                case \'not\':\n                case \'isnot\':\n                case \'isnt\':\n                case \'unequal\':\n                case \'notequal\':\n                    $tplCon = (($subject != $operand) ? $conditionalTpl : $tplCon);\n                    break;\n                case \'<\':\n                case \'lt\':\n                case \'less\':\n                case \'lessthan\':\n                    $tplCon = (($subject < $operand) ? $conditionalTpl : $tplCon);\n                    break;\n                case \'>\':\n                case \'gt\':\n                case \'greater\':\n                case \'greaterthan\':\n                    $tplCon = (($subject > $operand) ? $conditionalTpl : $tplCon);\n                    break;\n                case \'<=\':\n                case \'lte\':\n                case \'lessthanequals\':\n                case \'lessthanorequalto\':\n                    $tplCon = (($subject <= $operand) ? $conditionalTpl : $tplCon);\n                    break;\n                case \'>=\':\n                case \'gte\':\n                case \'greaterthanequals\':\n                case \'greaterthanequalto\':\n                    $tplCon = (($subject >= $operand) ? $conditionalTpl : $tplCon);\n                    break;\n                case \'isempty\':\n                case \'empty\':\n                    $tplCon = empty($subject) ? $conditionalTpl : $tplCon;\n                    break;\n                case \'!empty\':\n                case \'notempty\':\n                case \'isnotempty\':\n                    $tplCon = !empty($subject) && $subject != \'\' ? $conditionalTpl : $tplCon;\n                    break;\n                case \'isnull\':\n                case \'null\':\n                    $tplCon = $subject == null || strtolower($subject) == \'null\' ? $conditionalTpl : $tplCon;\n                    break;\n                case \'inarray\':\n                case \'in_array\':\n                case \'ia\':\n                    $operand = explode(\',\', $operand);\n                    $tplCon = in_array($subject, $operand) ? $conditionalTpl : $tplCon;\n                    break;\n                case \'between\':\n                case \'range\':\n                case \'>=<\':\n                case \'><\':\n                    $operand = explode(\',\', $operand);\n                    $tplCon = ($subject >= min($operand) && $subject <= max($operand)) ? $conditionalTpl : $tplCon;\n                    break;\n                case \'==\':\n                case \'=\':\n                case \'eq\':\n                case \'is\':\n                case \'equal\':\n                case \'equals\':\n                case \'equalto\':\n                default:\n                    $tplCon = (($subject == $operand) ? $conditionalTpl : $tplCon);\n                    break;\n            }\n        }\n        if (!empty($tplCon)) {\n            $resourceTpl = parseTpl($tplCon, $properties);\n        }\n    }\n    if (!empty($tpl) && empty($resourceTpl)) {\n        $resourceTpl = parseTpl($tpl, $properties);\n    }\n    if ($resourceTpl === false && !empty($debug)) {\n        $chunk = $modx->newObject(\'modChunk\');\n        $chunk->setCacheable(false);\n        $output[]= $chunk->process(array(), \'<pre>\' . print_r($properties, true) .\'</pre>\');\n    } else {\n        $output[]= $resourceTpl;\n    }\n    $idx++;\n}\n\n/* output */\n$toSeparatePlaceholders = $modx->getOption(\'toSeparatePlaceholders\', $scriptProperties, false);\nif (!empty($toSeparatePlaceholders)) {\n    $modx->setPlaceholders($output, $toSeparatePlaceholders);\n    return \'\';\n}\n\n$output = implode($outputSeparator, $output);\n\n$tplWrapper = $modx->getOption(\'tplWrapper\', $scriptProperties, false);\n$wrapIfEmpty = $modx->getOption(\'wrapIfEmpty\', $scriptProperties, false);\nif (!empty($tplWrapper) && ($wrapIfEmpty || !empty($output))) {\n    $output = parseTpl($tplWrapper, array_merge($scriptProperties, array(\'output\' => $output)));\n}\n\n$toPlaceholder = $modx->getOption(\'toPlaceholder\', $scriptProperties, false);\nif (!empty($toPlaceholder)) {\n    $modx->setPlaceholder($toPlaceholder, $output);\n    return \'\';\n}\nreturn $output;',0,'a:44:{s:3:\"tpl\";a:7:{s:4:\"name\";s:3:\"tpl\";s:4:\"desc\";s:121:\"Name of a chunk serving as a resource template. NOTE: if not provided, properties are dumped to output for each resource.\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:6:\"tplOdd\";a:7:{s:4:\"name\";s:6:\"tplOdd\";s:4:\"desc\";s:100:\"Name of a chunk serving as resource template for resources with an odd idx value (see idx property).\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:8:\"tplFirst\";a:7:{s:4:\"name\";s:8:\"tplFirst\";s:4:\"desc\";s:89:\"Name of a chunk serving as resource template for the first resource (see first property).\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:7:\"tplLast\";a:7:{s:4:\"name\";s:7:\"tplLast\";s:4:\"desc\";s:87:\"Name of a chunk serving as resource template for the last resource (see last property).\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:10:\"tplWrapper\";a:7:{s:4:\"name\";s:10:\"tplWrapper\";s:4:\"desc\";s:115:\"Name of a chunk serving as wrapper template for the Snippet output. This does not work with toSeparatePlaceholders.\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:11:\"wrapIfEmpty\";a:7:{s:4:\"name\";s:11:\"wrapIfEmpty\";s:4:\"desc\";s:95:\"Indicates if empty output should be wrapped by the tplWrapper, if specified. Defaults to false.\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:0;s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:6:\"sortby\";a:7:{s:4:\"name\";s:6:\"sortby\";s:4:\"desc\";s:153:\"A field name to sort by or JSON object of field names and sortdir for each field, e.g. {\"publishedon\":\"ASC\",\"createdon\":\"DESC\"}. Defaults to publishedon.\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:11:\"publishedon\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:8:\"sortbyTV\";a:7:{s:4:\"name\";s:8:\"sortbyTV\";s:4:\"desc\";s:65:\"Name of a Template Variable to sort by. Defaults to empty string.\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:12:\"sortbyTVType\";a:7:{s:4:\"name\";s:12:\"sortbyTVType\";s:4:\"desc\";s:72:\"An optional type to indicate how to sort on the Template Variable value.\";s:4:\"type\";s:4:\"list\";s:7:\"options\";a:4:{i:0;a:2:{s:4:\"text\";s:6:\"string\";s:5:\"value\";s:6:\"string\";}i:1;a:2:{s:4:\"text\";s:7:\"integer\";s:5:\"value\";s:7:\"integer\";}i:2;a:2:{s:4:\"text\";s:7:\"decimal\";s:5:\"value\";s:7:\"decimal\";}i:3;a:2:{s:4:\"text\";s:8:\"datetime\";s:5:\"value\";s:8:\"datetime\";}}s:5:\"value\";s:6:\"string\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:11:\"sortbyAlias\";a:7:{s:4:\"name\";s:11:\"sortbyAlias\";s:4:\"desc\";s:58:\"Query alias for sortby field. Defaults to an empty string.\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:13:\"sortbyEscaped\";a:7:{s:4:\"name\";s:13:\"sortbyEscaped\";s:4:\"desc\";s:82:\"Determines if the field name specified in sortby should be escaped. Defaults to 0.\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:1:\"0\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:7:\"sortdir\";a:7:{s:4:\"name\";s:7:\"sortdir\";s:4:\"desc\";s:41:\"Order which to sort by. Defaults to DESC.\";s:4:\"type\";s:4:\"list\";s:7:\"options\";a:2:{i:0;a:2:{s:4:\"text\";s:3:\"ASC\";s:5:\"value\";s:3:\"ASC\";}i:1;a:2:{s:4:\"text\";s:4:\"DESC\";s:5:\"value\";s:4:\"DESC\";}}s:5:\"value\";s:4:\"DESC\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:9:\"sortdirTV\";a:7:{s:4:\"name\";s:9:\"sortdirTV\";s:4:\"desc\";s:61:\"Order which to sort a Template Variable by. Defaults to DESC.\";s:4:\"type\";s:4:\"list\";s:7:\"options\";a:2:{i:0;a:2:{s:4:\"text\";s:3:\"ASC\";s:5:\"value\";s:3:\"ASC\";}i:1;a:2:{s:4:\"text\";s:4:\"DESC\";s:5:\"value\";s:4:\"DESC\";}}s:5:\"value\";s:4:\"DESC\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:5:\"limit\";a:7:{s:4:\"name\";s:5:\"limit\";s:4:\"desc\";s:55:\"Limits the number of resources returned. Defaults to 5.\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:1:\"5\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:6:\"offset\";a:7:{s:4:\"name\";s:6:\"offset\";s:4:\"desc\";s:56:\"An offset of resources returned by the criteria to skip.\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:1:\"0\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:9:\"tvFilters\";a:7:{s:4:\"name\";s:9:\"tvFilters\";s:4:\"desc\";s:778:\"Delimited-list of TemplateVar values to filter resources by. Supports two delimiters and two value search formats. THe first delimiter || represents a logical OR and the primary grouping mechanism.  Within each group you can provide a comma-delimited list of values. These values can be either tied to a specific TemplateVar by name, e.g. myTV==value, or just the value, indicating you are searching for the value in any TemplateVar tied to the Resource. An example would be &tvFilters=`filter2==one,filter1==bar%||filter1==foo`. <br />NOTE: filtering by values uses a LIKE query and % is considered a wildcard. <br />ANOTHER NOTE: This only looks at the raw value set for specific Resource, i. e. there must be a value specifically set for the Resource and it is not evaluated.\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:21:\"tvFiltersAndDelimiter\";a:7:{s:4:\"name\";s:21:\"tvFiltersAndDelimiter\";s:4:\"desc\";s:83:\"The delimiter to use to separate logical AND expressions in tvFilters. Default is ,\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:1:\",\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:20:\"tvFiltersOrDelimiter\";a:7:{s:4:\"name\";s:20:\"tvFiltersOrDelimiter\";s:4:\"desc\";s:83:\"The delimiter to use to separate logical OR expressions in tvFilters. Default is ||\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:2:\"||\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:5:\"depth\";a:7:{s:4:\"name\";s:5:\"depth\";s:4:\"desc\";s:88:\"Integer value indicating depth to search for resources from each parent. Defaults to 10.\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:2:\"10\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:7:\"parents\";a:7:{s:4:\"name\";s:7:\"parents\";s:4:\"desc\";s:57:\"Optional. Comma-delimited list of ids serving as parents.\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:14:\"includeContent\";a:7:{s:4:\"name\";s:14:\"includeContent\";s:4:\"desc\";s:95:\"Indicates if the content of each resource should be returned in the results. Defaults to false.\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:0;s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:10:\"includeTVs\";a:7:{s:4:\"name\";s:10:\"includeTVs\";s:4:\"desc\";s:124:\"Indicates if TemplateVar values should be included in the properties available to each resource template. Defaults to false.\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:0;s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:13:\"includeTVList\";a:7:{s:4:\"name\";s:13:\"includeTVList\";s:4:\"desc\";s:96:\"Limits included TVs to those specified as a comma-delimited list of TV names. Defaults to empty.\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:10:\"showHidden\";a:7:{s:4:\"name\";s:10:\"showHidden\";s:4:\"desc\";s:85:\"Indicates if Resources that are hidden from menus should be shown. Defaults to false.\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:0;s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:15:\"showUnpublished\";a:7:{s:4:\"name\";s:15:\"showUnpublished\";s:4:\"desc\";s:79:\"Indicates if Resources that are unpublished should be shown. Defaults to false.\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:0;s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:11:\"showDeleted\";a:7:{s:4:\"name\";s:11:\"showDeleted\";s:4:\"desc\";s:75:\"Indicates if Resources that are deleted should be shown. Defaults to false.\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:0;s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:9:\"resources\";a:7:{s:4:\"name\";s:9:\"resources\";s:4:\"desc\";s:177:\"A comma-separated list of resource IDs to exclude or include. IDs with a - in front mean to exclude. Ex: 123,-456 means to include Resource 123, but always exclude Resource 456.\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:10:\"processTVs\";a:7:{s:4:\"name\";s:10:\"processTVs\";s:4:\"desc\";s:117:\"Indicates if TemplateVar values should be rendered as they would on the resource being summarized. Defaults to false.\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:0;s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:13:\"processTVList\";a:7:{s:4:\"name\";s:13:\"processTVList\";s:4:\"desc\";s:166:\"Limits processed TVs to those specified as a comma-delimited list of TV names; note only includedTVs will be available for processing if specified. Defaults to empty.\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:10:\"prepareTVs\";a:7:{s:4:\"name\";s:10:\"prepareTVs\";s:4:\"desc\";s:120:\"Indicates if TemplateVar values that are not processed fully should be prepared before being returned. Defaults to true.\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:1;s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:13:\"prepareTVList\";a:7:{s:4:\"name\";s:13:\"prepareTVList\";s:4:\"desc\";s:164:\"Limits prepared TVs to those specified as a comma-delimited list of TV names; note only includedTVs will be available for preparing if specified. Defaults to empty.\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:8:\"tvPrefix\";a:7:{s:4:\"name\";s:8:\"tvPrefix\";s:4:\"desc\";s:55:\"The prefix for TemplateVar properties. Defaults to: tv.\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:3:\"tv.\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:3:\"idx\";a:7:{s:4:\"name\";s:3:\"idx\";s:4:\"desc\";s:120:\"You can define the starting idx of the resources, which is an property that is incremented as each resource is rendered.\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:5:\"first\";a:7:{s:4:\"name\";s:5:\"first\";s:4:\"desc\";s:81:\"Define the idx which represents the first resource (see tplFirst). Defaults to 1.\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:4:\"last\";a:7:{s:4:\"name\";s:4:\"last\";s:4:\"desc\";s:129:\"Define the idx which represents the last resource (see tplLast). Defaults to the number of resources being summarized + first - 1\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:13:\"toPlaceholder\";a:7:{s:4:\"name\";s:13:\"toPlaceholder\";s:4:\"desc\";s:85:\"If set, will assign the result to this placeholder instead of outputting it directly.\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:22:\"toSeparatePlaceholders\";a:7:{s:4:\"name\";s:22:\"toSeparatePlaceholders\";s:4:\"desc\";s:130:\"If set, will assign EACH result to a separate placeholder named by this param suffixed with a sequential number (starting from 0).\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:5:\"debug\";a:7:{s:4:\"name\";s:5:\"debug\";s:4:\"desc\";s:68:\"If true, will send the SQL query to the MODX log. Defaults to false.\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:0;s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:5:\"where\";a:7:{s:4:\"name\";s:5:\"where\";s:4:\"desc\";s:193:\"A JSON expression of criteria to build any additional where clauses from, e.g. &where=`{{\"alias:LIKE\":\"foo%\", \"OR:alias:LIKE\":\"%bar\"},{\"OR:pagetitle:=\":\"foobar\", \"AND:description:=\":\"raboof\"}}`\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:11:\"dbCacheFlag\";a:7:{s:4:\"name\";s:11:\"dbCacheFlag\";s:4:\"desc\";s:218:\"Determines how result sets are cached if cache_db is enabled in MODX. 0|false = do not cache result set; 1 = cache result set according to cache settings, any other integer value = number of seconds to cache result set\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:1:\"0\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:7:\"context\";a:7:{s:4:\"name\";s:7:\"context\";s:4:\"desc\";s:116:\"A comma-delimited list of context keys for limiting results. Default is empty, i.e. do not limit results by context.\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:12:\"tplCondition\";a:7:{s:4:\"name\";s:12:\"tplCondition\";s:4:\"desc\";s:129:\"A condition to compare against the conditionalTpls property to map Resources to different tpls based on custom conditional logic.\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:11:\"tplOperator\";a:7:{s:4:\"name\";s:11:\"tplOperator\";s:4:\"desc\";s:125:\"An optional operator to use for the tplCondition when comparing against the conditionalTpls operands. Default is == (equals).\";s:4:\"type\";s:4:\"list\";s:7:\"options\";a:10:{i:0;a:2:{s:4:\"text\";s:11:\"is equal to\";s:5:\"value\";s:2:\"==\";}i:1;a:2:{s:4:\"text\";s:15:\"is not equal to\";s:5:\"value\";s:2:\"!=\";}i:2;a:2:{s:4:\"text\";s:9:\"less than\";s:5:\"value\";s:1:\"<\";}i:3;a:2:{s:4:\"text\";s:21:\"less than or equal to\";s:5:\"value\";s:2:\"<=\";}i:4;a:2:{s:4:\"text\";s:24:\"greater than or equal to\";s:5:\"value\";s:2:\">=\";}i:5;a:2:{s:4:\"text\";s:8:\"is empty\";s:5:\"value\";s:5:\"empty\";}i:6;a:2:{s:4:\"text\";s:12:\"is not empty\";s:5:\"value\";s:6:\"!empty\";}i:7;a:2:{s:4:\"text\";s:7:\"is null\";s:5:\"value\";s:4:\"null\";}i:8;a:2:{s:4:\"text\";s:11:\"is in array\";s:5:\"value\";s:7:\"inarray\";}i:9;a:2:{s:4:\"text\";s:10:\"is between\";s:5:\"value\";s:7:\"between\";}}s:5:\"value\";s:2:\"==\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}s:15:\"conditionalTpls\";a:7:{s:4:\"name\";s:15:\"conditionalTpls\";s:4:\"desc\";s:121:\"A JSON map of conditional operands and tpls to compare against the tplCondition property using the specified tplOperator.\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}}','',0,''),(15,0,0,'Rowboat','Displays a list of rows from any custom table.',0,6,0,'/**\n * Rowboat\n *\n * Copyright 2011 by Shaun McCormick <shaun+rowboat@modx.com>\n *\n * Rowboat is free software; you can redistribute it and/or modify it under the\n * terms of the GNU General Public License as published by the Free Software\n * Foundation; either version 2 of the License, or (at your option) any later\n * version.\n *\n * Rowboat is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License along with\n * Rowboat; if not, write to the Free Software Foundation, Inc., 59 Temple\n * Place, Suite 330, Boston, MA 02111-1307 USA\n *\n * @package rowboat\n */\n/**\n * The base Rowboat snippet.\n *\n * @var modX $modx\n * @var Rowboat $rowboat\n * @var array $scriptProperties\n * \n * @package rowboat\n */\n$rowboat = $modx->getService(\'rowboat\',\'Rowboat\',$modx->getOption(\'rowboat.core_path\',null,$modx->getOption(\'core_path\').\'components/rowboat/\').\'model/rowboat/\',$scriptProperties);\nif (!($rowboat instanceof Rowboat)) return \'\';\n\n/* setup default properties */\n$tpl = $modx->getOption(\'tpl\',$scriptProperties,\'\');\n$table = $modx->sanitizeString($modx->getOption(\'table\',$scriptProperties,\'\'));\nif (empty($table)) return \'\';\n$columns = $modx->getOption(\'columns\',$scriptProperties,\'\');\n$where = $modx->getOption(\'where\',$scriptProperties,\'\');\n$sortBy = $modx->getOption(\'sortBy\',$_REQUEST,$modx->getOption(\'sortBy\',$scriptProperties,\'\'));\n$sortBy = preg_replace(\"/[^A-Za-z0-9_,:\\-\\.\\/]/\",\'\',str_replace(array(\'/\',\"\'\",\'\"\',\'(\',\')\',\';\',\'>\',\'<\'),\'\',strip_tags($sortBy,\'\')));\n$sortDir = $modx->getOption(\'sortDir\',$_REQUEST,$modx->getOption(\'sortDir\',$scriptProperties,\'ASC\'));\n$sortDir = $modx->sanitizeString($sortDir);\n$limit = $modx->getOption(\'limit\',$_REQUEST,$modx->getOption(\'limit\',$scriptProperties,10));\n$offset = $modx->getOption(\'offset\',$_REQUEST,$modx->getOption(\'offset\',$scriptProperties,0));\n$cacheResults = $modx->getOption(\'cacheResults\',$scriptProperties,1);\n$cacheTime = $modx->getOption(\'cacheTime\',$scriptProperties,3600);\n$outputSeparator = $modx->getOption(\'outputSeparator\',$scriptProperties,\"\\n\");\n$placeholderPrefix = $modx->getOption(\'placeholderPrefix\',$scriptProperties,\'rowboat.\');\n$debug = $modx->getOption(\'debug\',$scriptProperties,false);\n$returnFormat = strtolower($modx->getOption(\'returnFormat\',$scriptProperties,\'\'));\n\n$total = 0;\n$results = array();\n\nif (!empty($debug)) {\n    $rowboat->loadDebugMode();\n}\n\n/* build query */\n$c = $rowboat->newQuery($table);\nif (empty($c)) {\n    return $modx->lexicon(\'rowboat.no_driver\',array(\'dbtype\' => $modx->config[\'dbtype\']));\n}\nif ($columns != \'*\') {\n    $columns = $modx->fromJSON($columns);\n    if (!empty($columns)) {\n        $c->select($columns);\n    }\n}\nif (!empty($where)) {\n    $where = $modx->fromJSON($where);\n    if (!empty($where)) {\n        $c->where($where);\n    }\n}\n\nif (!empty($sortBy)) {\n    $sortBy = explode(\',\',$sortBy);\n    foreach ($sortBy as $sortField) {\n        $sortMix = explode(\':\',$sortField);\n        $sortDirection = !empty($sortMix[1]) ? $sortMix[1] : $sortDir;\n        $sortField = $sortMix[0];\n        $c->sortby($sortField,$sortDirection);\n    }\n}\n$cc = null;\nif (intval($limit) > 0) {\n    /** @var rbQuery $cc */\n    $cc = clone $c;\n    $c->limit($limit,$offset);\n}\n$sql = $c->toSql();\n\nif (!empty($debug)) {\n    $rowboat->debug->setQuery($c);\n}\n\n/* check for cache */\n$cached = false;\n$cacheKey = false;\nif (!empty($cacheResults)) {\n    $cacheKey = \'rowboat/\'.base64_encode($sql);\n    $cacheArray = $modx->cacheManager->get($cacheKey);\n    if (!empty($cacheArray)) {\n        $cached = true;\n        $results = $cacheArray[\'results\'];\n        $total = $cacheArray[\'total\'];\n    }\n    if (!empty($debug)) {\n        $rowboat->debug->addMessage($modx->lexicon(\'rowboat.debug.cached_results\'));\n    }\n}\n\nif (!empty($rowboat->debug)) {\n    $rowboat->debug->setTotal($total);\n}\n\n/* run query */\nif (empty($cached)) {\n    if ($c->execute()) {\n        $results = $c->getResults();\n        if (!empty($cc)) {\n            $total = $cc->count();\n        } else {\n            $total = count($results);\n        }\n        $c->close();\n        if (!empty($cacheResults) && !empty($results) && !empty($cacheKey)) {\n            $cacheArray = array(\n                \'results\' => $results,\n                \'offset\' => $offset,\n                \'limit\' => $limit,\n                \'total\' => $total,\n            );\n            $modx->cacheManager->set($cacheKey,$cacheArray,$cacheTime);\n        }\n    }\n}\n\nif (!empty($rowboat->debug)) {\n    $rowboat->debug->setResults($results);\n}\n\n/* iterate across results */\n$output = array();\nif (is_array($results)) {\n    $ct = count($results);\n    $idx = 0;\n    foreach ($results as $row) {\n        $row[\'_idx\'] = $idx;\n        $row[\'_alt\'] = $idx % 2;\n        if ($idx == 0) $row[\'_first\'] = true;\n        if ($idx == $ct-1) $row[\'_last\'] = true;\n\n        if (empty($returnFormat)) {\n            if (!empty($tpl)) {\n                $output[] = $rowboat->getChunk($tpl,$row);\n            } else {\n                $output[] = print_r($row,true);\n            }\n        } else {\n            $output[] = $row;\n        }\n        $idx++;\n    }\n}\n\n/* set placeholders */\n$placeholders = array();\n$placeholders[\'total\'] = $total;\n$placeholders[\'offset\'] = $offset;\n$placeholders[\'limit\'] = $limit;\n$modx->setPlaceholders($placeholders,$placeholderPrefix);\n\n/* output */\n/* if using alternate return format */\nif ($returnFormat == \'json\') {\n    $output = $modx->toJSON($output);\n} else {\n    $output = implode($outputSeparator,$output);\n    if (!empty($rowboat->debug)) {\n        $output .= $rowboat->debug->finish();\n    }\n}\n$toPlaceholder = $modx->getOption(\'toPlaceholder\',$scriptProperties,false);\nif (!empty($toPlaceholder)) {\n    /* if using a placeholder, output nothing and set output to specified placeholder */\n    $modx->setPlaceholder($toPlaceholder,$output);\n    return \'\';\n}\n/* by default just return output */\nreturn $output;',0,'a:15:{s:3:\"tpl\";a:6:{s:4:\"name\";s:3:\"tpl\";s:4:\"desc\";s:21:\"prop_rowboat.tpl_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:18:\"rowboat:properties\";}s:5:\"table\";a:6:{s:4:\"name\";s:5:\"table\";s:4:\"desc\";s:23:\"prop_rowboat.table_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:18:\"rowboat:properties\";}s:7:\"columns\";a:6:{s:4:\"name\";s:7:\"columns\";s:4:\"desc\";s:25:\"prop_rowboat.columns_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:18:\"rowboat:properties\";}s:5:\"where\";a:6:{s:4:\"name\";s:5:\"where\";s:4:\"desc\";s:23:\"prop_rowboat.where_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:18:\"rowboat:properties\";}s:6:\"sortBy\";a:6:{s:4:\"name\";s:6:\"sortBy\";s:4:\"desc\";s:24:\"prop_rowboat.sortby_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:18:\"rowboat:properties\";}s:7:\"sortDir\";a:6:{s:4:\"name\";s:7:\"sortDir\";s:4:\"desc\";s:25:\"prop_rowboat.sortdir_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:3:\"ASC\";s:7:\"lexicon\";s:18:\"rowboat:properties\";}s:5:\"limit\";a:6:{s:4:\"name\";s:5:\"limit\";s:4:\"desc\";s:23:\"prop_rowboat.limit_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";i:10;s:7:\"lexicon\";s:18:\"rowboat:properties\";}s:6:\"offset\";a:6:{s:4:\"name\";s:6:\"offset\";s:4:\"desc\";s:24:\"prop_rowboat.offset_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";i:0;s:7:\"lexicon\";s:18:\"rowboat:properties\";}s:12:\"cacheResults\";a:6:{s:4:\"name\";s:12:\"cacheResults\";s:4:\"desc\";s:30:\"prop_rowboat.cacheresults_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:1;s:7:\"lexicon\";s:18:\"rowboat:properties\";}s:9:\"cacheTime\";a:6:{s:4:\"name\";s:9:\"cacheTime\";s:4:\"desc\";s:27:\"prop_rowboat.cachetime_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";i:3600;s:7:\"lexicon\";s:18:\"rowboat:properties\";}s:15:\"outputSeparator\";a:6:{s:4:\"name\";s:15:\"outputSeparator\";s:4:\"desc\";s:33:\"prop_rowboat.outputseparator_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:18:\"rowboat:properties\";}s:12:\"returnFormat\";a:6:{s:4:\"name\";s:12:\"returnFormat\";s:4:\"desc\";s:30:\"prop_rowboat.returnformat_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";a:2:{i:0;a:2:{s:4:\"text\";s:19:\"prop_rowboat.normal\";s:5:\"value\";s:0:\"\";}i:1;a:2:{s:4:\"text\";s:4:\"JSON\";s:5:\"value\";s:4:\"json\";}}s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:18:\"rowboat:properties\";}s:17:\"placeholderPrefix\";a:6:{s:4:\"name\";s:17:\"placeholderPrefix\";s:4:\"desc\";s:35:\"prop_rowboat.placeholderprefix_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:8:\"rowboat.\";s:7:\"lexicon\";s:18:\"rowboat:properties\";}s:13:\"toPlaceholder\";a:6:{s:4:\"name\";s:13:\"toPlaceholder\";s:4:\"desc\";s:31:\"prop_rowboat.toplaceholder_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:18:\"rowboat:properties\";}s:5:\"debug\";a:6:{s:4:\"name\";s:5:\"debug\";s:4:\"desc\";s:23:\"prop_rowboat.debug_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:0;s:7:\"lexicon\";s:18:\"rowboat:properties\";}}','',0,''),(16,0,0,'GoogleSiteMap','New GoogleSiteMap Snippet—many times faster than Version 1, but with less options. If params are specified that depend on the old version, it will be called.',0,7,0,'/**\n * GoogleSiteMap\n *\n * Builds the Google SiteMap XML.\n * Version 2+ of GoogleSiteMap uses code by Garry Nutting of the MODX Core Team to deliver sitemaps blazingly fast.\n *\n * @author YJ Tso <yj@modx.com>, Garry Nutting <garry@modx.com>\n *\n *\n * GoogleSiteMap is free software; you can redistribute it and/or modify it\n * under the terms of the GNU General Public License as published by the Free\n * Software Foundation; either version 2 of the License, or (at your option) any\n * later version.\n *\n * GoogleSiteMap is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License along with\n * GoogleSiteMap; if not, write to the Free Software Foundation, Inc., 59 Temple\n * Place, Suite 330, Boston, MA 02111-1307 USA\n *\n * @package googlesitemap\n */\n\n// \"300 lives of men I\'ve walked this earth and now I have no time\"\nini_set(\'max_execution_time\', 0);\n\n// Set cache options\n// set $cacheKey prefix to be appended later\n$cacheKey = $modx->getoption(\'cachePrefix\', $scriptProperties, \'googlesitemap\');\n// subfolder of core/cache/\n$cachePartition = $modx->getoption(\'cachePartition\', $scriptProperties, \'googlesitemap\');\n$expires = $modx->getOption(\'cacheExpires\', $scriptProperties, 86400);\n$options = array(\n  xPDO::OPT_CACHE_KEY => $cachePartition,\n);\n\n// Set context(s)\n$context = array_filter(array_map(\'trim\', explode(\',\', $modx->getOption(\'context\', $scriptProperties, $modx->context->get(\'key\'), true))));\n\n// Hash cache key\n$cacheKey .= \'.\' . md5($modx->toJSON(array_merge($scriptProperties, [\'context\' => $context])));\n\n// Fetch from cache\n$output = null;\n$output = $modx->cacheManager->get($cacheKey, $options);\nif ($output !== null) return $output;\n\n/* Legacy Snippet handling */\n$legacyProps = $modx->getOption(\'legacyProps\', $scriptProperties, \'allowedtemplates, excludeResources, excludeChildrenOf, sortByAlias, templateFilter, itemTpl, maxDepth, startId, where\');\n$legacyProps = array_flip(array_filter(array_map(\'trim\', explode(\',\', $legacyProps))));\n$legacyProps = array_intersect_key($scriptProperties, $legacyProps);\n$legacySnippet = $modx->getOption(\'legacySnippet\', $scriptProperties, \'GoogleSiteMapVersion1\');\n\nif (!empty($legacyProps) && $modx->getCount(\'modSnippet\', array(\'name\' => $legacySnippet))) {\n\n    $output = $modx->runSnippet($legacySnippet, $scriptProperties);\n    if ($output !== null) {\n        $modx->cacheManager->set($cacheKey, $output, $expires, $options);\n        return $output;\n    }\n\n}\n\n/* Begin new Snippet scope */\n$googleSchema = $modx->getOption(\'googleSchema\',$scriptProperties,\'http://www.sitemaps.org/schemas/sitemap/0.9\');\n\n/* Map specified filter properties to new variables for convenience */\n$filters = array();\nif ($modx->getOption(\'hideDeleted\', $scriptProperties, true)) $filters[] =  \'s.deleted = 0\';\nif (!$modx->getOption(\'showHidden\', $scriptProperties, false)) $filters[] = \'s.hidemenu = 0\';\nif ($modx->getOption(\'published\', $scriptProperties, true)) $filters[] = \'s.published = 1\';\nif ($modx->getOption(\'searchable\', $scriptProperties, true)) $filters[] = \'s.searchable = 1\';\n\n/* Defaults from legacy snippet */\n$sortBy = $modx->getOption(\'sortBy\', $scriptProperties, \'menuindex\');\n$sortDir = $modx->getOption(\'sortDir\', $scriptProperties, \'ASC\');\n$orderby = \'s.\' . strtolower($sortBy) . \' \' . strtoupper($sortDir);\n\n$containerTpl = $modx->getOption(\'containerTpl\', $scriptProperties, \'gContainer\');\n$priorityTV = $modx->getOption(\'priorityTV\', $scriptProperties, \'\');\n\n/* Fetch TV ID if string provided */\nif (!is_numeric($priorityTV)) {\n\n    $c = $modx->newQuery(\'modTemplateVar\');\n    $c->select(\'id\');\n    $c->where(array(\'name\' => $priorityTV));\n    $priorityTV = $modx->getValue($c->prepare());\n\n}\n\n/* Query by Context and set site_url / site_start */\n$items = \'\';\n// Set today\'s date for homepage lastmod\n$today = date(\'Y-m-d\');\nforeach ($context as $ctx) {\n\n    $siteUrl = \'\';\n    // Fetch current context object for site_url\n    $currentCtx = $modx->getContext($ctx);\n    if ($currentCtx) {\n        $siteUrl = $currentCtx->getOption(\'site_url\');\n        // Add site_url to output\n        $items .= \"<url><loc>{$siteUrl}</loc><lastmod>{$today}</lastmod></url>\" . PHP_EOL;\n    }\n    if (empty($siteUrl)) {\n        // We need something to build the links with, even if no context setting\n        $siteUrl = $modx->getOption(\'site_url\', null, MODX_SITE_URL);\n    }\n\n    $tablePrefix = $modx->getOption(\'table_prefix\');\n\n    // Context-specific filters\n    $ctxFilters = $filters;\n    $ctxFilters[] = \"s.context_key = \'{$ctx}\'\";\n    if ($currentCtx) {\n        $ctxFilters[] = \"s.id != \'{$currentCtx->getOption(\'site_start\')}\'\";\n    }\n    $criteria = implode(\' AND \', $ctxFilters);\n    $tvQuery = \'\';\n    if ($priorityTV) $tvQuery = \"IFNULL(\n        CONCAT(\'<priority>\',(\n            SELECT value\n            FROM \" . $tablePrefix . \"site_tmplvar_contentvalues\n            USE INDEX (tv_cnt)\n            WHERE contentid = s.id AND tmplvarid = \" . $priorityTV . \"\n        ),\'</priority>\'),\'\'),\";\n\n    // Add all resources that meet criteria\n    $stmt = $modx->query(\"\n        SELECT\n    	    GROUP_CONCAT(\n                \'<url>\',\n                CONCAT(\'<loc>\" . $siteUrl . \"\',uri,\'</loc>\'),\n                CONCAT(\'<lastmod>\',CASE editedon WHEN 0 THEN FROM_UNIXTIME(publishedon, \'%Y-%m-%d\') ELSE FROM_UNIXTIME(editedon, \'%Y-%m-%d\') END,\'</lastmod>\'),\n                \" . $tvQuery . \"\n                \'</url>\'\n                SEPARATOR \'\'\n            ) AS node\n        FROM \" . $tablePrefix . \"site_content AS s\n        WHERE \" . $criteria . \"\n        GROUP BY s.id\n        ORDER BY \" . $orderby . \"\n    \");\n\n    // Add to output\n    if ($stmt) {\n        $rows = $stmt->fetchAll(PDO::FETCH_COLUMN);\n        $items .= implode(PHP_EOL, $rows);\n    }\n\n}\n\n/* get container tpl and content */\n$output = $modx->getChunk($containerTpl, array(\n    \'schema\' => $googleSchema,\n    \'items\' => $items,\n));\n\nif ($output !== null) {\n    $modx->cacheManager->set($cacheKey, $output, $expires, $options);\n    return $output;\n} else {\n    $modx->log(modX::LOG_LEVEL_WARN, \'GoogleSiteMap could not generate nor fetch a sitemap.\');\n}',0,'a:15:{s:11:\"cachePrefix\";a:7:{s:4:\"name\";s:11:\"cachePrefix\";s:4:\"desc\";s:25:\"prop_gsm.cacheprefix_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:13:\"googlesitemap\";s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:14:\"cachePartition\";a:7:{s:4:\"name\";s:14:\"cachePartition\";s:4:\"desc\";s:28:\"prop_gsm.cachepartition_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:13:\"googlesitemap\";s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:12:\"cacheExpires\";a:7:{s:4:\"name\";s:12:\"cacheExpires\";s:4:\"desc\";s:26:\"prop_gsm.cacheexpires_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:5:\"86400\";s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:7:\"context\";a:7:{s:4:\"name\";s:7:\"context\";s:4:\"desc\";s:21:\"prop_gsm.context_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:11:\"hideDeleted\";a:7:{s:4:\"name\";s:11:\"hideDeleted\";s:4:\"desc\";s:25:\"prop_gsm.hidedeleted_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:1;s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:10:\"showHidden\";a:7:{s:4:\"name\";s:10:\"showHidden\";s:4:\"desc\";s:24:\"prop_gsm.showhidden_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:0;s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:12:\"googleSchema\";a:7:{s:4:\"name\";s:12:\"googleSchema\";s:4:\"desc\";s:26:\"prop_gsm.googleschema_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:43:\"http://www.sitemaps.org/schemas/sitemap/0.9\";s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:9:\"published\";a:7:{s:4:\"name\";s:9:\"published\";s:4:\"desc\";s:23:\"prop_gsm.published_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:1;s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:10:\"searchable\";a:7:{s:4:\"name\";s:10:\"searchable\";s:4:\"desc\";s:24:\"prop_gsm.searchable_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:1;s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:6:\"sortBy\";a:7:{s:4:\"name\";s:6:\"sortBy\";s:4:\"desc\";s:20:\"prop_gsm.sortby_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:9:\"menuindex\";s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:7:\"sortDir\";a:7:{s:4:\"name\";s:7:\"sortDir\";s:4:\"desc\";s:21:\"prop_gsm.sortdir_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:3:\"ASC\";s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:12:\"containerTpl\";a:7:{s:4:\"name\";s:12:\"containerTpl\";s:4:\"desc\";s:26:\"prop_gsm.containertpl_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:10:\"gContainer\";s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:10:\"priorityTV\";a:7:{s:4:\"name\";s:10:\"priorityTV\";s:4:\"desc\";s:24:\"prop_gsm.prioritytv_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:11:\"legacyProps\";a:7:{s:4:\"name\";s:11:\"legacyProps\";s:4:\"desc\";s:25:\"prop_gsm.legacyprops_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:117:\"allowedtemplates, excludeResources, excludeChildrenOf, sortByAlias, templateFilter, itemTpl, maxDepth, startId, where\";s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:13:\"legacySnippet\";a:7:{s:4:\"name\";s:13:\"legacySnippet\";s:4:\"desc\";s:27:\"prop_gsm.legacysnippet_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:21:\"GoogleSiteMapVersion1\";s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}}','',0,''),(17,0,0,'GoogleSiteMapVersion1','Old GoogleSiteMap Snippet—many times SLOWER than new version, but with more options. Beware potential server errors trying to execute this Snippet.',0,7,0,'/**\n * GoogleSiteMap (Version 1x)\n *\n * Copyright 2009-2010 by Shaun McCormick <shaun@modx.com>\n *\n * - Based on Michal Till\'s MODx Evolution GoogleSiteMap_XML snippet\n *\n * GoogleSiteMap is free software; you can redistribute it and/or modify it\n * under the terms of the GNU General Public License as published by the Free\n * Software Foundation; either version 2 of the License, or (at your option) any\n * later version.\n *\n * GoogleSiteMap is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License along with\n * GoogleSiteMap; if not, write to the Free Software Foundation, Inc., 59 Temple\n * Place, Suite 330, Boston, MA 02111-1307 USA\n *\n * @package googlesitemap\n */\n/**\n * GoogleSiteMap for MODx Revolution\n *\n * @package googlesitemap\n */\nrequire_once $modx->getOption(\'googlesitemap.core_path\',null,$modx->getOption(\'core_path\').\'components/googlesitemap/\').\'model/googlesitemap/googlesitemap.class.php\';\n$GoogleSiteMap = new GoogleSiteMap($modx,$scriptProperties);\n\n/* setup default properties */\n$googleSchema = $modx->getOption(\'googleSchema\',$scriptProperties,\'http://www.sitemaps.org/schemas/sitemap/0.9\');\n$containerTpl = $modx->getOption(\'containerTpl\',$scriptProperties,\'gContainer\');\n$startId = (int)$modx->getOption(\'startId\',$scriptProperties,0);\n\n/* get container tpl and content */\nreturn $GoogleSiteMap->getChunk($containerTpl,array(\n    \'schema\' => $googleSchema,\n    \'items\' => $GoogleSiteMap->run($startId),\n));',0,'a:19:{s:16:\"allowedtemplates\";a:7:{s:4:\"name\";s:16:\"allowedtemplates\";s:4:\"desc\";s:30:\"prop_gsm.allowedtemplates_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:7:\"context\";a:7:{s:4:\"name\";s:7:\"context\";s:4:\"desc\";s:21:\"prop_gsm.context_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:8:\"maxDepth\";a:7:{s:4:\"name\";s:8:\"maxDepth\";s:4:\"desc\";s:22:\"prop_gsm.maxdepth_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";i:0;s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:11:\"hideDeleted\";a:7:{s:4:\"name\";s:11:\"hideDeleted\";s:4:\"desc\";s:25:\"prop_gsm.hidedeleted_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:1;s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:10:\"showHidden\";a:7:{s:4:\"name\";s:10:\"showHidden\";s:4:\"desc\";s:24:\"prop_gsm.showhidden_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:0;s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:12:\"googleSchema\";a:7:{s:4:\"name\";s:12:\"googleSchema\";s:4:\"desc\";s:26:\"prop_gsm.googleschema_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:43:\"http://www.sitemaps.org/schemas/sitemap/0.9\";s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:9:\"published\";a:7:{s:4:\"name\";s:9:\"published\";s:4:\"desc\";s:23:\"prop_gsm.published_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:1;s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:10:\"searchable\";a:7:{s:4:\"name\";s:10:\"searchable\";s:4:\"desc\";s:24:\"prop_gsm.searchable_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";s:0:\"\";s:5:\"value\";b:1;s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:16:\"excludeResources\";a:7:{s:4:\"name\";s:16:\"excludeResources\";s:4:\"desc\";s:30:\"prop_gsm.excluderesources_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:17:\"excludeChildrenOf\";a:7:{s:4:\"name\";s:17:\"excludeChildrenOf\";s:4:\"desc\";s:31:\"prop_gsm.excludechildrenof_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:6:\"sortBy\";a:7:{s:4:\"name\";s:6:\"sortBy\";s:4:\"desc\";s:20:\"prop_gsm.sortby_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:9:\"menuindex\";s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:11:\"sortByAlias\";a:7:{s:4:\"name\";s:11:\"sortByAlias\";s:4:\"desc\";s:25:\"prop_gsm.sortbyalias_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:11:\"modResource\";s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:7:\"sortDir\";a:7:{s:4:\"name\";s:7:\"sortDir\";s:4:\"desc\";s:21:\"prop_gsm.sortdir_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:3:\"ASC\";s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:14:\"templateFilter\";a:7:{s:4:\"name\";s:14:\"templateFilter\";s:4:\"desc\";s:28:\"prop_gsm.templatefilter_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:2:\"id\";s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:7:\"itemTpl\";a:7:{s:4:\"name\";s:7:\"itemTpl\";s:4:\"desc\";s:21:\"prop_gsm.itemtpl_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:5:\"gItem\";s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:12:\"containerTpl\";a:7:{s:4:\"name\";s:12:\"containerTpl\";s:4:\"desc\";s:26:\"prop_gsm.containertpl_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:10:\"gContainer\";s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:7:\"startId\";a:7:{s:4:\"name\";s:7:\"startId\";s:4:\"desc\";s:21:\"prop_gsm.startid_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:1:\"0\";s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:5:\"where\";a:7:{s:4:\"name\";s:5:\"where\";s:4:\"desc\";s:19:\"prop_gsm.where_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}s:10:\"priorityTV\";a:7:{s:4:\"name\";s:10:\"priorityTV\";s:4:\"desc\";s:24:\"prop_gsm.prioritytv_desc\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:0:\"\";s:7:\"lexicon\";s:24:\"googlesitemap:properties\";s:4:\"area\";s:0:\"\";}}','',0,''),(18,0,0,'UltimateParent','Return the \"ultimate\" parent of a resource.',0,0,0,'/**\n * @name UltimateParent\n * @version 1.3\n * @author Susan Ottwell <sottwell@sottwell.com> March 2006\n * @author Al B <> May 18, 2007\n * @author S. Hamblett <shamblett@cwazy.co.uk>\n * @author Shaun McCormick <shaun@modx.com>\n * @author Jason Coward <modx@modx.com>\n *\n * @param &id The id of the document whose parent you want to find.\n * @param &top The top node for the search.\n * @param &topLevel The top level node for the search (root = level 1)\n *\n * @license Public Domain, use as you like.\n *\n * @example [[UltimateParent? &id=`45` &top=`6`]]\n * Will find the ultimate parent of document 45 if it is a child of document 6;\n * otherwise it will return 45.\n *\n * @example [[UltimateParent? &topLevel=`2`]]\n * Will find the ultimate parent of the current document at a depth of 2 levels\n * in the document hierarchy, with the root level being level 1.\n *\n * This snippet travels up the document tree from a specified document and\n * returns the \"ultimate\" parent.  Version 2.0 was rewritten to use the new\n * getParentIds function features available only in MODx 0.9.5 or later.\n *\n * Based on the original UltimateParent 1.x snippet by Susan Ottwell\n * <sottwell@sottwell.com>.  The topLevel parameter was introduced by staed and\n * adopted here.\n */\nif (!isset($modx)) return \'\';\n\n$top = isset($top) && intval($top) ? $top : 0;\n$id= isset($id) && intval($id) ? intval($id) : $modx->resource->get(\'id\');\n$topLevel= isset($topLevel) && intval($topLevel) ? intval($topLevel) : 0;\nif ($id && $id != $top) {\n    $pid = $id;\n    $pids = $modx->getParentIds($id);\n    if (!$topLevel || count($pids) >= $topLevel) {\n        while ($parentIds= $modx->getParentIds($id, 1)) {\n            $pid = array_pop($parentIds);\n            if ($pid == $top) {\n                break;\n            }\n            $id = $pid;\n            $parentIds = $modx->getParentIds($id);\n            if ($topLevel && count($parentIds) < $topLevel) {\n                break;\n            }\n        }\n    }\n}\nreturn $id;',0,NULL,'',0,''),(19,0,0,'phpthumbof','Identical to pthumb. Retained for backwards compatibility.\nDocumentation: https://github.com/oo12/phpThumbOf',0,9,0,'/**\n * pThumb\n * Copyright 2013-2014 Jason Grant\n *\n * Please see the GitHub page for documentation or to report bugs:\n * https://github.com/oo12/phpThumbOf\n *\n * Forked from phpThumbOf 1.4.0\n * Copyright 2009-2012 by Shaun McCormick <shaun@modx.com>\n *\n * pThumb is free software; you can redistribute it and/or modify it\n * under the terms of the GNU General Public License as published by the Free\n * Software Foundation; either version 2 of the License, or (at your option) any\n * later version.\n *\n * pThumb is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License along with\n * phpThumbOf; if not, write to the Free Software Foundation, Inc., 59 Temple\n * Place, Suite 330, Boston, MA 02111-1307 USA\n *\n */\n/**\n *\n * @var modX $modx\n * @var array $scriptProperties\n * @var string $input\n * @var string|array $options\n *\n */\n\nif (empty($input)) {  // Exit quietly if no file name given\n	return;\n}\n\n$scriptProperties[\'debug\'] = isset($debug) ? $debug : false;\n\n\nstatic $pt_settings = array();\n\nif (empty($pt_settings)) {\n	if (!$modx->loadClass(\'phpThumbOf\', MODX_CORE_PATH . \'components/phpthumbof/model/\', true, true)) {\n		$modx->log(modX::LOG_LEVEL_ERROR, \'[pThumb] Could not load phpThumbOf class.\');\n		return $input;\n	}\n}\n\n$pThumb = new phpThumbOf($modx, $pt_settings, $scriptProperties);\n\n$result = $pThumb->createThumbnail($input, $options);\n\nif (!empty($toPlaceholder) || $result[\'outputDims\']) {\n	if ($result[\'width\'] === \'\' && $result[\'file\'] && $dims = getimagesize($result[\'file\']) ) {\n			$result[\'width\'] = $dims[0];\n			$result[\'height\'] = $dims[1];\n	}\n	if (!empty($toPlaceholder)) {\n		$modx->setPlaceholders(array(\n			$toPlaceholder => $result[\'src\'],\n			\"$toPlaceholder.width\" => $result[\'width\'],\n			\"$toPlaceholder.height\" => $result[\'height\']\n		));\n		$output = \'\';\n	}\n	if ($result[\'outputDims\']) {\n		$output = \"src=\\\"{$result[\'src\']}\\\"\" . ($result[\'width\'] ? \" width=\\\"{$result[\'width\']}\\\" height=\\\"{$result[\'height\']}\\\"\" : \'\');\n	}\n}\nelse {\n	$output = $result[\'src\'];\n}\n\nif ($debug && $result[\'success\']) {  // if debugging is on and createThumbnail was successful, log the debug info\n	$pThumb->debugmsg(isset($pThumb->phpThumb->debugmessages) ? \':: Processed ::\' : \":: Loaded from cache: {$result[\'src\']}\", true);\n}\n\nreturn $output;',0,'a:1:{s:5:\"debug\";a:7:{s:4:\"name\";s:5:\"debug\";s:4:\"desc\";s:22:\"prop_pthumb.debug_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";a:0:{}s:5:\"value\";b:0;s:7:\"lexicon\";s:18:\"phpthumbof:default\";s:4:\"area\";s:0:\"\";}}','',0,''),(20,0,0,'pthumb','Identical to phpthumbof. Better for future compatibility.\nDocumentation: https://github.com/oo12/phpThumbOf',0,9,0,'/**\n * pThumb\n * Copyright 2013-2014 Jason Grant\n *\n * Please see the GitHub page for documentation or to report bugs:\n * https://github.com/oo12/phpThumbOf\n *\n * Forked from phpThumbOf 1.4.0\n * Copyright 2009-2012 by Shaun McCormick <shaun@modx.com>\n *\n * pThumb is free software; you can redistribute it and/or modify it\n * under the terms of the GNU General Public License as published by the Free\n * Software Foundation; either version 2 of the License, or (at your option) any\n * later version.\n *\n * pThumb is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License along with\n * phpThumbOf; if not, write to the Free Software Foundation, Inc., 59 Temple\n * Place, Suite 330, Boston, MA 02111-1307 USA\n *\n */\n/**\n *\n * @var modX $modx\n * @var array $scriptProperties\n * @var string $input\n * @var string|array $options\n *\n */\n\nif (empty($input)) {  // Exit quietly if no file name given\n	return;\n}\n\n$scriptProperties[\'debug\'] = isset($debug) ? $debug : false;\n\n\nstatic $pt_settings = array();\n\nif (empty($pt_settings)) {\n	if (!$modx->loadClass(\'phpThumbOf\', MODX_CORE_PATH . \'components/phpthumbof/model/\', true, true)) {\n		$modx->log(modX::LOG_LEVEL_ERROR, \'[pThumb] Could not load phpThumbOf class.\');\n		return $input;\n	}\n}\n\n$pThumb = new phpThumbOf($modx, $pt_settings, $scriptProperties);\n\n$result = $pThumb->createThumbnail($input, $options);\n\nif (!empty($toPlaceholder) || $result[\'outputDims\']) {\n	if ($result[\'width\'] === \'\' && $result[\'file\'] && $dims = getimagesize($result[\'file\']) ) {\n			$result[\'width\'] = $dims[0];\n			$result[\'height\'] = $dims[1];\n	}\n	if (!empty($toPlaceholder)) {\n		$modx->setPlaceholders(array(\n			$toPlaceholder => $result[\'src\'],\n			\"$toPlaceholder.width\" => $result[\'width\'],\n			\"$toPlaceholder.height\" => $result[\'height\']\n		));\n		$output = \'\';\n	}\n	if ($result[\'outputDims\']) {\n		$output = \"src=\\\"{$result[\'src\']}\\\"\" . ($result[\'width\'] ? \" width=\\\"{$result[\'width\']}\\\" height=\\\"{$result[\'height\']}\\\"\" : \'\');\n	}\n}\nelse {\n	$output = $result[\'src\'];\n}\n\nif ($debug && $result[\'success\']) {  // if debugging is on and createThumbnail was successful, log the debug info\n	$pThumb->debugmsg(isset($pThumb->phpThumb->debugmessages) ? \':: Processed ::\' : \":: Loaded from cache: {$result[\'src\']}\", true);\n}\n\nreturn $output;',0,'a:1:{s:5:\"debug\";a:7:{s:4:\"name\";s:5:\"debug\";s:4:\"desc\";s:22:\"prop_pthumb.debug_desc\";s:4:\"type\";s:13:\"combo-boolean\";s:7:\"options\";a:0:{}s:5:\"value\";b:0;s:7:\"lexicon\";s:18:\"phpthumbof:default\";s:4:\"area\";s:0:\"\";}}','',0,''),(21,0,0,'getUrlParam','',0,11,0,'/**\n *\n * getUrlParam\n *\n * A simple snippet to return a value passed through a URL parameter.\n *\n * @ author Paul Merchant\n * @ copyright 2010 Paul Merchant\n * @ version 1.0.0 - October 15, 2010\n * @ MIT License\n *\n * OPTIONS\n * name - The parameter name, defaults to p\n * int - (Opt) Set as true to only allow integer values\n * max - (Opt) The maximum length of the returned value, defaults to 20\n * default - (Opt) The value returned if no URL parameter is found\n *\n * Example: [[getUrlParam? &name=`pageid` &int=`1`]]\n *\n**/\n\n// set defaults\n$name = $modx->getOption(\'name\',$scriptProperties,\'p\');\n$int = $modx->getOption(\'int\',$scriptProperties,false);\n$max = $modx->getOption(\'max\',$scriptProperties,20);\n$output = $modx->getOption(\'default\',$scriptProperties,\'\');\n\n// get the sanitized value if there is one\nif (isset($_GET[$name])) {\n    if ($int) {\n        $value = intval($_GET[$name]);\n    } else {\n        if (strlen($_GET[$name]) > $max) {\n            $value = filter_var(substr($_GET[$name],0,$max), FILTER_SANITIZE_STRING);\n        } else {\n            $value = filter_var($_GET[$name], FILTER_SANITIZE_STRING);\n        }\n    }\n    $output = $value;\n}\n\nreturn $output;',0,'a:0:{}','',0,''),(22,0,0,'getDate','A simple timestamp retrieval Snippet for MODX Revolution.',0,12,0,'/**\r\n * A simple timestamp retrieval Snippet for MODX Revolution.\r\n *\r\n * @author David Pede <dev@tasianmedia.com> <https://twitter.com/davepede>\r\n * @version 1.0.0-pl\r\n * @released November 22, 2013\r\n * @since November 22, 2013\r\n * @package getdate\r\n *\n * Copyright (C) 2013 David Pede. All rights reserved. <dev@tasianmedia.com>\n *\r\n * getDate is free software; you can redistribute it and/or modify it under the\r\n * terms of the GNU General Public License as published by the Free Software\r\n * Foundation; either version 2 of the License, or any later version.\r\n *\r\n * getDate is distributed in the hope that it will be useful, but WITHOUT ANY\r\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r\n * A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License along with\r\n * getDate; if not, write to the Free Software Foundation, Inc., 59 Temple\r\n * Place, Suite 330, Boston, MA 02111-1307 USA\r\n */\r\n\r\n/* set default properties */\r\n$offset = !empty($offset) ? $offset : \'\';\r\n\r\n$output = \'\';\r\n\r\n$output = strtotime(\"$offset\");\r\n\r\nreturn (string) $output;',0,'a:1:{s:6:\"offset\";a:7:{s:4:\"name\";s:6:\"offset\";s:4:\"desc\";s:137:\"The period of time to add or subtract from the current timestamp. Use relative date/time formats that the strtotime() parser understands.\";s:4:\"type\";s:9:\"textfield\";s:7:\"options\";s:0:\"\";s:5:\"value\";s:3:\"now\";s:7:\"lexicon\";N;s:4:\"area\";s:0:\"\";}}','',0,''),(23,1,0,'dateLocale','',0,0,0,'setlocale(LC_ALL, \'de_DE\');\n\nreturn strftime($options,$input);',0,'a:0:{}','',0,'');
COMMIT;

-- Dumped table `modx_site_snippets` with 23 row(s)
--

--
-- Table structure for table `modx_site_templates`
--

CREATE TABLE `modx_site_templates` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `source` int(10) unsigned NOT NULL DEFAULT 0,
  `property_preprocess` tinyint(1) unsigned NOT NULL DEFAULT 0,
  `templatename` varchar(50) NOT NULL DEFAULT '',
  `description` varchar(191) NOT NULL DEFAULT 'Template',
  `editor_type` int(11) NOT NULL DEFAULT 0,
  `category` int(11) NOT NULL DEFAULT 0,
  `icon` varchar(191) NOT NULL DEFAULT '',
  `template_type` int(11) NOT NULL DEFAULT 0,
  `content` mediumtext NOT NULL,
  `locked` tinyint(1) unsigned NOT NULL DEFAULT 0,
  `properties` text DEFAULT NULL,
  `static` tinyint(1) unsigned NOT NULL DEFAULT 0,
  `static_file` varchar(191) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  UNIQUE KEY `templatename` (`templatename`),
  KEY `category` (`category`),
  KEY `locked` (`locked`),
  KEY `static` (`static`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `modx_site_templates`
--

SET autocommit=0;
INSERT INTO `modx_site_templates` VALUES (1,0,0,'BasisTPL','Standardtemplate für die meisten Seiten',0,0,'',0,'<!doctype html>\n<html lang=\"de\">\n	<head>\n		<meta charset=\"[[++modx_charset]]\">		\n		<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n\n		<title>[[++site_name]] - [[*pagetitle]]</title>\n		\n		<meta name=”robots” content=”index, follow” />\n		<meta name=\"description\" content=\"[[*introtext]]\" />\n		<meta name=\"keywords\" content=\"Bruehlbaerbel, Brühlbärbel, Baerbel, Bärbel, Narrenzunft, NZ, Zunft, Narren, Narrenverein, Narren, Fasnet, Fasching, Fasenet, Karneval, Fasnacht, Fastnacht, Reutlingen, Mittelstadt, Baden-Württemberg, schwaebisch, schwäbisch, allemannisch, Geist, Goischt, Guggamusik, Guggen, Gugga, Brauchtum, Verein, 5. Jahreszeit, Schabernack, Maske, Larve, Haes, Häs\" />\n		\n		<meta property=\"og:title\" content=\"[[++site_name]] - [[*pagetitle]]\">\n		<meta property=\"og:image\" content=\"assets/c103_images_v7/apple-touch-icon_152x152.png\">\n		<meta property=\"og:description\" content=\"[[*introtext]]\">\n		<meta property=\"og:url\" content=\"[[++site_url]]\" />\n\n		<base href=\"[[++site_url]]\" />		\n\n		<link rel=\"icon\" href=\"assets/c103_images_v7/favicon.ico\" />\n		<link rel=\"apple-touch-icon\" href=\"assets/c103_images_v7/apple-touch-icon.png\">\n		<link rel=\"apple-touch-icon\" sizes=\"76x76\" href=\"assets/c103_images_v7/apple-touch-icon_76x76.png\">\n		<link rel=\"apple-touch-icon\" sizes=\"120x120\" href=\"assets/c103_images_v7/apple-touch-icon_120x120.png\">\n		<link rel=\"apple-touch-icon\" sizes=\"152x152\" href=\"assets/c103_images_v7/apple-touch-icon_152x152.png\">\n\n		<link rel=\"stylesheet\" type=\"text/css\" href=\"[[~11]]\" />\n		<link rel=\"stylesheet\" type=\"text/css\" href=\"[[~12]]\" />\n		[[*TplIndividualCSS]]\n	</head>\n	\n	<body>\n		<header>\n    		<div class=\"logo\">\n    	        <a href=\"[[++site_url]]\" class=\"noMobil\"><img src=\"assets/c103_images_v7/logo.png\" alt=\"NZ Brühlbärbel\" /></a>\n     			<a href=\"[[++site_url]]\" class=\"noDesktop\"><img src=\"assets/c103_images_v7/logo-mobil.png\" alt=\"NZ Brühlbärbel\" /></a>\n   	    	</div>\n\n			<div class=\"nav\">\n		    	<nav id=\"level1\" class=\"noMobil\">\n					[[!Wayfinder? \n						&startId=`0` \n						&level=`1`\n						&rowTpl=`wf_navE1`\n						&outerTpl=`wf_outerTPL`\n					]]\n					 \n	                <div id=\"loginBox\">\n				        [[!Login? \n        					&loginResourceId=`7`\n        					&logoutResourceId=`51`\n        					&loginTpl=`lgnLoginTpl`\n        					&logoutTpl=`lgnLogoutTpl`\n	        			]]\n    		        </div>\n				</nav>\n				\n				<nav id=\"level2\" class=\"noMobil\">\n					[[!Wayfinder? \n						&startId=`[[!UltimateParent?topLevel=`2`]]` \n						&level=`2`\n						&rowTpl=`wf_navE2`\n						&outerTpl=`wf_outerTPL`]]\n				</nav>\n				\n				<button class=\"hamburger hamburger--collapse noDesktop\" type=\"button\">\n                    <span class=\"hamburger-box\">\n                        <span class=\"hamburger-inner\"></span>\n                    </span>\n                </button> \n			</div>\n			\n		    <div class=\"mobilnav hamburger--collapse noDesktop\" style=\"display: none;\">\n    			[[!Wayfinder?\n    				&startId=`0` \n    				&level=`2`\n    				&outerClass=``\n    			]]\n    \n    			<div class=\"noDesktop\">\n    			    [[!Login? \n    			    	&loginResourceId=`7`\n    			    	&logoutResourceId=`51`\n    			    	&loginTpl=`lgnLoginTplMobil`\n    		    		&logoutTpl=`lgnLogoutTplMobil`\n    		        ]]\n    		    </div>\n    		</div>\n		</header>\n		\n		<main>\n			<div class=\"headline\">\n				<h1>[[*longtitle]]</h1>			\n			</div>\n            \n            <article>\n                [[*content]]\n            </article>\n        </main>\n				\n		<footer>\n[[-			<div class=\"teaser\">\n				<ul id=\"kalender\">\n					[[!Rowboat?\n						&table=`c103_v_kalender`\n						&tpl=`rowb_calFooter`\n						&where=`{\"intFlag:=\":\"0\" , \"kat:!=\":\"Ausschuss\"}`\n						&limit=`3`\n						&cache=`300`\n					]]\n				</ul>\n				<a href=\"[[~6]]\"><span class=\"lsf\">right</span>Alle Termine anzeigen</a>\n			</div>\n]]			\n			<div class=\"impressum\">\n				<h3>Narrenzunft Brühlbärbel Mittelstadt e.V.</h3>\n				<p>Heerstr. 7<br />\n				72766 Reutlingen-Mittelstadt</p>\n\n				<p><span class=\"grd70px lsf\">mail</span><a href=\"mailto:info@bruehlbaerbel.de\">info@bruehlbaerbel.de</a><br />\n\n				<h3>1. Vorstand</h3>\n				<p>Steffen Neuscheler<br /> \n				<span class=\"grd70px lsf\">mail</span><a href=\"mailto:steffen@bruehlbaerbel.de\">steffen@bruehlbaerbel.de</a></p>\n				\n				<h3>Vereinsregister</h3>\n				<p>Registergericht: Amtsgericht Stuttgart<br /> \n				Registernummer: VR 351176</p> \n\n				<h3>Inhaltlich Verantwortlicher gemäß §6 MDStV</h3>\n				<p>Christian Galster<br />\n				<span class=\"grd70px lsf\">mail</span><a href=\"mailto:christian@bruehlbaerbel.de\">christian@bruehlbaerbel.de</a></p>\n			</div>\n\n			<div class=\"social\">\n					<a href=\"https://www.instagram.com/nzbruehlbaerbel/\" target=\"_blank\"><span class=\"grd70px lsf\">instagram</span></a>\n					<a href=\"https://www.facebook.com/nzbruehlbaerbel\" target=\"_blank\"><span class=\"grd70px lsf\">facebook</span></a>\n					Logo\n			</div>\n			<div class=\"copy\">\n			    &copy; 2022 NZ Brühlbärbel Mittelstadt e.V.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"[[~53]]\">Rechtliche Hinweise & Datenschutzerklärung</a>\n			</div>\n		</footer>\n		\n		<script src=\"[[~42]]\"></script>\n\n		<script src=\"[[~44]]\"\n			id=\"cookieinfo\"\n			data-message=\"Diese Webseite verwendet Cookies. Durch die weitere Nutzung der Webseite stimmst Du der Verwendung von Cookies zu.\"\n			data-linkmsg=\"Weitere Informationen zur Cookies-Verwendung\"\n			data-moreinfo=\"[[~53]]\"\n			data-close-text=\"Schließen\"\n			data-cookie=\"CookieScript\"\n			data-cookie-path=\"/\"\n			data-expires=\"[[!getDate:date=`%a, %d %b %Y 00:00:00 GMT`? &offset=`1 year`]]\"\n			data-position=\"bottom\"\n			data-effect=\"null\"\n			data-bg=\"#333333\"\n			data-fg=\"#FFFFFF\"\n			data-link=\"#EF8963\"\n			data-divlinkbg=\"#D67A58\"\n			data-text-align=\"left\">	\n		</script>\n\n		[[*TplIndividualJSScript]]\n\n		<script>\n			$(document).ready(function() {\n				/* jQuery Toggle\n				********************************************/\n				$(\'div.mobilnav\').hide();\n				$(\'button.hamburger\').click(function(){\n					$(this).toggleClass(\'is-active\');\n					$(\'div.mobilnav\').toggleClass(\'is-active\').slideToggle(\'fast\');\n				});\n\n\n		[[*TplIndividualJSSnippet]]\n\n			});\n		</script>\n		\n        <!-- Matomo -->\n        <script type=\"text/javascript\">\n          var _paq = window._paq || [];\n          /* tracker methods like \"setCustomDimension\" should be called before \"trackPageView\" */\n          _paq.push([\"setDocumentTitle\", document.domain + \"/\" + document.title]);\n          _paq.push([\"setCookieDomain\", \"*.www.bruehlbaerbel.de\"]);\n          _paq.push([\"setDomains\", [\"*.www.bruehlbaerbel.de\",\"*.bruehlbaerbel.de\",\"*.bruehlbaerbel.de\",\"*.www.bruehlbaerbel.de\"]]);\n          _paq.push([\'trackPageView\']);\n          _paq.push([\'enableLinkTracking\']);\n          (function() {\n            var u=\"//analytics.bruehlbaerbel.de/\";\n            _paq.push([\'setTrackerUrl\', u+\'matomo.php\']);\n            _paq.push([\'setSiteId\', \'1\']);\n            var d=document, g=d.createElement(\'script\'), s=d.getElementsByTagName(\'script\')[0];\n            g.type=\'text/javascript\'; g.async=true; g.defer=true; g.src=u+\'matomo.js\'; s.parentNode.insertBefore(g,s);\n          })();\n        </script>\n        <noscript><p><img src=\"//analytics.bruehlbaerbel.de/matomo.php?idsite=1&amp;rec=1\" style=\"border:0;\" alt=\"\" /></p></noscript>\n        <!-- End Matomo Code -->\n	</body>\n</html>',0,'a:0:{}',0,''),(3,0,0,'Print Dokumente','Standardtemplate für die meisten Seiten',0,0,'',0,'<!DOCTYPE html> \n	<head>\n		<link rel=\"icon\" href=\"assets/c103_images_v7/favicon.ico\" />\n		<link rel=\"apple-touch-icon\" href=\"assets/c103_images_v7/apple-touch-icon.png\">\n		<link rel=\"apple-touch-icon\" sizes=\"76x76\" href=\"assets/c103_images_v7/apple-touch-icon_76x76.png\">\n		<link rel=\"apple-touch-icon\" sizes=\"120x120\" href=\"assets/c103_images_v7/apple-touch-icon_120x120.png\">\n		<link rel=\"apple-touch-icon\" sizes=\"152x152\" href=\"assets/c103_images_v7/apple-touch-icon_152x152.png\">\n		<link rel=\"stylesheet\" type=\"text/css\" href=\"[[~41]]\" />\n\n\n\n\n		<meta charset=\"[[++modx_charset]]\">		\n		<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n\n		<title>[[++site_name]] - [[*pagetitle]]</title>\n		\n		<meta name=”robots” content=”noindex, nofollow” />\n\n		<meta property=\"og:title\" content=\"[[++site_name]] - [[*pagetitle]]\">\n		<meta property=\"og:image\" content=\"assets/c103_images_v7/apple-touch-icon_152x152.png\">\n		<meta property=\"og:description\" content=\"[[*introtext]]\">\n		<meta property=\"og:url\" content=\"[[++site_url]]\" />\n\n		<base href=\"[[++site_url]]\" />		\n\n		<link rel=\"icon\" href=\"assets/c103_images_v7/favicon.ico\" />\n		<link rel=\"apple-touch-icon\" href=\"assets/c103_images_v7/apple-touch-icon.png\">\n		<link rel=\"apple-touch-icon\" sizes=\"76x76\" href=\"assets/c103_images_v7/apple-touch-icon_76x76.png\">\n		<link rel=\"apple-touch-icon\" sizes=\"120x120\" href=\"assets/c103_images_v7/apple-touch-icon_120x120.png\">\n		<link rel=\"apple-touch-icon\" sizes=\"152x152\" href=\"assets/c103_images_v7/apple-touch-icon_152x152.png\">\n\n		<link rel=\"stylesheet\" type=\"text/css\" href=\"[[~41]]\" />\n		[[*TplIndividualCSS]]\n	</head>\n\n<body>		\n	<article>\n		<h1>[[*longtitle]] <img style=\"float:right;\" src=\"assets/c103_images_v7/logo-S.png\" alt=\"NZ Brühlbärbel Mittelstadt e.V.\" /></h1>\n\n		<section>\n			[[*content]]\n		</section>\n	</article>\n\n	<footer>\n		<div>  \n			<span></span> \n		</div>\n	</footer>\n</body>\n</html>\n',0,'a:0:{}',0,''),(4,0,0,'BasicTest','Standardtemplate für die meisten Seiten',0,0,'',0,'<!doctype html>\n<html lang=\"de\">\n	<head>\n		<meta charset=\"[[++modx_charset]]\">		\n		<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n\n		<title>[[++site_name]] - [[*pagetitle]]</title>\n		\n		<meta name=”robots” content=”index, follow” />\n		<meta name=\"description\" content=\"[[*introtext]]\" />\n		<meta name=\"keywords\" content=\"Bruehlbaerbel, Brühlbärbel, Baerbel, Bärbel, Narrenzunft, NZ, Zunft, Narren, Narrenverein, Narren, Fasnet, Fasching, Fasenet, Karneval, Fasnacht, Fastnacht, Reutlingen, Mittelstadt, Baden-Württemberg, schwaebisch, schwäbisch, allemannisch, Geist, Goischt, Guggamusik, Guggen, Gugga, Brauchtum, Verein, 5. Jahreszeit, Schabernack, Maske, Larve, Haes, Häs\" />\n		\n		<meta property=\"og:title\" content=\"[[++site_name]] - [[*pagetitle]]\">\n		<meta property=\"og:image\" content=\"assets/c103_images_v7/apple-touch-icon_152x152.png\">\n		<meta property=\"og:description\" content=\"[[*introtext]]\">\n		<meta property=\"og:url\" content=\"[[++site_url]]\" />\n\n		<base href=\"[[++site_url]]\" />		\n\n		<link rel=\"icon\" href=\"assets/c103_images_v7/favicon.ico\" />\n		<link rel=\"apple-touch-icon\" href=\"assets/c103_images_v7/apple-touch-icon.png\">\n		<link rel=\"apple-touch-icon\" sizes=\"76x76\" href=\"assets/c103_images_v7/apple-touch-icon_76x76.png\">\n		<link rel=\"apple-touch-icon\" sizes=\"120x120\" href=\"assets/c103_images_v7/apple-touch-icon_120x120.png\">\n		<link rel=\"apple-touch-icon\" sizes=\"152x152\" href=\"assets/c103_images_v7/apple-touch-icon_152x152.png\">\n\n		<link rel=\"stylesheet\" type=\"text/css\" href=\"[[~60]]\" />\n		<link rel=\"stylesheet\" type=\"text/css\" href=\"[[~12]]\" />\n		[[*TplIndividualCSS]]\n	</head>\n	\n	<body>\n		<header>\n    		<div class=\"logo\">\n   	    	</div>\n\n			<div class=\"nav\">\n				<button class=\"hamburger hamburger--collapse noDesktop\" type=\"button\">\n                    <span class=\"hamburger-box\">\n                        <span class=\"hamburger-inner\"></span>\n                    </span>\n                </button> \n			</div>\n			\n		    <div class=\"mobilnav hamburger--collapse noDesktop\" style=\"display: none;\">\n    			[[!Wayfinder?\n    				&startId=`0` \n    				&level=`2`\n    				&outerClass=``\n    			]]\n    \n    			<div class=\"noDesktop\">\n    			  [[!Login? \n    				&loginResourceId=`49`\n    				&logoutResourceId=`57`\n    				&loginTpl=`lgnLoginTplMobil`\n    				&logoutTpl=`lgnLogoutTplMobil`\n    			  ]]\n    			  </div>\n    		</div>\n\n		</header>\n		\n		<main>\n			<div class=\"headline\">\n				<h1>[[*longtitle]]</h1>			\n			</div>\n            \n            <article>\n                [[*content]]\n            </article>\n        </main>\n				\n		<footer>\n			<div class=\"teaser\">\n				<ul id=\"kalender\">\n					[[!Rowboat?\n						&table=`c103_v_kalender`\n						&tpl=`rowb_calFooter`\n						&where=`{\"intFlag:=\":\"0\" , \"kat:!=\":\"Ausschuss\"}`\n						&limit=`3`\n						&cache=`300`\n					]]\n				</ul>\n				<a href=\"[[~6]]\"><span class=\"lsf\">right</span>Alle Termine anzeigen</a>\n			</div>\n			\n			<div class=\"impressum\">\n				<h3>Narrenzunft Brühlbärbel Mittelstadt e.V.</h3>\n				<p>Heerstr. 7<br />\n				72766 Reutlingen-Mittelstadt</p>\n\n				<p><span class=\"grd70px lsf\">mail</span><a href=\"mailto:info@bruehlbaerbel.de\">info@bruehlbaerbel.de</a><br />\n\n				<h3>1. Vorstand</h3>\n				<p>Steffen Neuscheler<br /> \n				<span class=\"grd70px lsf\">mail</span><a href=\"mailto:steffen@bruehlbaerbel.de\">steffen@bruehlbaerbel.de</a></p>\n				\n				<h3>Vereinsregister</h3>\n				<p>Registergericht: Amtsgericht Stuttgart<br /> \n				Registernummer: VR 351176</p> \n\n				<h3>Inhaltlich Verantwortlicher gemäß §6 MDStV</h3>\n				<p>Christian Galster<br />\n				<span class=\"grd70px lsf\">mail</span><a href=\"mailto:christian@bruehlbaerbel.de\">christian@bruehlbaerbel.de</a></p>\n			</div>\n\n			<div class=\"social\">\n					<a href=\"https://www.instagram.com/nzbruehlbaerbel/\" target=\"_blank\"><span class=\"grd70px lsf\">instagram</span></a>\n					<a href=\"https://www.facebook.com/nzbruehlbaerbel\" target=\"_blank\"><span class=\"grd70px lsf\">facebook</span></a>\n					Logo\n			</div>\n			<div class=\"copy\">\n			    &copy; 2019 NZ Brühlbärbel Mittelstadt e.V.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"[[~53]]\">Rechtliche Hinweise & Datenschutzerklärung</a>\n			</div>\n		</footer>\n		\n		<script src=\"[[~42]]\"></script>\n\n		<script src=\"[[~44]]\"\n			id=\"cookieinfo\"\n			data-message=\"Diese Webseite verwendet Cookies. Durch die weitere Nutzung der Webseite stimmst Du der Verwendung von Cookies zu.\"\n			data-linkmsg=\"Weitere Informationen zur Cookies-Verwendung\"\n			data-moreinfo=\"[[~53]]\"\n			data-close-text=\"Schließen\"\n			data-cookie=\"CookieScript\"\n			data-cookie-path=\"/\"\n			data-expires=\"[[!getDate:date=`%a, %d %b %Y 00:00:00 GMT`? &offset=`1 year`]]\"\n			data-position=\"bottom\"\n			data-effect=\"null\"\n			data-bg=\"#333333\"\n			data-fg=\"#FFFFFF\"\n			data-link=\"#EF8963\"\n			data-divlinkbg=\"#D67A58\"\n			data-text-align=\"left\">	\n		</script>\n\n		[[*TplIndividualJSScript]]\n\n		<script>\n			$(document).ready(function() {\n				/* jQuery Toggle\n				********************************************/\n				$(\'div.mobilnav\').hide();\n				$(\'button.hamburger\').click(function(){\n					$(this).toggleClass(\'is-active\');\n					$(\'div.mobilnav\').toggleClass(\'is-active\').slideToggle(\'fast\');\n				});\n\n\n		[[*TplIndividualJSSnippet]]\n\n			});\n		</script>\n		\n		<!-- Piwik -->\n		<script>\n			var pkBaseURL = ((\"https:\" == document.location.protocol) ? \"https://c103.de/piwik/\" : \"http://c103.de/piwik/\");\n			document.write(unescape(\"%3Cscript src=\'\" + pkBaseURL + \"piwik.js\' type=\'text/javascript\'%3E%3C/script%3E\"));\n		</script>\n		<script>\n			try {\n				var piwikTracker = Piwik.getTracker(pkBaseURL + \"piwik.php\", 1);\n				piwikTracker.trackPageView();\n				piwikTracker.enableLinkTracking();\n			} catch( err ) {}\n		</script>\n		<noscript><p><img src=\"http://c103.de/piwik/piwik.php?idsite=1\" style=\"border:0\" alt=\"\" /></p></noscript>\n		<!-- End Piwik Tag -->\n	</body>\n</html>',0,'a:0:{}',0,''),(5,0,0,'BasisTPL_matcss','Standardtemplate für die meisten Seiten',0,0,'',0,'<!doctype html>\n<html lang=\"de\">\n	<head>\n		<meta charset=\"[[++modx_charset]]\">		\n		<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n\n		<title>[[++site_name]] - [[*pagetitle]]</title>\n		\n		<meta name=”robots” content=”index, follow” />\n		<meta name=\"description\" content=\"[[*introtext]]\" />\n		<meta name=\"keywords\" content=\"Bruehlbaerbel, Brühlbärbel, Baerbel, Bärbel, Narrenzunft, NZ, Zunft, Narren, Narrenverein, Narren, Fasnet, Fasching, Fasenet, Karneval, Fasnacht, Fastnacht, Reutlingen, Mittelstadt, Baden-Württemberg, schwaebisch, schwäbisch, allemannisch, Geist, Goischt, Guggamusik, Guggen, Gugga, Brauchtum, Verein, 5. Jahreszeit, Schabernack, Maske, Larve, Haes, Häs\" />\n		\n		<meta property=\"og:title\" content=\"[[++site_name]] - [[*pagetitle]]\">\n		<meta property=\"og:image\" content=\"assets/c103_images_v7/apple-touch-icon_152x152.png\">\n		<meta property=\"og:description\" content=\"[[*introtext]]\">\n		<meta property=\"og:url\" content=\"[[++site_url]]\" />\n\n		<base href=\"[[++site_url]]\" />		\n\n		<link rel=\"icon\" href=\"assets/c103_images_v7/favicon.ico\" />\n		<link rel=\"apple-touch-icon\" href=\"assets/c103_images_v7/apple-touch-icon.png\">\n		<link rel=\"apple-touch-icon\" sizes=\"76x76\" href=\"assets/c103_images_v7/apple-touch-icon_76x76.png\">\n		<link rel=\"apple-touch-icon\" sizes=\"120x120\" href=\"assets/c103_images_v7/apple-touch-icon_120x120.png\">\n		<link rel=\"apple-touch-icon\" sizes=\"152x152\" href=\"assets/c103_images_v7/apple-touch-icon_152x152.png\">\n\n        <link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\n<!-- 		<link rel=\"stylesheet\" type=\"text/css\" href=\"[[~11]]\" />-->\n		<link rel=\"stylesheet\" type=\"text/css\" href=\"[[~12]]\" /> \n		\n		<!-- Compiled and minified CSS -->\n        <link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css\">\n\n		[[*TplIndividualCSS]]\n	</head>\n	\n	<body>\n        <header class=\"row\">\n            <div class=\"navbar-fixed\">\n                <nav class=\"nav-extended grey lighten-4 black-text\">\n      	            <div class=\"container\">\n                       <div class=\"nav-wrapper\">\n                            <a href=\"[[++site_url]]\" class=\"brand-logo hide-on-small-only\"><img src=\"assets/c103_images_v7/logo.png\" alt=\"NZ Brühlbärbel\" /></a>\n                            <a href=\"[[++site_url]]\" class=\"brand-logo hide-on-large-only\"><img src=\"assets/c103_images_v7/logo-mobil.png\" alt=\"NZ Brühlbärbel\" /></a>\n                            <a href=\"#\" data-target=\"mobile-demo\" class=\"sidenav-trigger\"><i class=\"material-icons\">menu</i></a>\n    \n                            <ul id=\"nav-mobile\" class=\"right hide-on-med-and-down\">\n            					[[!Wayfinder? \n    			          			&startId=`0` \n    	           					&level=`1`\n    					        	&rowTpl=`wf_navE1_matcss`\n    					        	&outerTpl=`wf_outerTPL`\n    					        ]]\n    					        <li>\n    					            <a class=\"waves-effect waves-light btn modal-trigger\" href=\"#modal1\"><i class=\"material-icons\">login</i></a>\n                                </li>\n                            </ul>\n                            \n                                <!-- Modal Structure -->\n                                <div id=\"modal1\" class=\"modal\">\n                                    <div class=\"modal-content\">\n                                        <h4>Modal Header</h4>\n                                        <p>A bunch of text</p>\n                                    </div>\n                                    <div class=\"modal-footer\">\n                                        <a href=\"#!\" class=\"modal-close waves-effect waves-green btn-flat\">Agree</a>\n                                    </div>\n                                </div>\n                        </div>\n                        <div class=\"nav-content\">\n                            <ul class=\"tabs tabs-transparent\">\n    					        [[!Wayfinder? \n    				        		&startId=`[[!UltimateParent?topLevel=`2`]]` \n    				        		&level=`2`\n    				        		&rowTpl=`wf_navE2`\n    				        		&outerTpl=`wf_outerTPL_matcss`]]\n                            </ul>\n                        </div>\n                    </div>\n                </nav>\n            </div>\n                \n            <ul class=\"sidenav\" id=\"mobile-demo\">\n                [[!Wayfinder?\n                    &startId=`0` \n                    &level=`2`\n                    &outerClass=``\n                ]]\n            </ul>\n\n        </header>\n	    \n	    \n	    \n	    \n<!-- 		<header>\n   		<div class=\"logo\">\n    	        <a href=\"[[++site_url]]\" class=\"noMobil\"><img src=\"assets/c103_images_v7/logo.png\" alt=\"NZ Brühlbärbel\" /></a>\n     			<a href=\"[[++site_url]]\" class=\"noDesktop\"><img src=\"assets/c103_images_v7/logo-mobil.png\" alt=\"NZ Brühlbärbel\" /></a>\n   	    	</div>\n\n			<div class=\"nav\">\n		    	<nav id=\"level1\" class=\"noMobil\">\n					[[!Wayfinder? \n						&startId=`0` \n						&level=`1`\n						&rowTpl=`wf_navE1`\n						&outerTpl=`wf_outerTPL`\n					]]\n### fehlt start					 \n	                <div id=\"loginBox\">\n				        [[!Login? \n        					&loginResourceId=`7`\n        					&logoutResourceId=`51`\n        					&loginTpl=`lgnLoginTpl`\n        					&logoutTpl=`lgnLogoutTpl`\n	        			]]\n    		        </div>\n### fehlt ende				</nav>\n			\n				<nav id=\"level2\" class=\"noMobil\">\n					[[!Wayfinder? \n						&startId=`[[!UltimateParent?topLevel=`2`]]` \n						&level=`2`\n						&rowTpl=`wf_navE2`\n						&outerTpl=`wf_outerTPL`]]\n				</nav>\n				\n				<button class=\"hamburger hamburger--collapse noDesktop\" type=\"button\">\n                    <span class=\"hamburger-box\">\n                        <span class=\"hamburger-inner\"></span>\n                    </span>\n                </button> \n			</div>\n\n		    <div class=\"mobilnav hamburger--collapse noDesktop\" style=\"display: none;\">\n    			[[!Wayfinder?\n    				&startId=`0` \n    				&level=`2`\n    				&outerClass=``\n    			]]\n    \n### fehlt start    			<div class=\"noDesktop\">\n    			    [[!Login? \n    			    	&loginResourceId=`7`\n    			    	&logoutResourceId=`51`\n    			    	&loginTpl=`lgnLoginTplMobil`\n    		    		&logoutTpl=`lgnLogoutTplMobil`\n    		        ]]\n### fehlt ende    		    </div>\n    		</div>\n		</header>\n-->		\n		<main class=\"row\">\n            <div class=\"container\">\n    			<div class=\"headline\">\n	    			<h1>[[*longtitle]]</h1>			\n	    		</div>\n            \n                <article>\n                    [[*content]]\n                </article>\n            </div>\n        </main>\n				\n				\n				\n				\n				\n        <footer class=\"page-footer grey darken-2\">\n            <div class=\"container\">\n[[-			<div class=\"teaser\">\n				<ul id=\"kalender\">\n					[[!Rowboat?\n						&table=`c103_v_kalender`\n						&tpl=`rowb_calFooter`\n						&where=`{\"intFlag:=\":\"0\" , \"kat:!=\":\"Ausschuss\"}`\n						&limit=`3`\n						&cache=`300`\n					]]\n				</ul>\n				<a href=\"[[~6]]\"><span class=\"lsf\">right</span>Alle Termine anzeigen</a>\n			</div>\n]]\n\n                <div class=\"row\">\n                    <div class=\"col l7 s12\">\n                        <h4 class=\"white-text\">Narrenzunft Brühlbärbel Mittelstadt e.V.</h4>\n		        		<p>Heerstr. 7<br />\n		        		72766 Reutlingen-Mittelstadt</p>\n\n		        		<p><a href=\"mailto:info@bruehlbaerbel.de\"><i class=\"material-icons\">email</i> info@bruehlbaerbel.de</a><br />\n\n		        		<h5>1. Vorstand</h5>\n		        		<p>Steffen Neuscheler<br /> \n			        	<a href=\"mailto:steffen@bruehlbaerbel.de\"><i class=\"material-icons\">email</i> steffen@bruehlbaerbel.de</a></p>\n				\n		        		<h5>Vereinsregister</h5>\n		        		<p>Registergericht: Amtsgericht Stuttgart<br /> \n		        		Registernummer: VR 351176</p> \n\n			        	<h5>Inhaltlich Verantwortlicher gemäß §6 MDStV</h5>\n		        		<p>Christian Galster<br />\n			        	<a href=\"mailto:christian@bruehlbaerbel.de\"><i class=\"material-icons\">email</i> christian@bruehlbaerbel.de</a></p>\n                    </div>\n                    <div class=\"col l4 offset-l1 s12\">\n                        <h5 class=\"white-text\">Links</h5>\n                        <ul>\n                            <li><a class=\"grey-text text-lighten-3\" href=\"https://www.instagram.com/nzbruehlbaerbel/\" target=\"_blank\"><i class=\"material-icons\">instagram</i> Instagram</a></li>\n                            <li><a class=\"grey-text text-lighten-3\" href=\"https://www.facebook.com/nzbruehlbaerbel\" target=\"_blank\"><i class=\"material-icons\">facebook</i> Facebook</a></li>\n                        </ul>\n                    </div>\n                </div>\n            </div>\n            <div class=\"footer-copyright\">\n                <div class=\"container\">\n                    © 2020 NZ Brühlbärbel Mittelstadt e.V.\n                    <a class=\"grey-text text-lighten-4 right\" href=\"[[~53]]\">Rechtliche Hinweise & Datenschutzerklärung</a>\n                </div>\n            </div>\n        </footer>\n\n\n        <!-- Compiled and minified JavaScript -->\n        <script src=\"https://code.jquery.com/jquery-3.2.1.min.js\"></script>\n        <script src=\"https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js\"></script>\n\n\n		<script src=\"[[~44]]\"\n			id=\"cookieinfo\"\n			data-message=\"Diese Webseite verwendet Cookies. Durch die weitere Nutzung der Webseite stimmst Du der Verwendung von Cookies zu.\"\n			data-linkmsg=\"Weitere Informationen zur Cookies-Verwendung\"\n			data-moreinfo=\"[[~53]]\"\n			data-close-text=\"Schließen\"\n			data-cookie=\"CookieScript\"\n			data-cookie-path=\"/\"\n			data-expires=\"[[!getDate:date=`%a, %d %b %Y 00:00:00 GMT`? &offset=`1 year`]]\"\n			data-position=\"bottom\"\n			data-effect=\"null\"\n			data-bg=\"#333333\"\n			data-fg=\"#FFFFFF\"\n			data-link=\"#EF8963\"\n			data-divlinkbg=\"#D67A58\"\n			data-text-align=\"left\">	\n		</script>\n\n		[[*TplIndividualJSScript]]\n		<script>\n            $(document).ready(function(){\n                $(\'.modal\').modal();\n            });		\n		\n\n		\n		[[*TplIndividualJSSnippet]]\n\n			});\n		</script>\n		\n        <!-- Matomo -->\n        <script type=\"text/javascript\">\n          var _paq = window._paq || [];\n          /* tracker methods like \"setCustomDimension\" should be called before \"trackPageView\" */\n          _paq.push([\"setDocumentTitle\", document.domain + \"/\" + document.title]);\n          _paq.push([\"setCookieDomain\", \"*.www.bruehlbaerbel.de\"]);\n          _paq.push([\"setDomains\", [\"*.www.bruehlbaerbel.de\",\"*.bruehlbaerbel.de\",\"*.bruehlbaerbel.de\",\"*.www.bruehlbaerbel.de\"]]);\n          _paq.push([\'trackPageView\']);\n          _paq.push([\'enableLinkTracking\']);\n          (function() {\n            var u=\"//analytics.bruehlbaerbel.de/\";\n            _paq.push([\'setTrackerUrl\', u+\'matomo.php\']);\n            _paq.push([\'setSiteId\', \'1\']);\n            var d=document, g=d.createElement(\'script\'), s=d.getElementsByTagName(\'script\')[0];\n            g.type=\'text/javascript\'; g.async=true; g.defer=true; g.src=u+\'matomo.js\'; s.parentNode.insertBefore(g,s);\n          })();\n        </script>\n        <noscript><p><img src=\"//analytics.bruehlbaerbel.de/matomo.php?idsite=1&amp;rec=1\" style=\"border:0;\" alt=\"\" /></p></noscript>\n        <!-- End Matomo Code -->\n	</body>\n</html>',0,'a:0:{}',0,'');
COMMIT;

-- Dumped table `modx_site_templates` with 4 row(s)
--

--
-- Table structure for table `modx_site_tmplvar_access`
--

CREATE TABLE `modx_site_tmplvar_access` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `tmplvarid` int(10) NOT NULL DEFAULT 0,
  `documentgroup` int(10) NOT NULL DEFAULT 0,
  PRIMARY KEY (`id`),
  KEY `tmplvar_template` (`tmplvarid`,`documentgroup`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `modx_site_tmplvar_access`
--

SET autocommit=0;
COMMIT;

-- Dumped table `modx_site_tmplvar_access` with 0 row(s)
--

--
-- Table structure for table `modx_site_tmplvar_contentvalues`
--

CREATE TABLE `modx_site_tmplvar_contentvalues` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `tmplvarid` int(10) NOT NULL DEFAULT 0,
  `contentid` int(10) NOT NULL DEFAULT 0,
  `value` mediumtext NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `tv_cnt` (`tmplvarid`,`contentid`),
  KEY `tmplvarid` (`tmplvarid`),
  KEY `contentid` (`contentid`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `modx_site_tmplvar_contentvalues`
--

SET autocommit=0;
INSERT INTO `modx_site_tmplvar_contentvalues` VALUES (1,17,14,'		/* jQuery Fasnetsübersicht\r\n		********************************************/\r\n		$(\'div.fasnetDauer[data-dauer]\').each(function(){\r\n			var dauer = $(this).data(\'dauer\');\r\n			$(this).css( \"width\", 100/62.5* + dauer + \"%\" ).html( dauer + \' Tage\');\r\n		});\r\n\r\n'),(2,16,25,'<script src=\"[[~43]]\"></script>'),(3,17,25,'		/* jQuery List-Filter\r\n		********************************************/\r\n		var options = {\r\n			valueNames: [ \'search1\', \'search2\', \'search3\', \'search4\', \'search5\', \'search6\', \'search7\', \'search8\', \'search9\' ]\r\n		};\r\n		var featureList = new List(\'searchList\', options);\r\n\r\n\r\n		/* jQuery Toggle\r\n		********************************************/\r\n		$(\'ul.toggle li div.hidden\').hide();\r\n		$(\'ul.toggle li div.visible\').click(function(){\r\n			$(this).toggleClass(\'active\').next().slideToggle(\'fast\');\r\n		});\r\n'),(4,17,26,'[[!+modx.user.id:memberof=`Ausschuss`:then=`\r\n$(function(){\r\n	var arr = [ [[!Rowboat:empty=`Keine Daten verfügbar.`?\r\n		&table=`c103_v_mitglieder`\r\n		&tpl=`rowb_laufnrArray`\r\n		&limit=`100`\r\n		&where=`{\"Laufnr:>\":\"0\" , \"Status:LIKE\":\"aktiv\"}`\r\n		&sortBy=`Laufnr`]] ];\r\n	var erg = \"\";\r\n\r\n	for (var value = 1; value < 100; value++){\r\n		if ($.inArray(value, arr) == -1){ erg += \'<div class=\"nr\">\' + value + \'</div>\'; }\r\n	};\r\n	$(\"div#freieNr\").html(erg);\r\n});\r\n`]]'),(5,17,6,'		/* jQuery Toggle\r\n		********************************************/\r\n		$(\'ul.toggle li div.hidden\').hide();\r\n		$(\'ul.toggle li div.visible\').click(function(){\r\n			$(this).toggleClass(\'active\').next().slideToggle(\'fast\');\r\n		});\r\n'),(6,17,7,'		/* jQuery Toggle\r\n		********************************************/\r\n		$(\'ul.toggle li div.hidden\').hide();\r\n		$(\'ul.toggle li div.visible\').click(function(){\r\n			$(this).toggleClass(\'active\').next().slideToggle(\'fast\');\r\n		});\r\n\r\n		/* jQuery Fahrkarten\r\n		********************************************/\r\n		$(\'div.busOverview\').each(function(){\r\n			var maxplaetze = $(this).data(\'maxplaetze\');\r\n			var sumtickets = $(this).find(\'.busStatus\').data(\'sumtickets\');\r\n			var busstatus = $(this).find(\'.busStatus\').data(\'busstatus\');\r\n\r\n			/* Nachfolgend Zeile: 51 = maximale Busgröße (Anzahl Plätze) */\r\n			$(this).css({width : 100 / 51 * maxplaetze + \"%\" });\r\n			$(this).find(\'.busStatus\').css({ width : 100 / maxplaetze * sumtickets + \"%\" }).html( sumtickets + \' Tickets \' + busstatus );\r\n		});\r\n\r\n\r\n		/* jQuery Fahrkarten\r\n		********************************************/\r\n		$(\'div.fahrkarten[data-fkSum]\').each(function(){\r\n			var fkSum = $(this).data(\'fkSum\');\r\n			$(this).css( \"width\", 100/62.5* + fkSum + \"%\" ).html( fkSum + \' Tage\' );\r\n		});\r\n'),(7,17,2,'  /* Countdown\r\n   ********************************************/\r\n  var currentTime = new Date()\r\n  var currDate = new Date($.now()); //Todays Date\r\n  var iniPastedDate = \"1/6/2023\" //End Date\r\n\r\n  function DateDiff(date1, date2) {\r\n    var datediff = date1.getTime() - date2.getTime(); //store the getTime diff - or +\r\n    return (datediff / (24 * 60 * 60 * 1000)); //Convert values to -/+ days and return value      \r\n  }\r\n  if (new Date(iniPastedDate) > new Date(currDate)) {\r\n\r\n    //document.write (DateDiff(new Date(iniPastedDate),new Date(currDate))); //Print the results...\r\n    document.getElementById(\'countdown\').innerHTML = \"S goht dagega... noch \" + DateDiff(new Date(iniPastedDate), new Date(currDate)).toFixed(0) + \" Tage!\";\r\n    document.getElementById(\'countdown\').style.width = (100 / 365 * (365 - DateDiff(new Date(iniPastedDate), new Date(currDate)))) + \"%\";\r\n  } else {\r\n    document.getElementById(\'countdownH2\').style.display = \'none\';\r\n    document.getElementById(\'countdown\').style.textAlign = \'center\';\r\n    document.getElementById(\'countdown\').style.fontSize = \'2.0em\';\r\n    document.getElementById(\'countdown\').innerHTML = \'Endlich wieder Fasnet! <span class=\"lsf\">smile</span>\';\r\n //   document.getElementById(\'countdown\').innerHTML = \'Endlich Fasnet - zumindest theoretisch! <span class=\"lsf\">smile</span>\';\r\n  }'),(8,18,7,'\r\n'),(10,17,67,'		/* jQuery Toggle\r\n		********************************************/\r\n		$(\'ul.toggle li div.hidden\').hide();\r\n		$(\'ul.toggle li div.visible\').click(function(){\r\n			$(this).toggleClass(\'active\').next().slideToggle(\'fast\');\r\n		});\r\n\r\n		/* jQuery Fahrkarten\r\n		********************************************/\r\n		$(\'div.fahrkarten[data-fkSum]\').each(function(){\r\n			var fkSum = $(this).data(\'fkSum\');\r\n			$(this).css( \"width\", 100/62.5* + fkSum + \"%\" ).html( fkSum + \' Tage\' );\r\n		});\r\n'),(11,18,67,'\r\n'),(14,17,73,'  /* Countdown\r\n   ********************************************/\r\n  var currentTime = new Date()\r\n  var currDate = new Date($.now()); //Todays Date\r\n  var iniPastedDate = \"1/6/2021\" //End Date\r\n\r\n  function DateDiff(date1, date2) {\r\n    var datediff = date1.getTime() - date2.getTime(); //store the getTime diff - or +\r\n    return (datediff / (24 * 60 * 60 * 1000)); //Convert values to -/+ days and return value      \r\n  }\r\n  if (new Date(iniPastedDate) > new Date(currDate)) {\r\n\r\n    //document.write (DateDiff(new Date(iniPastedDate),new Date(currDate))); //Print the results...\r\n    document.getElementById(\'countdown\').innerHTML = \"S goht drgega... noch \" + DateDiff(new Date(iniPastedDate), new Date(currDate)).toFixed(0) + \" Tage!\";\r\n    document.getElementById(\'countdown\').style.width = (100 / 365 * (365 - DateDiff(new Date(iniPastedDate), new Date(currDate)))) + \"%\";\r\n  } else {\r\n    document.getElementById(\'countdownH2\').style.display = \'none\';\r\n    document.getElementById(\'countdown\').style.textAlign = \'center\';\r\n    document.getElementById(\'countdown\').style.fontSize = \'2.0em\';\r\n    document.getElementById(\'countdown\').innerHTML = \'Endlich Fasnet! <span class=\"lsf\">smile</span>\';\r\n  }');
COMMIT;

-- Dumped table `modx_site_tmplvar_contentvalues` with 11 row(s)
--

--
-- Table structure for table `modx_site_tmplvar_templates`
--

CREATE TABLE `modx_site_tmplvar_templates` (
  `tmplvarid` int(10) NOT NULL DEFAULT 0,
  `templateid` int(11) NOT NULL DEFAULT 0,
  `rank` int(11) NOT NULL DEFAULT 0,
  PRIMARY KEY (`tmplvarid`,`templateid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `modx_site_tmplvar_templates`
--

SET autocommit=0;
INSERT INTO `modx_site_tmplvar_templates` VALUES (15,1,0),(15,3,0),(15,4,0),(15,5,0),(16,1,0),(16,3,0),(16,4,0),(16,5,0),(17,1,0),(17,3,0),(17,4,0),(17,5,0),(18,1,0),(18,5,0);
COMMIT;

-- Dumped table `modx_site_tmplvar_templates` with 14 row(s)
--

--
-- Table structure for table `modx_site_tmplvars`
--

CREATE TABLE `modx_site_tmplvars` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `source` int(10) unsigned NOT NULL DEFAULT 0,
  `property_preprocess` tinyint(1) unsigned NOT NULL DEFAULT 0,
  `type` varchar(20) NOT NULL DEFAULT '',
  `name` varchar(50) NOT NULL DEFAULT '',
  `caption` varchar(80) NOT NULL DEFAULT '',
  `description` varchar(191) NOT NULL DEFAULT '',
  `editor_type` int(11) NOT NULL DEFAULT 0,
  `category` int(11) NOT NULL DEFAULT 0,
  `locked` tinyint(1) unsigned NOT NULL DEFAULT 0,
  `elements` text DEFAULT NULL,
  `rank` int(11) NOT NULL DEFAULT 0,
  `display` varchar(20) NOT NULL DEFAULT '',
  `default_text` mediumtext DEFAULT NULL,
  `properties` text DEFAULT NULL,
  `input_properties` text DEFAULT NULL,
  `output_properties` text DEFAULT NULL,
  `static` tinyint(1) unsigned NOT NULL DEFAULT 0,
  `static_file` varchar(191) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`),
  KEY `category` (`category`),
  KEY `locked` (`locked`),
  KEY `rank` (`rank`),
  KEY `static` (`static`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `modx_site_tmplvars`
--

SET autocommit=0;
INSERT INTO `modx_site_tmplvars` VALUES (1,1,0,'text','c_apricot','apricot','',0,5,0,'',0,'default','#ef8963','a:0:{}','a:5:{s:10:\"allowBlank\";s:4:\"true\";s:9:\"minLength\";s:1:\"7\";s:9:\"maxLength\";s:1:\"7\";s:5:\"regex\";s:0:\"\";s:9:\"regexText\";s:0:\"\";}','a:0:{}',0,''),(2,1,0,'text','c_apricotM10','aprikot 10% heller','',0,5,0,'',0,'default','#f09a7a','a:0:{}','a:5:{s:10:\"allowBlank\";s:4:\"true\";s:9:\"minLength\";s:1:\"7\";s:9:\"maxLength\";s:1:\"7\";s:5:\"regex\";s:0:\"\";s:9:\"regexText\";s:0:\"\";}','a:0:{}',0,''),(3,1,0,'text','c_apricotP10','aprikot 10% dunkler','',0,5,0,'',0,'default','#d67a58','a:0:{}','a:5:{s:10:\"allowBlank\";s:4:\"true\";s:9:\"minLength\";s:1:\"7\";s:9:\"maxLength\";s:1:\"7\";s:5:\"regex\";s:0:\"\";s:9:\"regexText\";s:0:\"\";}','a:0:{}',0,''),(4,1,0,'text','c_black','schwarz','',0,5,0,'',0,'default','#000000','a:0:{}','a:5:{s:10:\"allowBlank\";s:4:\"true\";s:9:\"minLength\";s:1:\"7\";s:9:\"maxLength\";s:1:\"7\";s:5:\"regex\";s:0:\"\";s:9:\"regexText\";s:0:\"\";}','a:0:{}',0,''),(5,1,0,'text','c_black00','weiß','',0,5,0,'',0,'default','#ffffff','a:0:{}','a:5:{s:10:\"allowBlank\";s:4:\"true\";s:9:\"minLength\";s:1:\"7\";s:9:\"maxLength\";s:1:\"7\";s:5:\"regex\";s:0:\"\";s:9:\"regexText\";s:0:\"\";}','a:0:{}',0,''),(6,1,0,'text','c_black05','schwarz 5%','',0,5,0,'',0,'default','#f2f2f2','a:0:{}','a:5:{s:10:\"allowBlank\";s:4:\"true\";s:9:\"minLength\";s:1:\"7\";s:9:\"maxLength\";s:1:\"7\";s:5:\"regex\";s:0:\"\";s:9:\"regexText\";s:0:\"\";}','a:0:{}',0,''),(7,1,0,'text','c_black10','schwarz 10%','',0,5,0,'',0,'default','#e5e5e5','a:0:{}','a:5:{s:10:\"allowBlank\";s:4:\"true\";s:9:\"minLength\";s:1:\"7\";s:9:\"maxLength\";s:1:\"7\";s:5:\"regex\";s:0:\"\";s:9:\"regexText\";s:0:\"\";}','a:0:{}',0,''),(8,1,0,'text','c_black20','schwarz 20%','',0,5,0,'',0,'default','#cccccc','a:0:{}','a:5:{s:10:\"allowBlank\";s:4:\"true\";s:9:\"minLength\";s:1:\"7\";s:9:\"maxLength\";s:1:\"7\";s:5:\"regex\";s:0:\"\";s:9:\"regexText\";s:0:\"\";}','a:0:{}',0,''),(9,1,0,'text','c_black40','schwarz 40%','',0,5,0,'',0,'default','#999999','a:0:{}','a:5:{s:10:\"allowBlank\";s:4:\"true\";s:9:\"minLength\";s:1:\"7\";s:9:\"maxLength\";s:1:\"7\";s:5:\"regex\";s:0:\"\";s:9:\"regexText\";s:0:\"\";}','a:0:{}',0,''),(10,1,0,'text','c_black60','schwarz 60%','',0,5,0,'',0,'default','#666666','a:0:{}','a:5:{s:10:\"allowBlank\";s:4:\"true\";s:9:\"minLength\";s:1:\"7\";s:9:\"maxLength\";s:1:\"7\";s:5:\"regex\";s:0:\"\";s:9:\"regexText\";s:0:\"\";}','a:0:{}',0,''),(11,1,0,'text','c_black80','schwarz 80%','',0,5,0,'',0,'default','#333333','a:0:{}','a:5:{s:10:\"allowBlank\";s:4:\"true\";s:9:\"minLength\";s:1:\"7\";s:9:\"maxLength\";s:1:\"7\";s:5:\"regex\";s:0:\"\";s:9:\"regexText\";s:0:\"\";}','a:0:{}',0,''),(12,1,0,'text','c_green','grün','',0,5,0,'',0,'default','#579A1B','a:0:{}','a:5:{s:10:\"allowBlank\";s:4:\"true\";s:9:\"minLength\";s:1:\"7\";s:9:\"maxLength\";s:1:\"7\";s:5:\"regex\";s:0:\"\";s:9:\"regexText\";s:0:\"\";}','a:0:{}',0,''),(13,1,0,'text','c_red','rot','',0,5,0,'',0,'default','#AC441E','a:0:{}','a:5:{s:10:\"allowBlank\";s:4:\"true\";s:9:\"minLength\";s:1:\"7\";s:9:\"maxLength\";s:1:\"7\";s:5:\"regex\";s:0:\"\";s:9:\"regexText\";s:0:\"\";}','a:0:{}',0,''),(15,1,0,'textarea','TplIndividualCSS','CSS speziell für diese Seite','Verlinkung eines vollständigen Skripts oder Eingabe von einzelnen Styles im Head-Bereich.\nBeispiel:\n<script src=\"[[~104]]\"></script>',0,5,0,'',0,'default','','a:0:{}','a:1:{s:10:\"allowBlank\";s:4:\"true\";}','a:0:{}',0,''),(16,1,0,'textarea','TplIndividualJSScript','JS-Skript speziell für diese Seite','Verlinkung eines vollständigen Skripts (z.B. einer Ressource).\nBeispiel:\n<script src=\"[[~104]]\"></script>',0,5,0,'',0,'default','','a:0:{}','a:1:{s:10:\"allowBlank\";s:4:\"true\";}','a:0:{}',0,''),(17,1,0,'textarea','TplIndividualJSSnippet','JS-Snippet speziell für diese Seite','Verlinkung eines kleine Scriptschnipsel, kein ganzes Skript.\nBeispiel:\n$(\'ul.toggle li div.hidden\').hide();\n$(\'ul.toggle li div.visible\').click(function(){\n	$(this).toggleClass(\'active\').next',0,5,0,'',0,'default','','a:0:{}','a:1:{s:10:\"allowBlank\";s:4:\"true\";}','a:0:{}',0,''),(18,1,0,'textarea','metaDescription','Seitenbeschreibung im Meta-Tag \"Description\"','Ausgabe von Content: [[*content:striptags:strip:ellipsis=`160`]] - Achtung: Teileweise Probleme mit Tags!',0,5,0,'',0,'default','','a:0:{}','a:1:{s:10:\"allowBlank\";s:4:\"true\";}','a:0:{}',0,'');
COMMIT;

-- Dumped table `modx_site_tmplvars` with 17 row(s)
--

--
-- Table structure for table `modx_system_eventnames`
--

CREATE TABLE `modx_system_eventnames` (
  `name` varchar(50) NOT NULL,
  `service` tinyint(4) unsigned NOT NULL DEFAULT 0,
  `groupname` varchar(20) NOT NULL DEFAULT '',
  PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `modx_system_eventnames`
--

SET autocommit=0;
INSERT INTO `modx_system_eventnames` VALUES ('OnBeforeCacheUpdate',4,'System'),('OnBeforeChunkFormDelete',1,'Chunks'),('OnBeforeChunkFormSave',1,'Chunks'),('OnBeforeDocFormDelete',1,'Resources'),('OnBeforeDocFormSave',1,'Resources'),('OnBeforeEmptyTrash',1,'Resources'),('OnBeforeManagerLogin',2,'Security'),('OnBeforeManagerLogout',2,'Security'),('OnBeforeManagerPageInit',2,'System'),('OnBeforePluginFormDelete',1,'Plugins'),('OnBeforePluginFormSave',1,'Plugins'),('OnBeforeRegisterClientScripts',5,'System'),('OnBeforeSaveWebPageCache',4,'System'),('OnBeforeSnipFormDelete',1,'Snippets'),('OnBeforeSnipFormSave',1,'Snippets'),('OnBeforeTempFormDelete',1,'Templates'),('OnBeforeTempFormSave',1,'Templates'),('OnBeforeTVFormDelete',1,'Template Variables'),('OnBeforeTVFormSave',1,'Template Variables'),('OnBeforeUserActivate',1,'Users'),('OnBeforeUserDeactivate',1,'Users'),('OnBeforeUserDuplicate',1,'Users'),('OnBeforeUserFormDelete',1,'Users'),('OnBeforeUserFormSave',1,'Users'),('OnBeforeUserGroupFormRemove',1,'User Groups'),('OnBeforeUserGroupFormSave',1,'User Groups'),('OnBeforeWebLogin',3,'Security'),('OnBeforeWebLogout',3,'Security'),('OnCacheUpdate',4,'System'),('OnCategoryBeforeRemove',1,'Categories'),('OnCategoryBeforeSave',1,'Categories'),('OnCategoryRemove',1,'Categories'),('OnCategorySave',1,'Categories'),('OnChunkBeforeRemove',1,'Chunks'),('OnChunkBeforeSave',1,'Chunks'),('OnChunkFormDelete',1,'Chunks'),('OnChunkFormPrerender',1,'Chunks'),('OnChunkFormRender',1,'Chunks'),('OnChunkFormSave',1,'Chunks'),('OnChunkRemove',1,'Chunks'),('OnChunkSave',1,'Chunks'),('OnContextBeforeRemove',1,'Contexts'),('OnContextBeforeSave',1,'Contexts'),('OnContextFormPrerender',2,'Contexts'),('OnContextFormRender',2,'Contexts'),('OnContextRemove',1,'Contexts'),('OnContextSave',1,'Contexts'),('OnDocFormDelete',1,'Resources'),('OnDocFormPrerender',1,'Resources'),('OnDocFormRender',1,'Resources'),('OnDocFormSave',1,'Resources'),('OnDocPublished',5,'Resources'),('OnDocUnPublished',5,'Resources'),('OnElementNotFound',1,'System'),('OnEmptyTrash',1,'Resources'),('OnFileCreateFormPrerender',1,'System'),('OnFileEditFormPrerender',1,'System'),('OnFileManagerBeforeUpload',1,'System'),('OnFileManagerDirCreate',1,'System'),('OnFileManagerDirRemove',1,'System'),('OnFileManagerDirRename',1,'System'),('OnFileManagerFileCreate',1,'System'),('OnFileManagerFileRemove',1,'System'),('OnFileManagerFileRename',1,'System'),('OnFileManagerFileUpdate',1,'System'),('OnFileManagerMoveObject',1,'System'),('OnFileManagerUpload',1,'System'),('OnHandleRequest',5,'System'),('OnInitCulture',1,'Internationalization'),('OnLoadWebDocument',5,'System'),('OnLoadWebPageCache',4,'System'),('OnManagerAuthentication',2,'Security'),('OnManagerLogin',2,'Security'),('OnManagerLoginFormPrerender',2,'Security'),('OnManagerLoginFormRender',2,'Security'),('OnManagerLogout',2,'Security'),('OnManagerPageAfterRender',2,'System'),('OnManagerPageBeforeRender',2,'System'),('OnManagerPageInit',2,'System'),('OnMediaSourceBeforeFormDelete',1,'Media Sources'),('OnMediaSourceBeforeFormSave',1,'Media Sources'),('OnMediaSourceDuplicate',1,'Media Sources'),('OnMediaSourceFormDelete',1,'Media Sources'),('OnMediaSourceFormSave',1,'Media Sources'),('OnMediaSourceGetProperties',1,'Media Sources'),('OnMODXInit',5,'System'),('OnPackageInstall',2,'Package Manager'),('OnPackageRemove',2,'Package Manager'),('OnPackageUninstall',2,'Package Manager'),('OnPageNotFound',1,'System'),('OnPageUnauthorized',1,'Security'),('OnParseDocument',5,'System'),('OnPluginBeforeRemove',1,'Plugins'),('OnPluginBeforeSave',1,'Plugins'),('OnPluginEventBeforeRemove',1,'Plugin Events'),('OnPluginEventBeforeSave',1,'Plugin Events'),('OnPluginEventRemove',1,'Plugin Events'),('OnPluginEventSave',1,'Plugin Events'),('OnPluginFormDelete',1,'Plugins'),('OnPluginFormPrerender',1,'Plugins'),('OnPluginFormRender',1,'Plugins'),('OnPluginFormSave',1,'Plugins'),('OnPluginRemove',1,'Plugins'),('OnPluginSave',1,'Plugins'),('OnPropertySetBeforeRemove',1,'Property Sets'),('OnPropertySetBeforeSave',1,'Property Sets'),('OnPropertySetRemove',1,'Property Sets'),('OnPropertySetSave',1,'Property Sets'),('OnResourceAddToResourceGroup',1,'Resources'),('OnResourceAutoPublish',1,'Resources'),('OnResourceBeforeSort',1,'Resources'),('OnResourceCacheUpdate',1,'Resources'),('OnResourceDelete',1,'Resources'),('OnResourceDuplicate',1,'Resources'),('OnResourceGroupBeforeRemove',1,'Security'),('OnResourceGroupBeforeSave',1,'Security'),('OnResourceGroupRemove',1,'Security'),('OnResourceGroupSave',1,'Security'),('OnResourceRemoveFromResourceGroup',1,'Resources'),('OnResourceSort',1,'Resources'),('OnResourceToolbarLoad',1,'Resources'),('OnResourceTVFormPrerender',1,'Resources'),('OnResourceTVFormRender',1,'Resources'),('OnResourceUndelete',1,'Resources'),('OnRichTextBrowserInit',1,'RichText Editor'),('OnRichTextEditorInit',1,'RichText Editor'),('OnRichTextEditorRegister',1,'RichText Editor'),('OnSiteRefresh',1,'System'),('OnSiteSettingsRender',1,'Settings'),('OnSnipFormDelete',1,'Snippets'),('OnSnipFormPrerender',1,'Snippets'),('OnSnipFormRender',1,'Snippets'),('OnSnipFormSave',1,'Snippets'),('OnSnippetBeforeRemove',1,'Snippets'),('OnSnippetBeforeSave',1,'Snippets'),('OnSnippetRemove',1,'Snippets'),('OnSnippetSave',1,'Snippets'),('OnTempFormDelete',1,'Templates'),('OnTempFormPrerender',1,'Templates'),('OnTempFormRender',1,'Templates'),('OnTempFormSave',1,'Templates'),('OnTemplateBeforeRemove',1,'Templates'),('OnTemplateBeforeSave',1,'Templates'),('OnTemplateRemove',1,'Templates'),('OnTemplateSave',1,'Templates'),('OnTemplateVarBeforeRemove',1,'Template Variables'),('OnTemplateVarBeforeSave',1,'Template Variables'),('OnTemplateVarRemove',1,'Template Variables'),('OnTemplateVarSave',1,'Template Variables'),('OnTVFormDelete',1,'Template Variables'),('OnTVFormPrerender',1,'Template Variables'),('OnTVFormRender',1,'Template Variables'),('OnTVFormSave',1,'Template Variables'),('OnTVInputPropertiesList',1,'Template Variables'),('OnTVInputRenderList',1,'Template Variables'),('OnTVOutputRenderList',1,'Template Variables'),('OnTVOutputRenderPropertiesList',1,'Template Variables'),('OnUserActivate',1,'Users'),('OnUserAddToGroup',1,'User Groups'),('OnUserBeforeAddToGroup',1,'User Groups'),('OnUserBeforeRemove',1,'Users'),('OnUserBeforeRemoveFromGroup',1,'User Groups'),('OnUserBeforeSave',1,'Users'),('OnUserChangePassword',1,'Users'),('OnUserDeactivate',1,'Users'),('OnUserDuplicate',1,'Users'),('OnUserFormDelete',1,'Users'),('OnUserFormPrerender',1,'Users'),('OnUserFormRender',1,'Users'),('OnUserFormSave',1,'Users'),('OnUserGroupBeforeRemove',1,'User Groups'),('OnUserGroupBeforeSave',1,'User Groups'),('OnUserGroupFormSave',1,'User Groups'),('OnUserGroupRemove',1,'User Groups'),('OnUserGroupSave',1,'User Groups'),('OnUserNotFound',1,'Users'),('OnUserProfileBeforeRemove',1,'User Profiles'),('OnUserProfileBeforeSave',1,'User Profiles'),('OnUserProfileRemove',1,'User Profiles'),('OnUserProfileSave',1,'User Profiles'),('OnUserRemove',1,'Users'),('OnUserRemoveFromGroup',1,'User Groups'),('OnUserSave',1,'Users'),('OnWebAuthentication',3,'Security'),('OnWebLogin',3,'Security'),('OnWebLogout',3,'Security'),('OnWebPageComplete',5,'System'),('OnWebPageInit',5,'System'),('OnWebPagePrerender',5,'System');
COMMIT;

-- Dumped table `modx_system_eventnames` with 189 row(s)
--

--
