Index: branches/5.0.x/core/install/upgrades.php =================================================================== diff -u -N -r12734 -r12808 --- branches/5.0.x/core/install/upgrades.php (.../upgrades.php) (revision 12734) +++ branches/5.0.x/core/install/upgrades.php (.../upgrades.php) (revision 12808) @@ -1,6 +1,6 @@ Conn->Query($sql); } + + /** + * Update to 5.0.2-B2 + * + * @param string $mode when called mode {before, after) + */ + function Upgrade_5_0_2_B2($mode) + { + if ($mode == 'after') { + // scan theme to fill Theme.TemplateAliases and ThemeFiles.TemplateAlias fields + $this->_toolkit->rebuildThemes(); + + $sql = 'SELECT TemplateAliases, ThemeId + FROM ' . TABLE_PREFIX . 'Theme + WHERE (Enabled = 1) AND (TemplateAliases <> "")'; + $template_aliases = $this->Conn->GetCol($sql, 'ThemeId'); + + $all_template_aliases = Array (); // reversed alias (from real template to alias) + + foreach ($template_aliases as $theme_id => $theme_template_aliases) { + $theme_template_aliases = unserialize($theme_template_aliases); + + if (!$theme_template_aliases) { + continue; + } + + $all_template_aliases = array_merge($all_template_aliases, array_flip($theme_template_aliases)); + } + + $default_design_replaced = false; + $default_design = trim($this->Application->ConfigValue('cms_DefaultDesign'), '/'); + + foreach ($all_template_aliases as $from_template => $to_alias) { + // replace default design in configuration variable (when matches alias) + if ($from_template == $default_design) { + // specific alias matched + $sql = 'UPDATE ' . TABLE_PREFIX . 'ConfigurationValues + SET VariableValue = ' . $this->Conn->qstr($to_alias) . ' + WHERE VariableName = "cms_DefaultDesign"'; + $this->Conn->Query($sql); + + $default_design_replaced = true; + } + + // replace Category.Template and Category.CachedTemplate fields (when matches alias) + $sql = 'UPDATE ' . TABLE_PREFIX . 'Category + SET Template = ' . $this->Conn->qstr($to_alias) . ' + WHERE Template IN (' . $this->Conn->qstr('/' . $from_template) . ',' . $this->Conn->qstr($from_template) . ')'; + $this->Conn->Query($sql); + + $sql = 'UPDATE ' . TABLE_PREFIX . 'Category + SET CachedTemplate = ' . $this->Conn->qstr($to_alias) . ' + WHERE CachedTemplate IN (' . $this->Conn->qstr('/' . $from_template) . ',' . $this->Conn->qstr($from_template) . ')'; + $this->Conn->Query($sql); + } + + if (!$default_design_replaced) { + // in case if current default design template doesn't + // match any of aliases, then set it to #default_design# + $sql = 'UPDATE ' . TABLE_PREFIX . 'ConfigurationValues + SET VariableValue = "#default_design#" + WHERE VariableName = "cms_DefaultDesign"'; + $this->Conn->Query($sql); + } + + // replace data in category custom fields used for category item template storage + $mod_rewrite_helper =& $this->Application->recallObject('ModRewriteHelper'); + /* @var $mod_rewrite_helper kModRewriteHelper */ + + foreach ($this->Application->ModuleInfo as $module_name => $module_info) { + $custom_field_id = $mod_rewrite_helper->getItemTemplateCustomField($module_info['Var']); + + if (!$custom_field_id) { + continue; + } + + foreach ($all_template_aliases as $from_template => $to_alias) { + $sql = 'UPDATE ' . TABLE_PREFIX . 'CategoryCustomData + SET l1_cust_' . $custom_field_id . ' = ' . $this->Conn->qstr($to_alias) . ' + WHERE l1_cust_' . $custom_field_id . ' = ' . $this->Conn->qstr($from_template); + $this->Conn->Query($sql); + } + } + + } + } } \ No newline at end of file Index: branches/5.0.x/themes/simple/_install/english.lang =================================================================== diff -u -N --- branches/5.0.x/themes/simple/_install/english.lang (revision 0) +++ branches/5.0.x/themes/simple/_install/english.lang (revision 12808) @@ -0,0 +1,407 @@ + + m/d/Yg:i Am/d/Yg:i:s A.,utf-8http://docs.in-portal.org/eng/index.php2 + + SW52YWxpZCBzdGF0ZQ== + UGVuZGluZw== + U2Vzc2lvbiBFeHBpcmVk + RXhwb3J0 + TW92ZSBEb3du + TW92ZSBVcA== + QWRk + QWRkZWQ= + QWRkZWQgdG9kYXk= + QWRkcmVzcw== + QWRkcmVzcyBMaW5l + QWR2YW5jZWQgU2VhcmNo + QWxsIHJpZ2h0cyByZXNlcnZlZC4= + RW50aXJlIFdlYnNpdGU= + QW5k + VGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggdGhlIGZvcm0sIHBsZWFzZSBjaGVjayB0aGUgZXJyb3IgbWVzc2FnZXMgYmVsb3cu + VGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggdGhlIGZvcm0sIHBsZWFzZSBjaGVjayB0aGUgZXJyb3IgbWVzc2FnZXMgYmVsb3c= + QXNjZW5kaW5n + QmlydGggRGF0ZQ== + QWRkIENvbW1lbnQ= + QWRkIFRvIEZhdm9yaXRlcw== + QWRkIFRvIFdpc2ggTGlzdA== + QWR2YW5jZWQgc2VhcmNo + Q2FuY2Vs + Q2xlYXI= + Q2xvc2UgV2luZG93 + Q29udGFjdA== + Q3JlYXRl + RGVsZXRl + RGVsZXRlIEZpbGU= + RGVsZXRlIEltYWdl + RGV0YWlscw== + RWRpdA== + RmluZCBpdA== + TW9kaWZ5 + TW9yZSBJbWFnZXM= + TmV3IExpbms= + Tm8= + T0s= + UmVjb21tZW5k + UmVnaXN0ZXI= + UmVtb3ZlIEZyb20gRmF2b3JpdGVz + UmVzZXQ= + U2VsZWN0 + UmVjb3ZlciBQYXNzd29yZA== + U2V0 + U29ydA== + U3Vic2NyaWJl + VW5zdWJzY3JpYmU= + VXBkYXRl + VmlldyBZb3VyIFByb2ZpbGU= + WWVz + Ynk= + Q2FuY2Vs + U2VjdXJpdHkgY29kZQ== + U2VjdXJpdHkgY29kZSBlbnRlcmVkIGluY29ycmVjdGx5 + RW50ZXIgU2VjdXJpdHkgQ29kZQ== + TGFzdCB1cGRhdGVkIG9u + Q2l0eQ== + Y2xpY2sgaGVyZQ== + UGFzc3dvcmQgcmVzZXQgaGFzIGNvZGUgZXhwaXJlZA== + UGFzc3dvcmQgcmVzZXQgY29kZSBpcyBub3QgdmFsaWQ= + QWNjb3VudCBJbmZvcm1hdGlvbg== + Q3VycmVudCBWYWx1ZQ== + RGF0ZQ== + RGlzcGxheSB0byBQdWJsaWM= + RW1haWw= + TGFzdCBVcGRhdGU= + T25saW5l + TG9naW4= + TWVtYmVyIHNpbmNl + TWVzc2FnZQ== + TmFtZQ== + UHJpY2U= + Vmlld3M= + RW1haWxBZGRyZXNz + R28= + Tm8gUGVybWlzc2lvbnM= + UGFnZQ== + Q29tcGFueQ== + Q29udGFjdCBVcw== + Q29udGFjdCBJbmZvcm1hdGlvbg== + Q291bnRyeQ== + Q3JlYXRlIFBhc3N3b3Jk + Q3JlZGl0IENhcmRz + Q3VycmVudCBSYXRpbmc= + WW91ciBUaGVtZQ== + RGF0ZQ== + RGVsZXRl + RGVzY2VuZGluZw== + RGVzY3JpcHRpb24gQSB0byBa + RGVzY3JpcHRpb24gWiB0byBB + WW91ciBGYXZvcml0ZSBJdGVtcw== + RWRpdCB5b3VyIFByZWZlcmVuY2Vz + WW91ciBQcm9maWxlIEluZm9ybWF0aW9u + WW91ciBQcml2YXRlIE1lc3NhZ2Vz + RGV0YWlscw== + TW9kaWZ5 + RS1NYWls + QSB1c2VyIHdpdGggc3VjaCBlLW1haWwgYWxyZWFkeSBleGlzdHMu + TWFpbCBzZW5kaW5nIGZhaWxlZA== + RnJpZW5kJ3MgZS1tYWlsIGFkZHJlc3M= + WW91ciBlLW1haWwgYWRkcmVzcw== + RW50ZXIgeW91ciBFbWFpbCBBZGRyZXNzIGJlbG93IHRvIGhhdmUgeW91ciBhY2NvdW50IGluZm9ybWF0aW9uIHNlbnQgdG8gdGhlIGVtYWlsIGFkZHJlc3Mgb2YgeW91ciBhY2NvdW50Lg== + RW50ZXIgeW91ciBVc2VybmFtZSBvciBFbWFpbCBBZGRyZXNzIGJlbG93IHRvIGhhdmUgeW91ciBhY2NvdW50IGluZm9ybWF0aW9uIHNlbnQgdG8gdGhlIGVtYWlsIGFkZHJlc3Mgb2YgeW91ciBhY2NvdW50Lg== + WW91IGhhdmUgYWxyZWFkeSBjb21tZW50ZWQgdGhpcyBpdGVtIQ== + U29ycnksIHRoZSByZXF1ZXN0ZWQgVVJMIHdhcyBub3QgZm91bmQgb24gb3VyIHNlcnZlci4= + RXJyb3IgNDA0IC0gTm90IEZvdW5k + QWN0aXZhdGlvbiBjb2RlIGhhcyBleHBpcmVk + QWN0aXZhdGlvbiBjb2RlIGlzIG5vdCB2YWxpZA== + Q2F0ZWdvcnkgYWxyZWFkeSBhZGRlZCE= + QWxyZWFkeSBjb21tZW50ZWQ= + Q2F0ZWdvcnkgbGltaXQgcmVhY2hlZCE= + UmVxdWlyZWQ= + VXNlciBOb3QgRm91bmQ= + RmF2b3JpdGU= + Tm90IHJlc2V0 + QXJjaGl2ZSBEYXRl + QXJ0aWNsZSBBdXRob3I= + QXJ0aWNsZSBCb2R5 + TnVtYmVyIG9mIERlc2NlbmRhbnRz + Q2F0ZWdvcnkgUGF0aA== + Q2F0ZWdvcnkgSWQ= + Q2l0eQ== + Q291bnRyeQ== + RGF0ZSBvZiBCaXJ0aA== + RWRpdG9yJ3MgcGljaw== + RS1tYWls + RW5kcyBPbg== + QXJ0aWNsZSBFeGNlcnB0 + Rmlyc3QgTmFtZQ== + TGFzdCBOYW1l + Q2F0ZWdvcnkgTGVhZCBTdG9yeT8= + TGVhZCBTdG9yeT8= + TG9naW4gKFVzZXIgbmFtZSk= + TWV0YSBEZXNjcmlwdGlvbg== + TWV0YSBLZXl3b3Jkcw== + UGFyZW50IElk + UGFyZW50IENhdGVnb3J5IFBhdGg= + UGFzc3dvcmQ= + VGVsZXBob25l + VXNlciBJRA== + U3RhcnQgRGF0ZQ== + U3RhdGU= + U3RyZWV0IEFkZHJlc3M= + QXJ0aWNsZSBUaXRsZQ== + VGltZSBab25l + Vmlld3M= + WmlwIChQb3N0YWwpIENvZGU= + Rmlyc3QgTmFtZQ== + QWRkcmVzcyBsaW5lIDE= + QWRkcmVzcyBsaW5lIDI= + RGF0ZSBvZiBiaXJ0aA== + Qm9keQ== + Q2FwdGNoYSBJbWFnZQ== + Q2l0eQ== + Q29tbWVudA== + Q29tcGFueQ== + Q291bnRyeQ== + RGVzY3JpcHRpb24= + RHVyYXRpb24= + RS1NYWls + RmF4 + UHJpbWFyeSBGaWxl + Mm5kIEZpbGU= + M3JkIEZpbGU= + RmlsZW5hbWU= + Rmlyc3QgbmFtZQ== + RnVsbCBuYW1l + Mm5kIEltYWdl + M3JkIEltYWdl + TGFzdCBuYW1l + VXNlcm5hbWU= + TW9kdWxl + QWRkaXRpb25hbCBDYXRlZ29yaWVz + TmFtZQ== + UGFzc3dvcmQ= + UGhvbmU= + UGhyYXNl + UHJpY2U= + UHJpbWFyeSBDYXRlZ29yeQ== + UHJpbWFyeSBJbWFnZQ== + UHJpbWFyeSBUcmFuc2xhdGlvbg== + UmF0aW5n + Q29tbWVudCBieQ== + Q29tbWVudA== + UGxlYXNlIHNlbGVjdCB5b3VyIGFkZHJlc3M= + U2l6ZQ== + U3RhdGU= + U3RyZWV0 + U3VibWl0dGluZyB0bw== + VGl0bGU= + VHJhbnNsYXRpb24= + TWVtYmVyc2hpcCBHcm91cA== + VmVyaWZ5IFBhc3N3b3Jk + VmVyc2lvbg== + WmlwIGNvZGU= + WmlwIGNvZGU= + SW5ib3g= + Rm9yZ290IHBhc3N3b3Jk + R3Vlc3Q= + SGVyZQ== + SGl0cw== + SGl0cyBIbyB0byBMb3c= + SGl0cyBMb3cgdG8gSGk= + SG9tZQ== + SG90 + aW4= + SW5ib3g= + SW5kaWNhdGVzIFJlcXVpcmVkIGZpZWxkcw== + SW52YWxpZCBlLW1haWwgYWRkcmVzcw== + SXRlbXMgUGVyIFBhZ2U= + Sm9pbmVk + TGFzdCBOYW1l + TG9jYXRpb24= + TG9naW4= + TG9nIE91dA== + TG9nb3V0IG9mIHlvdXIgYWNjb3VudA== + TWFpbGluZyBMaXN0 + TW9yZQ== + TXkgRmF2b3JpdGVz + TXkgUHJlZmVyZW5jZXM= + TXkgUHJvZmlsZQ== + TmFtZQ== + TmV3 + TmV3IEN1c3RvbWVycw== + WW91ciBwcml2YXRlIG1lc3NhZ2UgaGFzIGJlZW4gc2VudC4= + Tm8= + U29ycnksIHlvdSBoYXZlIG5vIGFjY2VzcyB0byB0aGlzIHBhZ2Uh + Tm8gQ2F0ZWdvcmllcw== + Tm8gZmF2b3JpdGUgaXRlbXMgc2F2ZWQ= + Tm8gbWVtYmVycyBmb3VuZA== + Tm9uZQ== + QmUgdGhlIGZpcnN0IHRvIGNvbW1lbnQ= + bm90IGxvZ2dlZCBpbg== + Tm8gUGVybWlzc2lvbnM= + T2xkIHRvIFJlY2VudA== + U2VsZWN0IENhdGVnb3J5 + b3I= + UGFzc3dvcmQ= + UGFzc3dvcmRzIGRvIG5vdCBtYXRjaA== + UGFzc3dvcmQgaXMgdG9vIHNob3J0LCBwbGVhc2UgZW50ZXIgYXQgbGVhc3QgJXMgY2hhcmFjdGVycw== + cGVuZGluZyBpdGVt + QWRkIFBlbmRpbmcgQ2F0ZWdvcnk= + QWRkIENhdGVnb3J5 + RGVsZXRlIENhdGVnb3J5 + TW9kaWZ5IENhdGVnb3J5 + VmlldyBDYXRlZ29yeQ== + UGVuZGluZyBMaW5r + QWRkIExpbms= + RGVsZXRlIExpbms= + TW9kaWZ5IExpbms= + UmF0ZSBMaW5r + VmlldyBMaW5r + UGhvbmU= + UGljaw== + UGxlYXNlIFJlZ2lzdGVy + UG9wdWxhcg== + UG93ZXJlZCBieQ== + UHJpdmFjeSBQb2xpY3k= + UHJvZmlsZQ== + QXZhdGFyIEltYWdl + UXVpY2sgU2VhcmNo + UmF0aW5n + UmF0aW5nIEhpIHRvIExvdw== + UmF0aW5nIExvdyB0byBIaQ== + RmFpcg== + QXZlcmFnZQ== + R29vZA== + VmVyeSBHb29k + RXhjZWxsZW50 + UmVjZW50IHRvIE9sZA== + UmVjb21tZW5kIHRvIGEgRnJpZW5k + UmVjb21tZW5kYXRpb24gQ29uZmlybWF0aW9u + VGhhbmtzIGZvciByZWNvbW1lbmRpbmcgb3VyIHNpdGUgdG8geW91ciBmcmllbmQuIFRoZSBlbWFpbCBoYXMgYmVlbiBzZW50IG91dC4= + UmVjb21tZW5kIHRvIGEgZnJpZW5k + Q2xpY2sgaGVyZSBpZiB5b3VyIGJyb3dzZXIgZG9lcyBub3QgYXV0b21hdGljYWxseSByZWRpcmVjdCB5b3Uu + UmVkaXJlY3RpbmcgLi4u + UmVnaXN0ZXI= + UmVnaXN0cmF0aW9uIENvbmZpcm1hdGlvbg== + VGhhbmsgWW91LiBSZWdpc3RyYXRpb24gY29tcGxldGVkLg== + WW91ciBsb2dpbiBpbmZvcm1hdGlvbiBoYXMgYmVlbiBlbWFpbGVkIHRvIHlvdS4gUGxlYXNlIGNoZWNrIHlvdXIgZW1haWwu + UmVsZXZhbmNl + UmVtZW1iZXIgTG9naW4= + UmVwZWF0IFBhc3N3b3Jk + UmVzZXQ= + UmV0dXJuIHRvIGhvbWVwYWdl + Q29tbWVudHM= + SG9tZQ== + U2VhcmNo + QWRkaXRpb25hbCBJbWFnZXM= + SW1hZ2Vz + TXlBY2NvdW50 + TXkgSXRlbXM= + Q29tbWVudHM= + U2VsZWN0IFVzZXJuYW1l + U2VuZA== + U2VudA== + U2l0ZW1hcA== + U3RhdGU= + U3RhdGlzdGljcw== + U3ViY2F0ZWdvcmllcw== + U3Vic2NyaXB0aW9uIENvbmZpcm1hdGlvbg== + QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHN1YnNjcmliZSB0byBvdXIgbWFpbGluZyBsaXN0PyAoWW91IGNhbiB1bnN1YnNjcmliZSBhbnkgdGltZSBieSBlbnRlcmluZyB5b3VyIGVtYWlsIG9uIHRoZSBmcm9udCBwYWdlKS4= + U3Vic2NyaWJlZA== + U3VibWl0dGluZyB0byBDYXRlZ29yaWVz + U3VnZ2VzdCBDYXRlZ29yeQ== + UHJpdmFjeQ== + VGVybXMgYW5kIENvbmRpdGlvbnMgb2YgVXNl + IFdlIGFyZSBzb3JyeSB5b3UgaGF2ZSB1bnN1YnNjcmliZWQgZnJvbSBvdXIgbWFpbGluZyBsaXN0 + WW91ciB1c2VyIGFjY291bnQgaXMgY3VycmVudGx5IHBlbmRpbmcgb3IgZGlzYWJsZWQuIElmIHlvdSBoYXZlIHJlZ2lzdHJlZCByZWNlbnRseSwgcGxlYXNlIHdhaXQgdW50aWwgeW91ciBhY2NvdW50IHdpbGwgYmUgYXBwcm92ZWQsIG90aGVyd2lzZSBwbGVhc2Ugd3JpdGU= + WW91ciBwYXNzd29yZCBoYXMgYmVlbiByZXNldC4gVGhlIG5ldyBwYXNzd29yZCBoYXMgYmVlbiBzZW50IHRvIHlvdXIgZS1tYWlsIGFkZHJlc3MuIFlvdSBtYXkgbm93IGxvZ2luIHdpdGggdGhlIG5ldyBwYXNzd29yZC4= + WW91IGhhdmUgY2hvc2VuIHRvIHJlc2V0IHlvdXIgcGFzc3dvcmQuPEJSLz48QlIvPg0KQW4gYXV0b21hdGljIGVtYWlsIGhhcyBiZWVuIHNlbnQgdG8geW91ciBlbWFpbCBhZGRyZXNzIG9uIGZpbGUuIFBsZWFzZSBmb2xsb3cgdGhlIGxpbmsgaW4gdGhlIGVtYWlsIGluIG9yZGVyIHRvIHJlY2VpdmUgYSBuZXcgcGFzc3dvcmQu + VGhlIGtleXdvcmQgaXMgdG9vIHNob3J0 + Tm8gY29tbWVudHMsIGFkZCBmaXJzdA== + Tm8gcGVybWlzc2lvbnMgdG8gcGVyZm9ybSB0aGlzIG9wZXJhdGlvbg== + Tm8gcGVybWlzc2lvbnMgdG8gc3VnZ2VzdCBuZXcgY2F0ZWdvcmllcyBpbnRvIGN1cnJlbnQgY2F0ZWdvcnku + Tm90aGluZyBGb3VuZA== + NDA0LiBQYWdlIG5vdCBmb3VuZCBvbiB0aGUgc2VydmVyLg== + UGxlYXNlIGNvbmZpcm0gdGhhdCB5b3Ugd2FudCB0byByZXNldCB5b3VyIHBhc3N3b3JkLg== + VGhhbmsgeW91IGZvciByZWdpc3RlcmluZyBvbiBvdXIgd2Vic2l0ZS4gWW91IGNhbiBhY3RpdmF0ZSB5b3VyIHJlZ2lzdHJhdGlvbiB1c2luZyBsaW5rIHNlbnQgdG8geW91IGJ5IGVtYWlsLg== + VGhhbmsgeW91IGZvciByZWdpc3RlcmluZyBvbiBvdXIgd2Vic2l0ZS4gWW91ciByZWdpc3RyYXRpb24gaXMgcGVuZGluZyBhZG1pbmlzdHJhdGl2ZSBhcHByb3ZhbC4gWW91IHdpbGwgZ2V0IGEgc2VwYXJhdGUgZW1haWwgb25jZSBpdCdzIGFjdGl2YXRlZC4= + VGhhbmsgeW91IGZvciBzdWdnZXN0aW5nIHlvdXIgY2F0ZWdvcnku + U3VnZ2VzdGVkIGNhdGVnb3J5IGlzIHBlbmRpbmcgZm9yIEFkbWluaXN0cmF0aXZlIGFwcHJvdmFsIA== + VGhhbmsgeW91IGZvciBzdWJtaXR0aW5nIHlvdXIgcmVxdWVzdC4= + VGhhbmsgeW91IGZvciBzdWJzY3JpYmluZyB0byBvdXIgbWFpbGluZyBsaXN0 + VGhhbmtzIGZvciBWb3Rpbmch + Q3VycmVudCBDYXRlZ29yeQ== + QWN0aW9uIEJveA== + QWRkaW5nIEFkZHJlc3M= + QWR2ZXJ0aXNlbWVudHM= + QmFjayB0byB0b3A= + Q2F0ZWdvcmllcw== + Q2F0ZWdvcnkgU2VhcmNoIFJlc3VsdHM= + UGVuZGluZyBvciBkaXNhYmxlZCB1c2VyIGFjY291bnQgd2FybmluZw== + RWRpdCBBZGRyZXNz + WW91ciBGYXZvcml0ZSBJdGVtcw== + WW91ciBGYXZvcml0ZXM= + Rm9yZ290IFBhc3N3b3Jk + Rm9yZ290IFBhc3N3b3JkIENvbmZpcm1hdGlvbg== + Rm9yZ290IFBhc3N3b3JkIE5vdGlmaWNhdGlvbg== + TG9naW4gQm94 + TWFpbGluZyBMaXN0 + TWVtYmVycw== + TWlzc2luZyBQaHJhc2UgQWRkaW5n + TXkgQWNjb3VudA== + TXkgQWRkcmVzc2Vz + TXkgRmF2b3JpdGVz + TXkgSXRlbXM= + TXkgUHJlZmVyZW5jZXM= + TXkgUHJvZmlsZQ== + Tm8gUGVybWlzc2lvbg== + UGFnZSBOb3QgRm91bmQ= + UGFzc3dvcmQgUmVxdWVzdCBDb25maXJtYXRpb24= + UHJpdmFjeSBQb2xpY3k= + UmVjb21tZW5kIENvbmZpcm1hdGlvbg== + UmVjb21tZW5kIHRvIGEgRnJpZW5k + VXNlciBSZWdpc3RyYXRpb24gQ29uZmlybWF0aW9u + VXNlciBSZWdpc3RyYXRpb24gUGVuZGluZw== + UmVsYXRlZCBDYXRlZ29yaWVz + UmVsYXRlZCBJdGVtcw== + UmVsYXRlZCBTZWFyY2hlcw== + U2VhcmNoIEJveA== + U2VhcmNoIFJlc3VsdHM= + U2l0ZSBtYXA= + U3Vic2NyaXB0aW9uIENvbmZpcm1hdGlvbg== + U3Vic2NyaXB0aW9uIENvbmZpcm1lZA== + U3VnZ2VzdCBDYXRlZ29yeQ== + Q2F0ZWdvcnkgQWRkZWQ= + Q2F0ZWdvcnkgUGVuZGluZw== + VGVybXMgYW5kIENvbmRpdGlvbnM= + VGhhbmsgeW91IQ== + VW5zdWJzY3JpYmUgQ29uZmlybWF0aW9u + VW5zdWJzY3JpcHRpb24gQ29uZmlybWVk + VXNlciBQcm9maWxl + VXNlciBSZWdpc3RyYXRpb24= + V2VsY29tZSB0byBJbi1Qb3J0YWwh + VG90YWwgQ2F0ZWdvcmllcw== + VW5zdWJzY3JpcHRpb24gQ29uZmlybWF0aW9u + QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHVuc3Vic2NyaWJlIGZyb20gb3VyIG1haWxpbmcgbGlzdD8gKFlvdSBjYW4gYWx3YXlzIHN1YnNjcmliZSBhZ2FpbiBieSBlbnRlcmluZyB5b3VyIGVtYWlsIGF0IHRoZSBob21lIHBhZ2Up + VW5zdWJzY3JpYmU= + VXNlcm5hbWU= + QSB1c2VyIHdpdGggc3VjaCB1c2VybmFtZSBhbHJlYWR5IGV4aXN0cy4= + QSB1c2VyIHdpdGggc3VjaCB1c2VybmFtZS9lLW1haWwgYWxyZWFkeSBleGlzdHMu + VGhhbmsgeW91IGZvciByZWdpc3RlcmluZy4gWW91ciByZWdpc3RyYXRpb24gaXMgcGVuZGluZyBhZG1pbmlzdHJhdGl2ZSBhcHByb3ZhbC4= + VmVyaWZ5IHBhc3N3b3Jk + RGlyZWN0IGFjY2VzcyBvciBib29rbWFyaw== + TnVtYmVyIG9mIFZvdGVz + Vm90ZXM= + Vm90ZXMgSGkgdG8gTG93 + Vm90ZXMgTG93IHRvIEhp + Vm90ZSE= + V2FybmluZw== + V2UgYWNjZXB0IGNyZWRpdCBjYXJkcw== + d3JvdGU= + WWVz + WW91ciBBY2NvdW50 + TGFuZ3VhZ2U= + WW91ciBXaXNoIExpc3Q= + WklQIENvZGU= + WklQIENvZGU= + + + \ No newline at end of file Index: branches/5.0.x/core/units/theme_files/theme_files_config.php =================================================================== diff -u -N -r12734 -r12808 --- branches/5.0.x/core/units/theme_files/theme_files_config.php (.../theme_files_config.php) (revision 12734) +++ branches/5.0.x/core/units/theme_files/theme_files_config.php (.../theme_files_config.php) (revision 12808) @@ -1,6 +1,6 @@ Array ('type' => 'int', 'not_null' => 1, 'default' => 0), 'FileName' => Array ('type' => 'string', 'max_len' => 255, 'not_null' => 1, 'default' => ''), 'FilePath' => Array ('type' => 'string', 'max_len' => 255, 'not_null' => 1, 'default' => ''), + 'TemplateAlias' => Array ('type' => 'string', 'max_len' => 255, 'not_null' => 1, 'default' => ''), 'Description' => Array ('type' => 'string', 'max_len' => 255, 'default' => NULL), 'FileType' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0), 'FileFound' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0), Index: branches/5.0.x/themes/simple/_install/install_data.sql =================================================================== diff -u -N --- branches/5.0.x/themes/simple/_install/install_data.sql (revision 0) +++ branches/5.0.x/themes/simple/_install/install_data.sql (revision 12808) @@ -0,0 +1 @@ +UPDATE Category SET l1_Name = 'Home (TD)' WHERE l1_Name = 'Home'; \ No newline at end of file Index: branches/5.0.x/core/install/install_schema.sql =================================================================== diff -u -N -r12703 -r12808 --- branches/5.0.x/core/install/install_schema.sql (.../install_schema.sql) (revision 12703) +++ branches/5.0.x/core/install/install_schema.sql (.../install_schema.sql) (revision 12808) @@ -277,33 +277,38 @@ ); CREATE TABLE Theme ( - ThemeId int(11) NOT NULL auto_increment, - Name varchar(40) NOT NULL default '', - Enabled int(11) NOT NULL default '1', - Description varchar(255) default NULL, - PrimaryTheme int(11) NOT NULL default '0', - CacheTimeout int(11) NOT NULL default '0', - StylesheetId int(10) unsigned NOT NULL default '0', - PRIMARY KEY (ThemeId), + ThemeId int(11) NOT NULL AUTO_INCREMENT, + `Name` varchar(40) NOT NULL DEFAULT '', + Enabled int(11) NOT NULL DEFAULT '1', + Description varchar(255) DEFAULT NULL, + PrimaryTheme int(11) NOT NULL DEFAULT '0', + CacheTimeout int(11) NOT NULL DEFAULT '0', + StylesheetId int(10) unsigned NOT NULL DEFAULT '0', + LanguagePackInstalled tinyint(3) unsigned NOT NULL DEFAULT '0', + TemplateAliases text, + PRIMARY KEY (ThemeId), KEY Enabled (Enabled), KEY StylesheetId (StylesheetId), - KEY PrimaryTheme (PrimaryTheme) + KEY PrimaryTheme (PrimaryTheme), + KEY LanguagePackInstalled (LanguagePackInstalled) ); CREATE TABLE ThemeFiles ( - FileId int(11) NOT NULL auto_increment, - ThemeId int(11) NOT NULL default '0', - FileName varchar(255) NOT NULL default '', - FilePath varchar(255) NOT NULL default '', - Description varchar(255) default NULL, - FileType int(11) NOT NULL default '0', - FileFound tinyint(3) unsigned NOT NULL default '0', + FileId int(11) NOT NULL AUTO_INCREMENT, + ThemeId int(11) NOT NULL DEFAULT '0', + FileName varchar(255) NOT NULL DEFAULT '', + FilePath varchar(255) NOT NULL DEFAULT '', + TemplateAlias varchar(255) NOT NULL DEFAULT '', + Description varchar(255) DEFAULT NULL, + FileType int(11) NOT NULL DEFAULT '0', + FileFound tinyint(3) unsigned NOT NULL DEFAULT '0', FileMetaInfo text, - PRIMARY KEY (FileId), + PRIMARY KEY (FileId), KEY theme (ThemeId), KEY FileName (FileName), KEY FilePath (FilePath), - KEY FileFound (FileFound) + KEY FileFound (FileFound), + KEY TemplateAlias (TemplateAlias) ); CREATE TABLE UserGroup ( Index: branches/5.0.x/core/units/categories/categories_config.php =================================================================== diff -u -N -r12734 -r12808 --- branches/5.0.x/core/units/categories/categories_config.php (.../categories_config.php) (revision 12734) +++ branches/5.0.x/core/units/categories/categories_config.php (.../categories_config.php) (revision 12808) @@ -1,6 +1,6 @@ 'string', 'formatter' => 'kOptionsFormatter', 'options_sql' => ' SELECT CONCAT(tf.Description, " :: ", FilePath, "/", TRIM(TRAILING ".tpl" FROM FileName) ) AS Title, - CONCAT(FilePath, "/", TRIM(TRAILING ".tpl" FROM FileName)) AS Value + IF(tf.TemplateAlias <> "", tf.TemplateAlias, CONCAT(FilePath, "/", TRIM(TRAILING ".tpl" FROM FileName))) AS Value FROM ' . TABLE_PREFIX . 'ThemeFiles AS tf LEFT JOIN ' . TABLE_PREFIX . 'Theme AS t ON t.ThemeId = tf.ThemeId WHERE (t.Enabled = 1) AND (tf.FileName NOT LIKE "%%.elm.tpl") AND (tf.FileName NOT LIKE "%%.des.tpl") AND (tf.FilePath = "/designs") Index: branches/5.0.x/core/units/themes/themes_config.php =================================================================== diff -u -N -r12734 -r12808 --- branches/5.0.x/core/units/themes/themes_config.php (.../themes_config.php) (revision 12734) +++ branches/5.0.x/core/units/themes/themes_config.php (.../themes_config.php) (revision 12808) @@ -1,6 +1,6 @@ Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_Yes', 0 => 'la_No'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 0), 'CacheTimeout' => Array('type' => 'int', 'not_null' => 1, 'default' => 0), 'StylesheetId' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options_sql' => 'SELECT %s FROM '.TABLE_PREFIX.'Stylesheets', 'option_key_field' => 'StylesheetId', 'option_title_field' => 'Name', 'not_null' => 1, 'default' => 0), + 'LanguagePackInstalled' => Array ( + 'type' => 'int', + 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_Yes', 0 => 'la_No'), 'use_phrases' => 1, + 'not_null' => 1, 'default' => 0 + ), + 'TemplateAliases' => Array ('type' => 'string', 'formatter' => 'kSerializedFormatter', 'default' => 'a:0:{}'), ), 'VirtualFields' => Array ( @@ -157,6 +163,7 @@ 'Description' => Array( 'title'=>'la_col_Description', 'filter_block' => 'grid_like_filter', 'width' => 250, ), 'Enabled' => Array( 'title'=>'la_col_Status', 'filter_block' => 'grid_options_filter', 'width' => 200, ), // 'PrimaryTheme' => Array( 'title'=>'la_col_Primary', 'filter_block' => 'grid_options_filter'), + 'LanguagePackInstalled' => Array ('title' => 'la_col_LanguagePackInstalled', 'filter_block' => 'grid_options_filter'), ), ), ), Index: branches/5.0.x/themes/advanced/_install/theme.xml =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/_install/theme.xml (revision 0) +++ branches/5.0.x/themes/advanced/_install/theme.xml (revision 12808) @@ -0,0 +1,3 @@ + + platform/designs/general + \ No newline at end of file Index: branches/5.0.x/core/install/english.lang =================================================================== diff -u -N -r12666 -r12808 --- branches/5.0.x/core/install/english.lang (.../english.lang) (revision 12666) +++ branches/5.0.x/core/install/english.lang (.../english.lang) (revision 12808) @@ -540,7 +540,6 @@ QWRkIFBlbmRpbmcgTGluaw== QXBwcm92ZSBQZW5kaW5nIExpbms= RGVueSBMaW5r - TW9kaWZ5IExpbms= QXBwcm92ZSBMaW5rIE1vZGlmaWNhdGlvbg== RGVjbGluZSBsaW5rIG1vZGlmaWNhdGlvbg== TGluayBNb2RpZmljYXRpb24gUGVuZGluZw== @@ -844,7 +843,6 @@ SW5jb3JyZWN0IGRhdGEgZm9ybWF0LCBwbGVhc2UgdXNlIGludGVnZXI= TWlzc2luZyBvciBpbnZhbGlkIEluLVBvcnRhbCBMaWNlbnNl SW5jb3JyZWN0IFVzZXJuYW1lIG9yIFBhc3N3b3Jk - SW52YWxpZCBzdGF0ZQ== U2VjdGlvbnM= TGluayBEZXNjcmlwdGlvbg== RGlzcGxheSBlZGl0b3IgUElDS3MgYWJvdmUgcmVndWxhciBsaW5rcw== @@ -967,7 +965,6 @@ KEdNVCArMDk6MDAp UGFkZGluZ3M= UGFnZQ== - UGVuZGluZw== UGVyZm9ybWluZyBCYWNrdXA= UGVyZm9ybWluZyBJbXBvcnQ= UGVyZm9ybWluZyBSZXN0b3Jl @@ -1347,7 +1344,6 @@ TW9kdWxlIFJvb3QgU2VjdGlvbg== U2F2ZQ== U2VsZWN0 - U2Vzc2lvbiBFeHBpcmVk U2ltcGxl U29ydA== VW5zZWxlY3Q= @@ -1511,14 +1507,11 @@ RWRpdCBDdXJyZW50IFNlY3Rpb24= RnJvbnQtRW5kIE9ubHk= RW5hYmxl - RXhwb3J0 RXhwb3J0IExhbmd1YWdl SGlkZSBNZW51 SG9tZQ== SW1wb3J0 SW1wb3J0IExhbmd1YWdl - TW92ZSBEb3du - TW92ZSBVcA== TW92ZSBEb3du TW92ZSBVcA== TmV3IEFnZW50 @@ -1616,445 +1609,50 @@ V2luZG93cw== eWVhcg== WWVz - QWRk - QWRkZWQ= - QWRkZWQgdG9kYXk= - QWRkcmVzcw== - QWRkcmVzcyBMaW5l - QWR2YW5jZWQgU2VhcmNo - QWxsIHJpZ2h0cyByZXNlcnZlZC4= - RW50aXJlIFdlYnNpdGU= - QW5k - VGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggdGhlIGZvcm0sIHBsZWFzZSBjaGVjayB0aGUgZXJyb3IgbWVzc2FnZXMgYmVsb3cu - VGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggdGhlIGZvcm0sIHBsZWFzZSBjaGVjayB0aGUgZXJyb3IgbWVzc2FnZXMgYmVsb3c= - QXNjZW5kaW5n - QmlydGggRGF0ZQ== - QWRkIENvbW1lbnQ= - QWRkIFRvIEZhdm9yaXRlcw== - QWRkIFRvIFdpc2ggTGlzdA== - QWR2YW5jZWQgc2VhcmNo - Q2FuY2Vs - Q2xlYXI= - Q2xvc2UgV2luZG93 - Q29udGFjdA== - Q3JlYXRl - RGVsZXRl - RGVsZXRlIEZpbGU= - RGVsZXRlIEltYWdl - RGV0YWlscw== - RWRpdA== - RmluZCBpdA== - TW9kaWZ5 - TW9yZSBJbWFnZXM= - TmV3IExpbms= - Tm8= - T0s= - UmVjb21tZW5k - UmVnaXN0ZXI= - UmVtb3ZlIEZyb20gRmF2b3JpdGVz - UmVzZXQ= - U2VsZWN0 - UmVjb3ZlciBQYXNzd29yZA== - U2V0 - U29ydA== - U3Vic2NyaWJl - VW5zdWJzY3JpYmU= - VXBkYXRl - VmlldyBZb3VyIFByb2ZpbGU= - WWVz - Ynk= - Q2FuY2Vs - U2VjdXJpdHkgY29kZQ== - U2VjdXJpdHkgY29kZSBlbnRlcmVkIGluY29ycmVjdGx5 - RW50ZXIgU2VjdXJpdHkgQ29kZQ== - TGFzdCB1cGRhdGVkIG9u - Q2l0eQ== - Y2xpY2sgaGVyZQ== - UGFzc3dvcmQgcmVzZXQgaGFzIGNvZGUgZXhwaXJlZA== - UGFzc3dvcmQgcmVzZXQgY29kZSBpcyBub3QgdmFsaWQ= - QWNjb3VudCBJbmZvcm1hdGlvbg== - Q3VycmVudCBWYWx1ZQ== - RGF0ZQ== - RGlzcGxheSB0byBQdWJsaWM= - RW1haWw= - TGFzdCBVcGRhdGU= - T25saW5l - TG9naW4= - TWVtYmVyIHNpbmNl - TWVzc2FnZQ== - TmFtZQ== - UHJpY2U= - Vmlld3M= - RW1haWxBZGRyZXNz - R28= - Tm8gUGVybWlzc2lvbnM= - UGFnZQ== - Q29tcGFueQ== - Q29udGFjdCBVcw== - Q29udGFjdCBJbmZvcm1hdGlvbg== - Q291bnRyeQ== - Q3JlYXRlIFBhc3N3b3Jk - Q3JlZGl0IENhcmRz - Q3VycmVudCBSYXRpbmc= - WW91ciBUaGVtZQ== - RGF0ZQ== - RGVsZXRl - RGVzY2VuZGluZw== - RGVzY3JpcHRpb24gQSB0byBa - RGVzY3JpcHRpb24gWiB0byBB - WW91ciBGYXZvcml0ZSBJdGVtcw== - RWRpdCB5b3VyIFByZWZlcmVuY2Vz - WW91ciBQcm9maWxlIEluZm9ybWF0aW9u - WW91ciBQcml2YXRlIE1lc3NhZ2Vz - RGV0YWlscw== - TW9kaWZ5 - RS1NYWls - QSB1c2VyIHdpdGggc3VjaCBlLW1haWwgYWxyZWFkeSBleGlzdHMu - TWFpbCBzZW5kaW5nIGZhaWxlZA== - RnJpZW5kJ3MgZS1tYWlsIGFkZHJlc3M= - WW91ciBlLW1haWwgYWRkcmVzcw== - RW50ZXIgeW91ciBFbWFpbCBBZGRyZXNzIGJlbG93IHRvIGhhdmUgeW91ciBhY2NvdW50IGluZm9ybWF0aW9uIHNlbnQgdG8gdGhlIGVtYWlsIGFkZHJlc3Mgb2YgeW91ciBhY2NvdW50Lg== - RW50ZXIgeW91ciBVc2VybmFtZSBvciBFbWFpbCBBZGRyZXNzIGJlbG93IHRvIGhhdmUgeW91ciBhY2NvdW50IGluZm9ybWF0aW9uIHNlbnQgdG8gdGhlIGVtYWlsIGFkZHJlc3Mgb2YgeW91ciBhY2NvdW50Lg== - WW91IGhhdmUgYWxyZWFkeSBjb21tZW50ZWQgdGhpcyBpdGVtIQ== - U29ycnksIHRoZSByZXF1ZXN0ZWQgVVJMIHdhcyBub3QgZm91bmQgb24gb3VyIHNlcnZlci4= - RXJyb3IgNDA0IC0gTm90IEZvdW5k - QWN0aXZhdGlvbiBjb2RlIGhhcyBleHBpcmVk - QWN0aXZhdGlvbiBjb2RlIGlzIG5vdCB2YWxpZA== - Q2F0ZWdvcnkgYWxyZWFkeSBhZGRlZCE= - QWxyZWFkeSBjb21tZW50ZWQ= - Q2F0ZWdvcnkgbGltaXQgcmVhY2hlZCE= - UmVxdWlyZWQ= - VXNlciBOb3QgRm91bmQ= - RmF2b3JpdGU= WW91IG11c3QgZW50ZXIgYSBVc2VybmFtZSBvciBFbWFpbCBBZGRyZXNzIHRvIHJldHJpdmUgeW91ciBhY2NvdW50IGluZm9ybWF0aW9u - Tm90IHJlc2V0 VXNlciBhY2NvdW50IHdpdGggZ2l2ZW4gRS1tYWlsIG5vdCBmb3VuZA== VXNlciBhY2NvdW50IHdpdGggZ2l2ZW4gVXNlcm5hbWUgbm90IGZvdW5k - QXJjaGl2ZSBEYXRl - QXJ0aWNsZSBBdXRob3I= - QXJ0aWNsZSBCb2R5 - TnVtYmVyIG9mIERlc2NlbmRhbnRz - Q2F0ZWdvcnkgUGF0aA== UmF0aW5n TnVtYmVyIG9mIFJldmlld3M= TnVtYmVyIG9mIFJhdGluZyBWb3Rlcw== - Q2F0ZWdvcnkgSWQ= - Q2l0eQ== - Q291bnRyeQ== Q3JlYXRlZCBCeSBVc2VyIElE RGF0ZSBDcmVhdGVk RGVzY3JpcHRpb24= - RGF0ZSBvZiBCaXJ0aA== - RWRpdG9yJ3MgcGljaw== - RS1tYWls - RW5kcyBPbg== - QXJ0aWNsZSBFeGNlcnB0 - Rmlyc3QgTmFtZQ== SGl0cw== SXRlbSBJcyBIb3Q= - TGFzdCBOYW1l - Q2F0ZWdvcnkgTGVhZCBTdG9yeT8= - TGVhZCBTdG9yeT8= TGluayBJRA== - TG9naW4gKFVzZXIgbmFtZSk= - TWV0YSBEZXNjcmlwdGlvbg== - TWV0YSBLZXl3b3Jkcw== TGFzdCBNb2RpZmllZCBEYXRl TW9kaWZpZWQgQnkgVXNlciBJRA== TmFtZQ== SXRlbSBJcyBOZXc= Tm90aWZ5IE93bmVyIG9mIENoYW5nZXM= T3JpZ2luYWwgSXRlbSBJRA== T3duZXIgVXNlciBJRA== - UGFyZW50IElk - UGFyZW50IENhdGVnb3J5IFBhdGg= - UGFzc3dvcmQ= - VGVsZXBob25l SXRlbSBJcyBQb3B1bGFy - VXNlciBJRA== UHJpb3JpdHk= UXR5IFNvbGQ= UmVzb3VyY2UgSUQ= - U3RhcnQgRGF0ZQ== - U3RhdGU= U3RhdHVz - U3RyZWV0IEFkZHJlc3M= - QXJ0aWNsZSBUaXRsZQ== SXRlbSBJcyBhIFRvcCBTZWxsZXI= - VGltZSBab25l VVJM - Vmlld3M= - WmlwIChQb3N0YWwpIENvZGU= - Rmlyc3QgTmFtZQ== - QWRkcmVzcyBsaW5lIDE= - QWRkcmVzcyBsaW5lIDI= - RGF0ZSBvZiBiaXJ0aA== - Qm9keQ== - Q2FwdGNoYSBJbWFnZQ== - Q2l0eQ== - Q29tbWVudA== - Q29tcGFueQ== - Q291bnRyeQ== - RGVzY3JpcHRpb24= - RHVyYXRpb24= - RS1NYWls - RmF4 - UHJpbWFyeSBGaWxl - Mm5kIEZpbGU= - M3JkIEZpbGU= - RmlsZW5hbWU= - Rmlyc3QgbmFtZQ== - RnVsbCBuYW1l - Mm5kIEltYWdl - M3JkIEltYWdl - TGFzdCBuYW1l - VXNlcm5hbWU= - TW9kdWxl - QWRkaXRpb25hbCBDYXRlZ29yaWVz - TmFtZQ== - UGFzc3dvcmQ= - UGhvbmU= - UGhyYXNl - UHJpY2U= - UHJpbWFyeSBDYXRlZ29yeQ== - UHJpbWFyeSBJbWFnZQ== - UHJpbWFyeSBUcmFuc2xhdGlvbg== - UmF0aW5n - Q29tbWVudCBieQ== - Q29tbWVudA== - UGxlYXNlIHNlbGVjdCB5b3VyIGFkZHJlc3M= - U2l6ZQ== - U3RhdGU= - U3RyZWV0 - U3VibWl0dGluZyB0bw== - VGl0bGU= - VHJhbnNsYXRpb24= - TWVtYmVyc2hpcCBHcm91cA== - VmVyaWZ5IFBhc3N3b3Jk - VmVyc2lvbg== - WmlwIGNvZGU= - WmlwIGNvZGU= - SW5ib3g= - Rm9yZ290IHBhc3N3b3Jk - R3Vlc3Q= - SGVyZQ== - SGl0cw== - SGl0cyBIbyB0byBMb3c= - SGl0cyBMb3cgdG8gSGk= - SG9tZQ== - SG90 - aW4= - SW5ib3g= - SW5kaWNhdGVzIFJlcXVpcmVkIGZpZWxkcw== - SW52YWxpZCBlLW1haWwgYWRkcmVzcw== SW5jb3JyZWN0IFVzZXJuYW1lIG9yIFBhc3N3b3Jk - SXRlbXMgUGVyIFBhZ2U= - Sm9pbmVk - TGFzdCBOYW1l - TG9jYXRpb24= - TG9naW4= - TG9nIE91dA== - TG9nb3V0IG9mIHlvdXIgYWNjb3VudA== - TWFpbGluZyBMaXN0 - TW9yZQ== - TXkgRmF2b3JpdGVz - TXkgUHJlZmVyZW5jZXM= - TXkgUHJvZmlsZQ== - TmFtZQ== - TmV3 - TmV3IEN1c3RvbWVycw== - WW91ciBwcml2YXRlIG1lc3NhZ2UgaGFzIGJlZW4gc2VudC4= - Tm8= - U29ycnksIHlvdSBoYXZlIG5vIGFjY2VzcyB0byB0aGlzIHBhZ2Uh - Tm8gQ2F0ZWdvcmllcw== - Tm8gZmF2b3JpdGUgaXRlbXMgc2F2ZWQ= - Tm8gbWVtYmVycyBmb3VuZA== - Tm9uZQ== - QmUgdGhlIGZpcnN0IHRvIGNvbW1lbnQ= - bm90IGxvZ2dlZCBpbg== - Tm8gUGVybWlzc2lvbnM= b2Y= - T2xkIHRvIFJlY2VudA== QXV0by1EZXRlY3Q= Q29va2llcw== UXVlcnkgU3RyaW5nIChTSUQp - U2VsZWN0IENhdGVnb3J5 - b3I= - UGFzc3dvcmQ= - UGFzc3dvcmRzIGRvIG5vdCBtYXRjaA== - UGFzc3dvcmQgaXMgdG9vIHNob3J0LCBwbGVhc2UgZW50ZXIgYXQgbGVhc3QgJXMgY2hhcmFjdGVycw== - cGVuZGluZyBpdGVt QWRtaW4gTG9naW4= - QWRkIFBlbmRpbmcgQ2F0ZWdvcnk= - QWRkIENhdGVnb3J5 - RGVsZXRlIENhdGVnb3J5 - TW9kaWZ5IENhdGVnb3J5 - VmlldyBDYXRlZ29yeQ== QXBwZW5kIHBocGluZm8gdG8gYWxsIHBhZ2VzIChEZWJ1Zyk= RGlzcGxheSBJdGVtIFF1ZXJpZXMgKERlYnVnKQ== RGlzcGxheSBJdGVtIExpc3QgUXVlcmllcyAoRGVidWcp QWxsb3cgZmF2b3JpdGVz - UGVuZGluZyBMaW5r - QWRkIExpbms= - RGVsZXRlIExpbms= TW9kaWZ5IExpbmsgUGVuZGluZw== - TW9kaWZ5IExpbms= TGluayBEZWxldGUgYnkgT3duZXI= TGluayBNb2RpZnkgUGVuZGluZyBieSBPd25lcg== TGluayBNb2RpZnkgYnkgT3duZXI= - UmF0ZSBMaW5r UmV2aWV3IExpbmsgUGVuZGluZw== - VmlldyBMaW5r QWxsb3cgTG9naW4= Q2hhbmdlIFVzZXIgUHJvZmlsZXM= U2hvdyBMYW5ndWFnZSBUYWdz - UGhvbmU= - UGljaw== - UGxlYXNlIFJlZ2lzdGVy - UG9wdWxhcg== - UG93ZXJlZCBieQ== - UHJpdmFjeSBQb2xpY3k= - UHJvZmlsZQ== - QXZhdGFyIEltYWdl - UXVpY2sgU2VhcmNo - UmF0aW5n - UmF0aW5nIEhpIHRvIExvdw== - UmF0aW5nIExvdyB0byBIaQ== - RmFpcg== - QXZlcmFnZQ== - R29vZA== - VmVyeSBHb29k - RXhjZWxsZW50 - UmVjZW50IHRvIE9sZA== - UmVjb21tZW5kIHRvIGEgRnJpZW5k - UmVjb21tZW5kYXRpb24gQ29uZmlybWF0aW9u - VGhhbmtzIGZvciByZWNvbW1lbmRpbmcgb3VyIHNpdGUgdG8geW91ciBmcmllbmQuIFRoZSBlbWFpbCBoYXMgYmVlbiBzZW50IG91dC4= - UmVjb21tZW5kIHRvIGEgZnJpZW5k - Q2xpY2sgaGVyZSBpZiB5b3VyIGJyb3dzZXIgZG9lcyBub3QgYXV0b21hdGljYWxseSByZWRpcmVjdCB5b3Uu - UmVkaXJlY3RpbmcgLi4u - UmVnaXN0ZXI= - UmVnaXN0cmF0aW9uIENvbmZpcm1hdGlvbg== - VGhhbmsgWW91LiBSZWdpc3RyYXRpb24gY29tcGxldGVkLg== - WW91ciBsb2dpbiBpbmZvcm1hdGlvbiBoYXMgYmVlbiBlbWFpbGVkIHRvIHlvdS4gUGxlYXNlIGNoZWNrIHlvdXIgZW1haWwu - UmVsZXZhbmNl - UmVtZW1iZXIgTG9naW4= - UmVwZWF0IFBhc3N3b3Jk - UmVzZXQ= - UmV0dXJuIHRvIGhvbWVwYWdl - Q29tbWVudHM= - SG9tZQ== - U2VhcmNo - QWRkaXRpb25hbCBJbWFnZXM= - SW1hZ2Vz - TXlBY2NvdW50 - TXkgSXRlbXM= - Q29tbWVudHM= - U2VsZWN0IFVzZXJuYW1l - U2VuZA== - U2VudA== - U2l0ZW1hcA== - U3RhdGU= - U3RhdGlzdGljcw== - U3ViY2F0ZWdvcmllcw== - U3Vic2NyaXB0aW9uIENvbmZpcm1hdGlvbg== - QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHN1YnNjcmliZSB0byBvdXIgbWFpbGluZyBsaXN0PyAoWW91IGNhbiB1bnN1YnNjcmliZSBhbnkgdGltZSBieSBlbnRlcmluZyB5b3VyIGVtYWlsIG9uIHRoZSBmcm9udCBwYWdlKS4= - U3Vic2NyaWJlZA== - U3VibWl0dGluZyB0byBDYXRlZ29yaWVz - U3VnZ2VzdCBDYXRlZ29yeQ== - UHJpdmFjeQ== - VGVybXMgYW5kIENvbmRpdGlvbnMgb2YgVXNl - IFdlIGFyZSBzb3JyeSB5b3UgaGF2ZSB1bnN1YnNjcmliZWQgZnJvbSBvdXIgbWFpbGluZyBsaXN0 - WW91ciB1c2VyIGFjY291bnQgaXMgY3VycmVudGx5IHBlbmRpbmcgb3IgZGlzYWJsZWQuIElmIHlvdSBoYXZlIHJlZ2lzdHJlZCByZWNlbnRseSwgcGxlYXNlIHdhaXQgdW50aWwgeW91ciBhY2NvdW50IHdpbGwgYmUgYXBwcm92ZWQsIG90aGVyd2lzZSBwbGVhc2Ugd3JpdGU= - WW91ciBwYXNzd29yZCBoYXMgYmVlbiByZXNldC4gVGhlIG5ldyBwYXNzd29yZCBoYXMgYmVlbiBzZW50IHRvIHlvdXIgZS1tYWlsIGFkZHJlc3MuIFlvdSBtYXkgbm93IGxvZ2luIHdpdGggdGhlIG5ldyBwYXNzd29yZC4= - WW91IGhhdmUgY2hvc2VuIHRvIHJlc2V0IHlvdXIgcGFzc3dvcmQuPEJSLz48QlIvPg0KQW4gYXV0b21hdGljIGVtYWlsIGhhcyBiZWVuIHNlbnQgdG8geW91ciBlbWFpbCBhZGRyZXNzIG9uIGZpbGUuIFBsZWFzZSBmb2xsb3cgdGhlIGxpbmsgaW4gdGhlIGVtYWlsIGluIG9yZGVyIHRvIHJlY2VpdmUgYSBuZXcgcGFzc3dvcmQu - VGhlIGtleXdvcmQgaXMgdG9vIHNob3J0 - Tm8gY29tbWVudHMsIGFkZCBmaXJzdA== - Tm8gcGVybWlzc2lvbnMgdG8gcGVyZm9ybSB0aGlzIG9wZXJhdGlvbg== - Tm8gcGVybWlzc2lvbnMgdG8gc3VnZ2VzdCBuZXcgY2F0ZWdvcmllcyBpbnRvIGN1cnJlbnQgY2F0ZWdvcnku - Tm90aGluZyBGb3VuZA== - NDA0LiBQYWdlIG5vdCBmb3VuZCBvbiB0aGUgc2VydmVyLg== - UGxlYXNlIGNvbmZpcm0gdGhhdCB5b3Ugd2FudCB0byByZXNldCB5b3VyIHBhc3N3b3JkLg== - VGhhbmsgeW91IGZvciByZWdpc3RlcmluZyBvbiBvdXIgd2Vic2l0ZS4gWW91IGNhbiBhY3RpdmF0ZSB5b3VyIHJlZ2lzdHJhdGlvbiB1c2luZyBsaW5rIHNlbnQgdG8geW91IGJ5IGVtYWlsLg== - VGhhbmsgeW91IGZvciByZWdpc3RlcmluZyBvbiBvdXIgd2Vic2l0ZS4gWW91ciByZWdpc3RyYXRpb24gaXMgcGVuZGluZyBhZG1pbmlzdHJhdGl2ZSBhcHByb3ZhbC4gWW91IHdpbGwgZ2V0IGEgc2VwYXJhdGUgZW1haWwgb25jZSBpdCdzIGFjdGl2YXRlZC4= - VGhhbmsgeW91IGZvciBzdWdnZXN0aW5nIHlvdXIgY2F0ZWdvcnku - U3VnZ2VzdGVkIGNhdGVnb3J5IGlzIHBlbmRpbmcgZm9yIEFkbWluaXN0cmF0aXZlIGFwcHJvdmFsIA== - VGhhbmsgeW91IGZvciBzdWJtaXR0aW5nIHlvdXIgcmVxdWVzdC4= - VGhhbmsgeW91IGZvciBzdWJzY3JpYmluZyB0byBvdXIgbWFpbGluZyBsaXN0 - VGhhbmtzIGZvciBWb3Rpbmch - Q3VycmVudCBDYXRlZ29yeQ== - QWN0aW9uIEJveA== - QWRkaW5nIEFkZHJlc3M= - QWR2ZXJ0aXNlbWVudHM= - QmFjayB0byB0b3A= - Q2F0ZWdvcmllcw== - Q2F0ZWdvcnkgU2VhcmNoIFJlc3VsdHM= - UGVuZGluZyBvciBkaXNhYmxlZCB1c2VyIGFjY291bnQgd2FybmluZw== - RWRpdCBBZGRyZXNz - WW91ciBGYXZvcml0ZSBJdGVtcw== - WW91ciBGYXZvcml0ZXM= - Rm9yZ290IFBhc3N3b3Jk - Rm9yZ290IFBhc3N3b3JkIENvbmZpcm1hdGlvbg== - Rm9yZ290IFBhc3N3b3JkIE5vdGlmaWNhdGlvbg== - TG9naW4gQm94 - TWFpbGluZyBMaXN0 - TWVtYmVycw== - TWlzc2luZyBQaHJhc2UgQWRkaW5n - TXkgQWNjb3VudA== - TXkgQWRkcmVzc2Vz - TXkgRmF2b3JpdGVz - TXkgSXRlbXM= - TXkgUHJlZmVyZW5jZXM= - TXkgUHJvZmlsZQ== - Tm8gUGVybWlzc2lvbg== - UGFnZSBOb3QgRm91bmQ= - UGFzc3dvcmQgUmVxdWVzdCBDb25maXJtYXRpb24= - UHJpdmFjeSBQb2xpY3k= - UmVjb21tZW5kIENvbmZpcm1hdGlvbg== - UmVjb21tZW5kIHRvIGEgRnJpZW5k - VXNlciBSZWdpc3RyYXRpb24gQ29uZmlybWF0aW9u - VXNlciBSZWdpc3RyYXRpb24gUGVuZGluZw== - UmVsYXRlZCBDYXRlZ29yaWVz - UmVsYXRlZCBJdGVtcw== - UmVsYXRlZCBTZWFyY2hlcw== - U2VhcmNoIEJveA== - U2VhcmNoIFJlc3VsdHM= - U2l0ZSBtYXA= - U3Vic2NyaXB0aW9uIENvbmZpcm1hdGlvbg== - U3Vic2NyaXB0aW9uIENvbmZpcm1lZA== - U3VnZ2VzdCBDYXRlZ29yeQ== - Q2F0ZWdvcnkgQWRkZWQ= - Q2F0ZWdvcnkgUGVuZGluZw== - VGVybXMgYW5kIENvbmRpdGlvbnM= - VGhhbmsgeW91IQ== - VW5zdWJzY3JpYmUgQ29uZmlybWF0aW9u - VW5zdWJzY3JpcHRpb24gQ29uZmlybWVk - VXNlciBQcm9maWxl - VXNlciBSZWdpc3RyYXRpb24= - V2VsY29tZSB0byBJbi1Qb3J0YWwh - VG90YWwgQ2F0ZWdvcmllcw== - VW5zdWJzY3JpcHRpb24gQ29uZmlybWF0aW9u - QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHVuc3Vic2NyaWJlIGZyb20gb3VyIG1haWxpbmcgbGlzdD8gKFlvdSBjYW4gYWx3YXlzIHN1YnNjcmliZSBhZ2FpbiBieSBlbnRlcmluZyB5b3VyIGVtYWlsIGF0IHRoZSBob21lIHBhZ2Up - VW5zdWJzY3JpYmU= - VXNlcm5hbWU= - QSB1c2VyIHdpdGggc3VjaCB1c2VybmFtZSBhbHJlYWR5IGV4aXN0cy4= - QSB1c2VyIHdpdGggc3VjaCB1c2VybmFtZS9lLW1haWwgYWxyZWFkeSBleGlzdHMu - VGhhbmsgeW91IGZvciByZWdpc3RlcmluZy4gWW91ciByZWdpc3RyYXRpb24gaXMgcGVuZGluZyBhZG1pbmlzdHJhdGl2ZSBhcHByb3ZhbC4= - VmVyaWZ5IHBhc3N3b3Jk - RGlyZWN0IGFjY2VzcyBvciBib29rbWFyaw== - TnVtYmVyIG9mIFZvdGVz - Vm90ZXM= - Vm90ZXMgSGkgdG8gTG93 - Vm90ZXMgTG93IHRvIEhp - Vm90ZSE= - V2FybmluZw== - V2UgYWNjZXB0IGNyZWRpdCBjYXJkcw== - d3JvdGU= - WWVz - WW91ciBBY2NvdW50 - TGFuZ3VhZ2U= - WW91ciBXaXNoIExpc3Q= - WklQIENvZGU= - WklQIENvZGU= U3ViamVjdDogTmV3IENhdGVnb3J5ICI8aW5wMjpjX0ZpZWxkIG5hbWU9Ik5hbWUiLz4iIC0gQWRkZWQKCllvdXIgc3VnZ2VzdGVkIGNhdGVnb3J5ICI8aW5wMjpjX0ZpZWxkIG5hbWU9Ik5hbWUiLz4iIGhhcyBiZWVuIGFkZGVkLg== Index: branches/5.0.x/core/install/install_data.sql =================================================================== diff -u -N -r12638 -r12808 --- branches/5.0.x/core/install/install_data.sql (.../install_data.sql) (revision 12638) +++ branches/5.0.x/core/install/install_data.sql (.../install_data.sql) (revision 12808) @@ -60,7 +60,7 @@ INSERT INTO ConfigurationAdmin VALUES ('UseModRewrite', 'la_section_SettingsWebsite', 'la_config_use_modrewrite', 'checkbox', '', '', 10.02, 0, 1); INSERT INTO ConfigurationValues VALUES (DEFAULT, 'UseModRewrite', '0', 'In-Portal', 'in-portal:configure_advanced'); INSERT INTO ConfigurationAdmin VALUES ('cms_DefaultDesign', 'la_section_SettingsWebsite', 'la_config_DefaultDesignTemplate', 'text', NULL, NULL, 10.03, 0, 0); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'cms_DefaultDesign', '/platform/designs/general', 'In-Portal', 'in-portal:configure_advanced'); +INSERT INTO ConfigurationValues VALUES (DEFAULT, 'cms_DefaultDesign', '#default_design#', 'In-Portal', 'in-portal:configure_advanced'); INSERT INTO ConfigurationAdmin VALUES ('ErrorTemplate', 'la_section_SettingsWebsite', 'la_config_error_template', 'text', '', '', 10.04, 0, 0); INSERT INTO ConfigurationValues VALUES (DEFAULT, 'ErrorTemplate', 'error_notfound', 'In-Portal', 'in-portal:configure_advanced'); INSERT INTO ConfigurationAdmin VALUES ('NoPermissionTemplate', 'la_section_SettingsWebsite', 'la_config_nopermission_template', 'text', '', '', 10.05, 0, 0); Index: branches/5.0.x/core/kernel/nparser/nparser.php =================================================================== diff -u -N -r12734 -r12808 --- branches/5.0.x/core/kernel/nparser/nparser.php (.../nparser.php) (revision 12734) +++ branches/5.0.x/core/kernel/nparser/nparser.php (.../nparser.php) (revision 12808) @@ -1,6 +1,6 @@ _btnPhrases['design'] = $this->Application->Phrase('la_btn_EditDesign', false); $this->_btnPhrases['block'] = $this->Application->Phrase('la_btn_EditBlock', false); - } } @@ -300,7 +299,7 @@ { $code = ''; $to_pass = $this->CompileParamsArray($tag['NP']); - + if ($tag['prefix'] == '__auto__') { $prefix = $this->GetParam('PrefixSpecial'); $code .= '$_p_ =& $_parser->GetProcessor($PrefixSpecial);'."\n"; @@ -311,20 +310,20 @@ $code .= '$_p_ =& $_parser->GetProcessor("'.$tag['prefix'].'");'."\n"; $code .= 'echo $_p_->ProcessParsedTag(\''.$tag['name'].'\', '.$to_pass.', "'.$tag['prefix'].'", \''.$tag['file'].'\', '.$tag['line'].');'."\n"; } - + if (array_key_exists('result_to_var', $tag['NP']) && $tag['NP']['result_to_var']) { $code .= "\$params['{$tag['NP']['result_to_var']}'] = \$_parser->GetParam('{$tag['NP']['result_to_var']}');\n"; $code .= "\${$tag['NP']['result_to_var']} = \$params['{$tag['NP']['result_to_var']}'];\n"; } - + if ($prefix && strpos($prefix, '$') === false) { $p =& $this->GetProcessor($prefix); if (!is_object($p) || !$p->CheckTag($tag['name'], $tag['prefix'])) { $this->Application->handleError(E_USER_ERROR, 'Unknown tag: '.$this->TagInfo($tag).' - incorrect tag name or prefix ', $tag['file'], $tag['line']); return false; } } - + return $code; } @@ -501,12 +500,12 @@ $this->PopParams(); if (array_key_exists('result_to_var', $flag_values) && $flag_values['result_to_var']) { - // when "result_to_var" used inside ParseBlock, then $$result_to_var parameter is set inside ParseBlock, - // but not outside it as expected and got lost at all after PopParams is called, so make it work by + // when "result_to_var" used inside ParseBlock, then $$result_to_var parameter is set inside ParseBlock, + // but not outside it as expected and got lost at all after PopParams is called, so make it work by // setting it's value on current parameter deep level (from where ParseBlock was called) $this->SetParam($flag_values['result_to_var'], $block_params[ $flag_values['result_to_var'] ]); } - + $this->CheckNoData($ret, $params); $this->DataExists = $data_exists_bak || $this->DataExists; Index: branches/5.0.x/core/install/step_templates/select_theme.tpl =================================================================== diff -u -N -r12407 -r12808 --- branches/5.0.x/core/install/step_templates/select_theme.tpl (.../select_theme.tpl) (revision 12407) +++ branches/5.0.x/core/install/step_templates/select_theme.tpl (.../select_theme.tpl) (revision 12808) @@ -32,5 +32,7 @@ } ?> + + \ No newline at end of file Index: branches/5.0.x/core/units/categories/categories_event_handler.php =================================================================== diff -u -N -r12793 -r12808 --- branches/5.0.x/core/units/categories/categories_event_handler.php (.../categories_event_handler.php) (revision 12793) +++ branches/5.0.x/core/units/categories/categories_event_handler.php (.../categories_event_handler.php) (revision 12808) @@ -1,6 +1,6 @@ Application->ConfigValue('cms_DefaultDesign'); - return '/' . trim($default_design ? $default_design : 'designs/default_design', '/'); + $default_design = trim($this->Application->ConfigValue('cms_DefaultDesign'), '/'); + + if (!$default_design) { + // theme-based alias for default design + return '#default_design#'; + } + + if (strpos($default_design, '#') === false) { + // real template, not alias, so prefix with "/" + return '/' . $default_design; + } + + // alias + return $default_design; } /** @@ -1483,8 +1495,16 @@ $real_t = $this->_getDefaultDesign(); } - // $this->Application->SetVar('t', $t); + // replace alias in form #alias_name# to actual template used in this theme + $theme =& $this->Application->recallObject('theme.current'); + /* @var $theme kDBItem */ + $template = $theme->GetField('TemplateAliases', $real_t); + + if ($template) { + return $template; + } + return $real_t; } Index: branches/5.0.x/themes/advanced/_install/english.lang =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/_install/english.lang (revision 0) +++ branches/5.0.x/themes/advanced/_install/english.lang (revision 12808) @@ -0,0 +1,407 @@ + + m/d/Yg:i Am/d/Yg:i:s A.,utf-8http://docs.in-portal.org/eng/index.php2 + + SW52YWxpZCBzdGF0ZQ== + UGVuZGluZw== + U2Vzc2lvbiBFeHBpcmVk + RXhwb3J0 + TW92ZSBEb3du + TW92ZSBVcA== + QWRk + QWRkZWQ= + QWRkZWQgdG9kYXk= + QWRkcmVzcw== + QWRkcmVzcyBMaW5l + QWR2YW5jZWQgU2VhcmNo + QWxsIHJpZ2h0cyByZXNlcnZlZC4= + RW50aXJlIFdlYnNpdGU= + QW5k + VGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggdGhlIGZvcm0sIHBsZWFzZSBjaGVjayB0aGUgZXJyb3IgbWVzc2FnZXMgYmVsb3cu + VGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggdGhlIGZvcm0sIHBsZWFzZSBjaGVjayB0aGUgZXJyb3IgbWVzc2FnZXMgYmVsb3c= + QXNjZW5kaW5n + QmlydGggRGF0ZQ== + QWRkIENvbW1lbnQ= + QWRkIFRvIEZhdm9yaXRlcw== + QWRkIFRvIFdpc2ggTGlzdA== + QWR2YW5jZWQgc2VhcmNo + Q2FuY2Vs + Q2xlYXI= + Q2xvc2UgV2luZG93 + Q29udGFjdA== + Q3JlYXRl + RGVsZXRl + RGVsZXRlIEZpbGU= + RGVsZXRlIEltYWdl + RGV0YWlscw== + RWRpdA== + RmluZCBpdA== + TW9kaWZ5 + TW9yZSBJbWFnZXM= + TmV3IExpbms= + Tm8= + T0s= + UmVjb21tZW5k + UmVnaXN0ZXI= + UmVtb3ZlIEZyb20gRmF2b3JpdGVz + UmVzZXQ= + U2VsZWN0 + UmVjb3ZlciBQYXNzd29yZA== + U2V0 + U29ydA== + U3Vic2NyaWJl + VW5zdWJzY3JpYmU= + VXBkYXRl + VmlldyBZb3VyIFByb2ZpbGU= + WWVz + Ynk= + Q2FuY2Vs + U2VjdXJpdHkgY29kZQ== + U2VjdXJpdHkgY29kZSBlbnRlcmVkIGluY29ycmVjdGx5 + RW50ZXIgU2VjdXJpdHkgQ29kZQ== + TGFzdCB1cGRhdGVkIG9u + Q2l0eQ== + Y2xpY2sgaGVyZQ== + UGFzc3dvcmQgcmVzZXQgaGFzIGNvZGUgZXhwaXJlZA== + UGFzc3dvcmQgcmVzZXQgY29kZSBpcyBub3QgdmFsaWQ= + QWNjb3VudCBJbmZvcm1hdGlvbg== + Q3VycmVudCBWYWx1ZQ== + RGF0ZQ== + RGlzcGxheSB0byBQdWJsaWM= + RW1haWw= + TGFzdCBVcGRhdGU= + T25saW5l + TG9naW4= + TWVtYmVyIHNpbmNl + TWVzc2FnZQ== + TmFtZQ== + UHJpY2U= + Vmlld3M= + RW1haWxBZGRyZXNz + R28= + Tm8gUGVybWlzc2lvbnM= + UGFnZQ== + Q29tcGFueQ== + Q29udGFjdCBVcw== + Q29udGFjdCBJbmZvcm1hdGlvbg== + Q291bnRyeQ== + Q3JlYXRlIFBhc3N3b3Jk + Q3JlZGl0IENhcmRz + Q3VycmVudCBSYXRpbmc= + WW91ciBUaGVtZQ== + RGF0ZQ== + RGVsZXRl + RGVzY2VuZGluZw== + RGVzY3JpcHRpb24gQSB0byBa + RGVzY3JpcHRpb24gWiB0byBB + WW91ciBGYXZvcml0ZSBJdGVtcw== + RWRpdCB5b3VyIFByZWZlcmVuY2Vz + WW91ciBQcm9maWxlIEluZm9ybWF0aW9u + WW91ciBQcml2YXRlIE1lc3NhZ2Vz + RGV0YWlscw== + TW9kaWZ5 + RS1NYWls + QSB1c2VyIHdpdGggc3VjaCBlLW1haWwgYWxyZWFkeSBleGlzdHMu + TWFpbCBzZW5kaW5nIGZhaWxlZA== + RnJpZW5kJ3MgZS1tYWlsIGFkZHJlc3M= + WW91ciBlLW1haWwgYWRkcmVzcw== + RW50ZXIgeW91ciBFbWFpbCBBZGRyZXNzIGJlbG93IHRvIGhhdmUgeW91ciBhY2NvdW50IGluZm9ybWF0aW9uIHNlbnQgdG8gdGhlIGVtYWlsIGFkZHJlc3Mgb2YgeW91ciBhY2NvdW50Lg== + RW50ZXIgeW91ciBVc2VybmFtZSBvciBFbWFpbCBBZGRyZXNzIGJlbG93IHRvIGhhdmUgeW91ciBhY2NvdW50IGluZm9ybWF0aW9uIHNlbnQgdG8gdGhlIGVtYWlsIGFkZHJlc3Mgb2YgeW91ciBhY2NvdW50Lg== + WW91IGhhdmUgYWxyZWFkeSBjb21tZW50ZWQgdGhpcyBpdGVtIQ== + U29ycnksIHRoZSByZXF1ZXN0ZWQgVVJMIHdhcyBub3QgZm91bmQgb24gb3VyIHNlcnZlci4= + RXJyb3IgNDA0IC0gTm90IEZvdW5k + QWN0aXZhdGlvbiBjb2RlIGhhcyBleHBpcmVk + QWN0aXZhdGlvbiBjb2RlIGlzIG5vdCB2YWxpZA== + Q2F0ZWdvcnkgYWxyZWFkeSBhZGRlZCE= + QWxyZWFkeSBjb21tZW50ZWQ= + Q2F0ZWdvcnkgbGltaXQgcmVhY2hlZCE= + UmVxdWlyZWQ= + VXNlciBOb3QgRm91bmQ= + RmF2b3JpdGU= + Tm90IHJlc2V0 + QXJjaGl2ZSBEYXRl + QXJ0aWNsZSBBdXRob3I= + QXJ0aWNsZSBCb2R5 + TnVtYmVyIG9mIERlc2NlbmRhbnRz + Q2F0ZWdvcnkgUGF0aA== + Q2F0ZWdvcnkgSWQ= + Q2l0eQ== + Q291bnRyeQ== + RGF0ZSBvZiBCaXJ0aA== + RWRpdG9yJ3MgcGljaw== + RS1tYWls + RW5kcyBPbg== + QXJ0aWNsZSBFeGNlcnB0 + Rmlyc3QgTmFtZQ== + TGFzdCBOYW1l + Q2F0ZWdvcnkgTGVhZCBTdG9yeT8= + TGVhZCBTdG9yeT8= + TG9naW4gKFVzZXIgbmFtZSk= + TWV0YSBEZXNjcmlwdGlvbg== + TWV0YSBLZXl3b3Jkcw== + UGFyZW50IElk + UGFyZW50IENhdGVnb3J5IFBhdGg= + UGFzc3dvcmQ= + VGVsZXBob25l + VXNlciBJRA== + U3RhcnQgRGF0ZQ== + U3RhdGU= + U3RyZWV0IEFkZHJlc3M= + QXJ0aWNsZSBUaXRsZQ== + VGltZSBab25l + Vmlld3M= + WmlwIChQb3N0YWwpIENvZGU= + Rmlyc3QgTmFtZQ== + QWRkcmVzcyBsaW5lIDE= + QWRkcmVzcyBsaW5lIDI= + RGF0ZSBvZiBiaXJ0aA== + Qm9keQ== + Q2FwdGNoYSBJbWFnZQ== + Q2l0eQ== + Q29tbWVudA== + Q29tcGFueQ== + Q291bnRyeQ== + RGVzY3JpcHRpb24= + RHVyYXRpb24= + RS1NYWls + RmF4 + UHJpbWFyeSBGaWxl + Mm5kIEZpbGU= + M3JkIEZpbGU= + RmlsZW5hbWU= + Rmlyc3QgbmFtZQ== + RnVsbCBuYW1l + Mm5kIEltYWdl + M3JkIEltYWdl + TGFzdCBuYW1l + VXNlcm5hbWU= + TW9kdWxl + QWRkaXRpb25hbCBDYXRlZ29yaWVz + TmFtZQ== + UGFzc3dvcmQ= + UGhvbmU= + UGhyYXNl + UHJpY2U= + UHJpbWFyeSBDYXRlZ29yeQ== + UHJpbWFyeSBJbWFnZQ== + UHJpbWFyeSBUcmFuc2xhdGlvbg== + UmF0aW5n + Q29tbWVudCBieQ== + Q29tbWVudA== + UGxlYXNlIHNlbGVjdCB5b3VyIGFkZHJlc3M= + U2l6ZQ== + U3RhdGU= + U3RyZWV0 + U3VibWl0dGluZyB0bw== + VGl0bGU= + VHJhbnNsYXRpb24= + TWVtYmVyc2hpcCBHcm91cA== + VmVyaWZ5IFBhc3N3b3Jk + VmVyc2lvbg== + WmlwIGNvZGU= + WmlwIGNvZGU= + SW5ib3g= + Rm9yZ290IHBhc3N3b3Jk + R3Vlc3Q= + SGVyZQ== + SGl0cw== + SGl0cyBIbyB0byBMb3c= + SGl0cyBMb3cgdG8gSGk= + SG9tZQ== + SG90 + aW4= + SW5ib3g= + SW5kaWNhdGVzIFJlcXVpcmVkIGZpZWxkcw== + SW52YWxpZCBlLW1haWwgYWRkcmVzcw== + SXRlbXMgUGVyIFBhZ2U= + Sm9pbmVk + TGFzdCBOYW1l + TG9jYXRpb24= + TG9naW4= + TG9nIE91dA== + TG9nb3V0IG9mIHlvdXIgYWNjb3VudA== + TWFpbGluZyBMaXN0 + TW9yZQ== + TXkgRmF2b3JpdGVz + TXkgUHJlZmVyZW5jZXM= + TXkgUHJvZmlsZQ== + TmFtZQ== + TmV3 + TmV3IEN1c3RvbWVycw== + WW91ciBwcml2YXRlIG1lc3NhZ2UgaGFzIGJlZW4gc2VudC4= + Tm8= + U29ycnksIHlvdSBoYXZlIG5vIGFjY2VzcyB0byB0aGlzIHBhZ2Uh + Tm8gQ2F0ZWdvcmllcw== + Tm8gZmF2b3JpdGUgaXRlbXMgc2F2ZWQ= + Tm8gbWVtYmVycyBmb3VuZA== + Tm9uZQ== + QmUgdGhlIGZpcnN0IHRvIGNvbW1lbnQ= + bm90IGxvZ2dlZCBpbg== + Tm8gUGVybWlzc2lvbnM= + T2xkIHRvIFJlY2VudA== + U2VsZWN0IENhdGVnb3J5 + b3I= + UGFzc3dvcmQ= + UGFzc3dvcmRzIGRvIG5vdCBtYXRjaA== + UGFzc3dvcmQgaXMgdG9vIHNob3J0LCBwbGVhc2UgZW50ZXIgYXQgbGVhc3QgJXMgY2hhcmFjdGVycw== + cGVuZGluZyBpdGVt + QWRkIFBlbmRpbmcgQ2F0ZWdvcnk= + QWRkIENhdGVnb3J5 + RGVsZXRlIENhdGVnb3J5 + TW9kaWZ5IENhdGVnb3J5 + VmlldyBDYXRlZ29yeQ== + UGVuZGluZyBMaW5r + QWRkIExpbms= + RGVsZXRlIExpbms= + TW9kaWZ5IExpbms= + UmF0ZSBMaW5r + VmlldyBMaW5r + UGhvbmU= + UGljaw== + UGxlYXNlIFJlZ2lzdGVy + UG9wdWxhcg== + UG93ZXJlZCBieQ== + UHJpdmFjeSBQb2xpY3k= + UHJvZmlsZQ== + QXZhdGFyIEltYWdl + UXVpY2sgU2VhcmNo + UmF0aW5n + UmF0aW5nIEhpIHRvIExvdw== + UmF0aW5nIExvdyB0byBIaQ== + RmFpcg== + QXZlcmFnZQ== + R29vZA== + VmVyeSBHb29k + RXhjZWxsZW50 + UmVjZW50IHRvIE9sZA== + UmVjb21tZW5kIHRvIGEgRnJpZW5k + UmVjb21tZW5kYXRpb24gQ29uZmlybWF0aW9u + VGhhbmtzIGZvciByZWNvbW1lbmRpbmcgb3VyIHNpdGUgdG8geW91ciBmcmllbmQuIFRoZSBlbWFpbCBoYXMgYmVlbiBzZW50IG91dC4= + UmVjb21tZW5kIHRvIGEgZnJpZW5k + Q2xpY2sgaGVyZSBpZiB5b3VyIGJyb3dzZXIgZG9lcyBub3QgYXV0b21hdGljYWxseSByZWRpcmVjdCB5b3Uu + UmVkaXJlY3RpbmcgLi4u + UmVnaXN0ZXI= + UmVnaXN0cmF0aW9uIENvbmZpcm1hdGlvbg== + VGhhbmsgWW91LiBSZWdpc3RyYXRpb24gY29tcGxldGVkLg== + WW91ciBsb2dpbiBpbmZvcm1hdGlvbiBoYXMgYmVlbiBlbWFpbGVkIHRvIHlvdS4gUGxlYXNlIGNoZWNrIHlvdXIgZW1haWwu + UmVsZXZhbmNl + UmVtZW1iZXIgTG9naW4= + UmVwZWF0IFBhc3N3b3Jk + UmVzZXQ= + UmV0dXJuIHRvIGhvbWVwYWdl + Q29tbWVudHM= + SG9tZQ== + U2VhcmNo + QWRkaXRpb25hbCBJbWFnZXM= + SW1hZ2Vz + TXlBY2NvdW50 + TXkgSXRlbXM= + Q29tbWVudHM= + U2VsZWN0IFVzZXJuYW1l + U2VuZA== + U2VudA== + U2l0ZW1hcA== + U3RhdGU= + U3RhdGlzdGljcw== + U3ViY2F0ZWdvcmllcw== + U3Vic2NyaXB0aW9uIENvbmZpcm1hdGlvbg== + QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHN1YnNjcmliZSB0byBvdXIgbWFpbGluZyBsaXN0PyAoWW91IGNhbiB1bnN1YnNjcmliZSBhbnkgdGltZSBieSBlbnRlcmluZyB5b3VyIGVtYWlsIG9uIHRoZSBmcm9udCBwYWdlKS4= + U3Vic2NyaWJlZA== + U3VibWl0dGluZyB0byBDYXRlZ29yaWVz + U3VnZ2VzdCBDYXRlZ29yeQ== + UHJpdmFjeQ== + VGVybXMgYW5kIENvbmRpdGlvbnMgb2YgVXNl + IFdlIGFyZSBzb3JyeSB5b3UgaGF2ZSB1bnN1YnNjcmliZWQgZnJvbSBvdXIgbWFpbGluZyBsaXN0 + WW91ciB1c2VyIGFjY291bnQgaXMgY3VycmVudGx5IHBlbmRpbmcgb3IgZGlzYWJsZWQuIElmIHlvdSBoYXZlIHJlZ2lzdHJlZCByZWNlbnRseSwgcGxlYXNlIHdhaXQgdW50aWwgeW91ciBhY2NvdW50IHdpbGwgYmUgYXBwcm92ZWQsIG90aGVyd2lzZSBwbGVhc2Ugd3JpdGU= + WW91ciBwYXNzd29yZCBoYXMgYmVlbiByZXNldC4gVGhlIG5ldyBwYXNzd29yZCBoYXMgYmVlbiBzZW50IHRvIHlvdXIgZS1tYWlsIGFkZHJlc3MuIFlvdSBtYXkgbm93IGxvZ2luIHdpdGggdGhlIG5ldyBwYXNzd29yZC4= + WW91IGhhdmUgY2hvc2VuIHRvIHJlc2V0IHlvdXIgcGFzc3dvcmQuPEJSLz48QlIvPg0KQW4gYXV0b21hdGljIGVtYWlsIGhhcyBiZWVuIHNlbnQgdG8geW91ciBlbWFpbCBhZGRyZXNzIG9uIGZpbGUuIFBsZWFzZSBmb2xsb3cgdGhlIGxpbmsgaW4gdGhlIGVtYWlsIGluIG9yZGVyIHRvIHJlY2VpdmUgYSBuZXcgcGFzc3dvcmQu + VGhlIGtleXdvcmQgaXMgdG9vIHNob3J0 + Tm8gY29tbWVudHMsIGFkZCBmaXJzdA== + Tm8gcGVybWlzc2lvbnMgdG8gcGVyZm9ybSB0aGlzIG9wZXJhdGlvbg== + Tm8gcGVybWlzc2lvbnMgdG8gc3VnZ2VzdCBuZXcgY2F0ZWdvcmllcyBpbnRvIGN1cnJlbnQgY2F0ZWdvcnku + Tm90aGluZyBGb3VuZA== + NDA0LiBQYWdlIG5vdCBmb3VuZCBvbiB0aGUgc2VydmVyLg== + UGxlYXNlIGNvbmZpcm0gdGhhdCB5b3Ugd2FudCB0byByZXNldCB5b3VyIHBhc3N3b3JkLg== + VGhhbmsgeW91IGZvciByZWdpc3RlcmluZyBvbiBvdXIgd2Vic2l0ZS4gWW91IGNhbiBhY3RpdmF0ZSB5b3VyIHJlZ2lzdHJhdGlvbiB1c2luZyBsaW5rIHNlbnQgdG8geW91IGJ5IGVtYWlsLg== + VGhhbmsgeW91IGZvciByZWdpc3RlcmluZyBvbiBvdXIgd2Vic2l0ZS4gWW91ciByZWdpc3RyYXRpb24gaXMgcGVuZGluZyBhZG1pbmlzdHJhdGl2ZSBhcHByb3ZhbC4gWW91IHdpbGwgZ2V0IGEgc2VwYXJhdGUgZW1haWwgb25jZSBpdCdzIGFjdGl2YXRlZC4= + VGhhbmsgeW91IGZvciBzdWdnZXN0aW5nIHlvdXIgY2F0ZWdvcnku + U3VnZ2VzdGVkIGNhdGVnb3J5IGlzIHBlbmRpbmcgZm9yIEFkbWluaXN0cmF0aXZlIGFwcHJvdmFsIA== + VGhhbmsgeW91IGZvciBzdWJtaXR0aW5nIHlvdXIgcmVxdWVzdC4= + VGhhbmsgeW91IGZvciBzdWJzY3JpYmluZyB0byBvdXIgbWFpbGluZyBsaXN0 + VGhhbmtzIGZvciBWb3Rpbmch + Q3VycmVudCBDYXRlZ29yeQ== + QWN0aW9uIEJveA== + QWRkaW5nIEFkZHJlc3M= + QWR2ZXJ0aXNlbWVudHM= + QmFjayB0byB0b3A= + Q2F0ZWdvcmllcw== + Q2F0ZWdvcnkgU2VhcmNoIFJlc3VsdHM= + UGVuZGluZyBvciBkaXNhYmxlZCB1c2VyIGFjY291bnQgd2FybmluZw== + RWRpdCBBZGRyZXNz + WW91ciBGYXZvcml0ZSBJdGVtcw== + WW91ciBGYXZvcml0ZXM= + Rm9yZ290IFBhc3N3b3Jk + Rm9yZ290IFBhc3N3b3JkIENvbmZpcm1hdGlvbg== + Rm9yZ290IFBhc3N3b3JkIE5vdGlmaWNhdGlvbg== + TG9naW4gQm94 + TWFpbGluZyBMaXN0 + TWVtYmVycw== + TWlzc2luZyBQaHJhc2UgQWRkaW5n + TXkgQWNjb3VudA== + TXkgQWRkcmVzc2Vz + TXkgRmF2b3JpdGVz + TXkgSXRlbXM= + TXkgUHJlZmVyZW5jZXM= + TXkgUHJvZmlsZQ== + Tm8gUGVybWlzc2lvbg== + UGFnZSBOb3QgRm91bmQ= + UGFzc3dvcmQgUmVxdWVzdCBDb25maXJtYXRpb24= + UHJpdmFjeSBQb2xpY3k= + UmVjb21tZW5kIENvbmZpcm1hdGlvbg== + UmVjb21tZW5kIHRvIGEgRnJpZW5k + VXNlciBSZWdpc3RyYXRpb24gQ29uZmlybWF0aW9u + VXNlciBSZWdpc3RyYXRpb24gUGVuZGluZw== + UmVsYXRlZCBDYXRlZ29yaWVz + UmVsYXRlZCBJdGVtcw== + UmVsYXRlZCBTZWFyY2hlcw== + U2VhcmNoIEJveA== + U2VhcmNoIFJlc3VsdHM= + U2l0ZSBtYXA= + U3Vic2NyaXB0aW9uIENvbmZpcm1hdGlvbg== + U3Vic2NyaXB0aW9uIENvbmZpcm1lZA== + U3VnZ2VzdCBDYXRlZ29yeQ== + Q2F0ZWdvcnkgQWRkZWQ= + Q2F0ZWdvcnkgUGVuZGluZw== + VGVybXMgYW5kIENvbmRpdGlvbnM= + VGhhbmsgeW91IQ== + VW5zdWJzY3JpYmUgQ29uZmlybWF0aW9u + VW5zdWJzY3JpcHRpb24gQ29uZmlybWVk + VXNlciBQcm9maWxl + VXNlciBSZWdpc3RyYXRpb24= + V2VsY29tZSB0byBJbi1Qb3J0YWwh + VG90YWwgQ2F0ZWdvcmllcw== + VW5zdWJzY3JpcHRpb24gQ29uZmlybWF0aW9u + QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHVuc3Vic2NyaWJlIGZyb20gb3VyIG1haWxpbmcgbGlzdD8gKFlvdSBjYW4gYWx3YXlzIHN1YnNjcmliZSBhZ2FpbiBieSBlbnRlcmluZyB5b3VyIGVtYWlsIGF0IHRoZSBob21lIHBhZ2Up + VW5zdWJzY3JpYmU= + VXNlcm5hbWU= + QSB1c2VyIHdpdGggc3VjaCB1c2VybmFtZSBhbHJlYWR5IGV4aXN0cy4= + QSB1c2VyIHdpdGggc3VjaCB1c2VybmFtZS9lLW1haWwgYWxyZWFkeSBleGlzdHMu + VGhhbmsgeW91IGZvciByZWdpc3RlcmluZy4gWW91ciByZWdpc3RyYXRpb24gaXMgcGVuZGluZyBhZG1pbmlzdHJhdGl2ZSBhcHByb3ZhbC4= + VmVyaWZ5IHBhc3N3b3Jk + RGlyZWN0IGFjY2VzcyBvciBib29rbWFyaw== + TnVtYmVyIG9mIFZvdGVz + Vm90ZXM= + Vm90ZXMgSGkgdG8gTG93 + Vm90ZXMgTG93IHRvIEhp + Vm90ZSE= + V2FybmluZw== + V2UgYWNjZXB0IGNyZWRpdCBjYXJkcw== + d3JvdGU= + WWVz + WW91ciBBY2NvdW50 + TGFuZ3VhZ2U= + WW91ciBXaXNoIExpc3Q= + WklQIENvZGU= + WklQIENvZGU= + + + \ No newline at end of file Index: branches/5.0.x/core/units/helpers/themes_helper.php =================================================================== diff -u -N -r12734 -r12808 --- branches/5.0.x/core/units/helpers/themes_helper.php (.../themes_helper.php) (revision 12734) +++ branches/5.0.x/core/units/helpers/themes_helper.php (.../themes_helper.php) (revision 12808) @@ -1,6 +1,6 @@ Application->getUnitOption('theme', 'IDField'); $table_name = $this->Application->getUnitOption('theme', 'TableName'); - $sql = 'SELECT ' . $id_field . ', Enabled + $sql = 'SELECT * FROM ' . $table_name . ' WHERE Name = ' . $this->Conn->qstr($theme_name); $theme_info = $this->Conn->GetRow($sql); @@ -94,16 +94,17 @@ } else { // theme was not found in db, but found on hdd -> create new - $fields_hash = Array ( - 'Name' => $theme_name, - 'Enabled' => 0, - 'Description' => $theme_name, - 'PrimaryTheme' => 0, - 'CacheTimeout' => 3600, // not in use right now - 'StylesheetId' => 0, // not in use right now + $theme_info = Array ( + 'Name' => $theme_name, + 'Enabled' => 0, + 'Description' => $theme_name, + 'PrimaryTheme' => 0, + 'CacheTimeout' => 3600, // not in use right now + 'StylesheetId' => 0, // not in use right now + 'LanguagePackInstalled' => 0 ); - $this->Conn->doInsert($fields_hash, $table_name); + $this->Conn->doInsert($theme_info, $table_name); $theme_id = $this->Conn->getInsertID(); if (!$theme_enabled) { @@ -121,6 +122,81 @@ WHERE ThemeId = '.$theme_id.' AND FileFound = 0'; $this->Conn->Query($sql); + // install language packs, associated with theme (if any found and wasn't aready installed) + if (!$theme_info['LanguagePackInstalled']) { + $language_import_helper =& $this->Application->recallObject('LanguageImportHelper'); + /* @var $language_import_helper LanguageImportHelper */ + + foreach ($this->Application->ModuleInfo as $module_name => $module_info) { + if ($module_name == 'In-Portal') { + continue; + } + + $lang_file = $theme_path . '/' . $module_info['TemplatePath'] . '_install/english.lang'; + + if (file_exists($lang_file)) { + $language_import_helper->performImport($lang_file, '|0|', '', LANG_SKIP_EXISTING); + } + } + + $fields_hash = Array ( + 'LanguagePackInstalled' => 1, + ); + + $this->Conn->doUpdate($fields_hash, $table_name, $id_field . ' = ' . $theme_id); + } + + // get template aliases from "/_install/theme.xml" files in theme + $template_aliases = Array (); + + $xml_parser =& $this->Application->recallObject('kXMLHelper'); + /* @var $xml_parser kXMLHelper */ + + foreach ($this->Application->ModuleInfo as $module_name => $module_info) { + if ($module_name == 'In-Portal') { + continue; + } + + $xml_file = $theme_path . '/' . $module_info['TemplatePath'] . '_install/theme.xml'; + + if (file_exists($xml_file)) { + $xml_data = file_get_contents($xml_file); + $root_node =& $xml_parser->Parse($xml_data); + + if (!is_object($root_node) || !is_a($root_node, 'kXMLNode') || !$root_node->Children) { + // broken xml OR no aliases defined + continue; + } + + $current_node =& $root_node->firstChild; + + do { + $template_path = trim($current_node->Data); + $alias = '#' . $module_info['TemplatePath'] . strtolower($current_node->Name). '#'; + + // remember alias in global theme mapping + $template_aliases[$alias] = $template_path; + + // store alias in theme file record to use later in design dropdown + $t_parts = Array ( + 'path' => dirname($template_path) == '.' ? '' : '/' . dirname($template_path), + 'file' => basename($template_path), + ); + + $sql = 'UPDATE ' . TABLE_PREFIX . 'ThemeFiles + SET TemplateAlias = ' . $this->Conn->qstr($alias) . ' + WHERE (ThemeId = ' . $theme_id . ') AND (FilePath = ' . $this->Conn->qstr($t_parts['path']) . ') AND (FileName = ' . $this->Conn->qstr($t_parts['file'] . '.tpl') . ')'; + $this->Conn->Query($sql); + } while (($current_node =& $current_node->NextSibling())); + } + } + + $fields_hash = Array ( + 'TemplateAliases' => serialize($template_aliases), + ); + + $this->Conn->doUpdate($fields_hash, $table_name, $id_field . ' = ' . $theme_id); + return $theme_id; } Index: branches/5.0.x/themes/advanced/_install/install_data.sql =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/_install/install_data.sql (revision 0) +++ branches/5.0.x/themes/advanced/_install/install_data.sql (revision 12808) @@ -0,0 +1 @@ +UPDATE Category SET l1_Name = 'Home (TD)' WHERE l1_Name = 'Home'; \ No newline at end of file Index: branches/5.0.x/core/install/upgrades.sql =================================================================== diff -u -N -r12733 -r12808 --- branches/5.0.x/core/install/upgrades.sql (.../upgrades.sql) (revision 12733) +++ branches/5.0.x/core/install/upgrades.sql (.../upgrades.sql) (revision 12808) @@ -1595,4 +1595,14 @@ ALTER TABLE ItemFiles CHANGE CreatedOn CreatedOn INT(11) UNSIGNED NULL DEFAULT NULL; ALTER TABLE FormSubmissions CHANGE SubmissionTime SubmissionTime INT(11) NULL DEFAULT NULL; ALTER TABLE SessionLogs CHANGE SessionStart SessionStart INT(11) NULL DEFAULT NULL; -ALTER TABLE Visits CHANGE VisitDate VisitDate INT(10) UNSIGNED NULL DEFAULT NULL; \ No newline at end of file +ALTER TABLE Visits CHANGE VisitDate VisitDate INT(10) UNSIGNED NULL DEFAULT NULL; + +# ===== v 5.0.2-B2 ===== +ALTER TABLE Theme + ADD LanguagePackInstalled TINYINT UNSIGNED NOT NULL DEFAULT '0', + ADD TemplateAliases TEXT, + ADD INDEX (LanguagePackInstalled); + +ALTER TABLE ThemeFiles + ADD TemplateAlias VARCHAR(255) NOT NULL DEFAULT '' AFTER FilePath, + ADD INDEX (TemplateAlias); \ No newline at end of file Index: branches/5.0.x/core/install.php =================================================================== diff -u -N -r12734 -r12808 --- branches/5.0.x/core/install.php (.../install.php) (revision 12734) +++ branches/5.0.x/core/install.php (.../install.php) (revision 12808) @@ -1,6 +1,6 @@ toolkit->getThemes(true)) == 1) { - // only one theme -> set it as primary - $sql = 'UPDATE ' . $this->Application->getUnitOption('theme', 'TableName') . ' - SET Enabled = 1, PrimaryTheme = 1 - LIMIT 1'; - $this->Conn->Query($sql); - - $this->toolkit->rebuildThemes(); // rescan theme to create structure after theme is enabled !!! - - $this->currentStep = $this->GetNextStep(); - } + // put available theme list in database + $this->toolkit->rebuildThemes(); break; case 'upgrade_modules': @@ -842,6 +833,22 @@ $this->Conn->Query($sql); } } + + // install theme dependent demo data + if ($this->Application->GetVar('install_demo_data')) { + $sql = 'SELECT Name + FROM ' . $theme_table . ' + WHERE ' . $theme_idfield . ' = ' . $theme_id; + $theme_name = $this->Conn->GetOne($sql); + + foreach ($this->Application->ModuleInfo as $module_name => $module_info) { + if ($module_name == 'In-Portal') { + continue; + } + + $this->toolkit->RunSQL('/themes' . '/' . $theme_name . '/' . $module_info['TemplatePath'] . '_install/install_data.sql'); + } + } break; case 'upgrade_modules': @@ -961,7 +968,7 @@ } foreach ($versions as $version) { - $upgrade_method = 'Upgrade_'.str_replace('.', '_', $version); + $upgrade_method = 'Upgrade_'.str_replace(Array ('.', '-'), '_', $version); if (method_exists($upgrade_object, $upgrade_method)) { $upgrade_object->$upgrade_method($mode); } Index: branches/5.0.x/core/units/categories/categories_tag_processor.php =================================================================== diff -u -N -r12734 -r12808 --- branches/5.0.x/core/units/categories/categories_tag_processor.php (.../categories_tag_processor.php) (revision 12734) +++ branches/5.0.x/core/units/categories/categories_tag_processor.php (.../categories_tag_processor.php) (revision 12808) @@ -1,6 +1,6 @@ Application->Phrase('la_AdministrativeConsole', false).'\'; + topmost.document.title = document.title + \' - ' . addslashes($this->Application->Phrase('la_AdministrativeConsole', false)) . '\'; t = \''.$this->Application->GetVar('t').'\'; if (window.parent.frames["menu"] != undefined) { Index: branches/5.0.x/themes/simple/_install/theme.xml =================================================================== diff -u -N --- branches/5.0.x/themes/simple/_install/theme.xml (revision 0) +++ branches/5.0.x/themes/simple/_install/theme.xml (revision 12808) @@ -0,0 +1,3 @@ + + designs/default_design.des + \ No newline at end of file Index: branches/5.0.x/core/units/helpers/mod_rewrite_helper.php =================================================================== diff -u -N -r12787 -r12808 --- branches/5.0.x/core/units/helpers/mod_rewrite_helper.php (.../mod_rewrite_helper.php) (revision 12787) +++ branches/5.0.x/core/units/helpers/mod_rewrite_helper.php (.../mod_rewrite_helper.php) (revision 12808) @@ -1,6 +1,6 @@ Application->recallObject('ThemesHelper'); - /* @var $themes_helper kThemesHelper */ + // 1. will damage actual category during category item review add process + // 2. will use "use_section" parameter of "m_Link" tag to gain same effect +// $themes_helper =& $this->Application->recallObject('ThemesHelper'); +// /* @var $themes_helper kThemesHelper */ +// +// $vars['m_cat_id'] = $themes_helper->getPageByTemplate($template_path, $vars['m_theme']); - $vars['m_cat_id'] = $themes_helper->getPageByTemplate($template_path, $vars['m_theme']); - return true; } @@ -460,7 +469,7 @@ $url_part = reset($url_parts); - $sql = 'SELECT ThemeId, IF(LOWER(Name) = ' . $this->Conn->qstr($url_part) . ', 2, PrimaryTheme) AS SortKey + $sql = 'SELECT ThemeId, IF(LOWER(Name) = ' . $this->Conn->qstr($url_part) . ', 2, PrimaryTheme) AS SortKey, TemplateAliases FROM ' . TABLE_PREFIX . 'Theme WHERE Enabled = 1 ORDER BY SortKey DESC'; @@ -471,6 +480,13 @@ // don't use next enabled theme, when primary theme is disabled $vars['m_theme'] = $theme_info['ThemeId']; + if ($theme_info['TemplateAliases']) { + $this->_templateAliases = unserialize($theme_info['TemplateAliases']); + } + else { + $this->_templateAliases = Array (); + } + if ($theme_info['SortKey'] == 2) { // theme was found by name array_shift($url_parts); @@ -868,7 +884,7 @@ $parent_path = implode(',',explode('|', substr($category['ParentPath'], 1, -1))); // item template is stored in module' system custom field - need to get that field Id - $item_template_field_id = $this->_getItemTemplateCustomField($module_prefix); + $item_template_field_id = $this->getItemTemplateCustomField($module_prefix); // looking for item template through cats hierarchy sorted by parent path $query = ' SELECT ccd.l1_cust_' . $item_template_field_id . ', @@ -881,6 +897,24 @@ ORDER BY FIND_IN_SET(c.CategoryId, ' . $this->Conn->qstr($parent_path) . ') DESC'; $item_template = $this->Conn->GetOne($query); + if (!isset($this->_templateAliases)) { + // when empty url OR mod-rewrite disabled + + $themes_helper =& $this->Application->recallObject('ThemesHelper'); + /* @var $themes_helper kThemesHelper */ + + $sql = 'SELECT TemplateAliases + FROM ' . TABLE_PREFIX . 'Theme + WHERE ThemeId = ' . (int)$themes_helper->getCurrentThemeId(); + $template_aliases = $this->Conn->GetOne($sql); + + $this->_templateAliases = $template_aliases ? unserialize($template_aliases) : Array (); + } + + if ($item_template && array_key_exists($item_template, $this->_templateAliases)) { + $item_template = $this->_templateAliases[$item_template]; + } + $this->Application->setCache(__CLASS__ . __FUNCTION__, $cache_key, $item_template); return $item_template; @@ -914,7 +948,7 @@ * @param string $module_prefix * @return int */ - function _getItemTemplateCustomField($module_prefix) + function getItemTemplateCustomField($module_prefix) { $cached_value = $this->Application->getCache(__CLASS__ . __FUNCTION__, $module_prefix); if ($cached_value !== false) {