1.1 --- a/QFox2.md5 Thu Dec 24 16:04:33 2009 +0600
1.2 +++ b/QFox2.md5 Mon Dec 28 17:27:30 2009 +0600
1.3 @@ -1,5 +1,5 @@
1.4 b92be6c47d1a7c6ac6fcf3a3184b1462 kernel2/by_ext.mime
1.5 -52b61c555d9f78e7dbffcd4aa83302ef kernel2/krnl_def.lng
1.6 +8e765881bb31e3069ca6489f524139cc kernel2/krnl_def.lng
1.7 e1b405e8844770ab09fe0acadd9b5de9 kernel2/magic.mime
1.8 76e7208935e003758f501e6664433596 kernel2/modules.qfc
1.9 bf2a7b0967598be80494cc71816fc6b7 kernel2/QF2_base.php
1.10 @@ -12,7 +12,7 @@
1.11 841471159a2a033f83ad3ba566ef591a kernel2/QF2_lang.php
1.12 fabbb52cdc1076e14281f30e06eadae6 kernel2/QF2_mailer.php
1.13 14ba43b048dc73efbff21572186fedea kernel2/QF2_mysql.php
1.14 -d1d6b0215ddc71abfcb838b660c82e31 kernel2/QF2_parser.php
1.15 +7c70ed3cfbad43ebca7495c26238a9f6 kernel2/QF2_parser.php
1.16 29a8d6fd942f98dd45882fef16592c23 kernel2/QF2_rsa.php
1.17 46b7e94d411d843ea0240e067f6c53d5 kernel2/QF2_services.php
1.18 fbb868231380f53d44908e433a0fd439 kernel2/QF2_sess.php
1.19 @@ -144,7 +144,7 @@
1.20 989489290036483052d960d6ec7f72c2 kernel2/chars/x-mac-roman.ltt
1.21 fb9375c8f8c5fc54000ba23e31f6ce2d kernel2/chars/zdingbat.chr
1.22 8f80cc35ff7453a2be7fa926f31383e3 QFox2/as_data.dat
1.23 -d26d325cfb5bf62626b46622f701226d QFox2/Fox2.php
1.24 +967c9d4fa4eee23875292a487472afd1 QFox2/Fox2.php
1.25 53600c837c8fb0c7bf938a68d2e8d650 QFox2/Fox2_adm.php
1.26 5c24b3ffa072e02cb45a11d69a917f34 QFox2/Fox2_cfgsets.php
1.27 64569999e61fcffd3d2f824bce1c1806 QFox2/Fox2_cms.php
1.28 @@ -170,7 +170,7 @@
1.29 c1a079d7456de608617485941d478c40 data/langs/RU/admin.lng
1.30 a16095c426c0ee7586d5a1f4c0538d38 data/langs/RU/cms_spec.lng
1.31 92769b489804b2bdcb8730fcac56823b data/langs/RU/common.lng
1.32 -26f346ecc562ed90fc818de2728eb5a7 data/langs/RU/kernel.lng
1.33 +06e7dbcf9e0e5c2029c1b033c97b5ba8 data/langs/RU/kernel.lng
1.34 a2fa0afd55500564b038b8f2bd485bd1 data/langs/RU/posttree.lng
1.35 4a200ba8cda777dbebf5f5a1fb7919a5 data/langs/RU/qf2_base_errs.lng
1.36 f4af1e890d7ed4745c4b0f468489a243 data/langs/RU/qf2_cfgs.lng
1.37 @@ -178,7 +178,7 @@
1.38 7c23427a997d61b4d08ae34f9b8bb00f data/langs/RU/usercab.lng
1.39 d761024c859c725e9b6c4fd336ef2fe4 data/styles/qf_def/admin.vis
1.40 ca480224e35c62d7c2e91aca4716c356 data/styles/qf_def/cms_spec.vis
1.41 -50a4826046088f4f817ebfff2b07cabb data/styles/qf_def/common.ecss
1.42 +f790ff7c18208d1e74fd54bcbe476b5c data/styles/qf_def/common.ecss
1.43 041f0b16649c5f8201aeb9a394c7a734 data/styles/qf_def/common.vis
1.44 ab6a8a2591e13db50849a22ff0e83a36 data/styles/qf_def/posttree.vis
1.45 9d26b8056c2d90dd878c4ce4fc849258 data/styles/qf_def/qf_setup.vis
1.46 @@ -231,7 +231,7 @@
1.47 8710262c0e6935391c497cb293a7dd47 data/styles/qf_def/blogs.vis
1.48 8e8a3466ac7c5c702c78db314662bf3a data/langs/RU/blogs.lng
1.49 d41d8cd98f00b204e9800998ecf8427e data/langs/RU/blogs_cfgs.lng
1.50 -d2286fd524637a9451deca53e4bf6302 data/modules/Fox2_Gal.php
1.51 +b72875d0432b555b3d2bf041e82402f0 data/modules/Fox2_Gal.php
1.52 168a91571dc8caee635f2d3633172e40 data/modules/Fox2_Gal_Incls.php
1.53 59e856cfeeeba4a99c3bd40860e8dc19 data/styles/qf_def/gallery.vis
1.54 e9b172286b8bd68830d6ed1be0f6af04 data/langs/RU/gallery.lng
2.1 --- a/QFox2/Fox2.php Thu Dec 24 16:04:33 2009 +0600
2.2 +++ b/QFox2/Fox2.php Mon Dec 28 17:27:30 2009 +0600
2.3 @@ -34,6 +34,7 @@
2.4 class Fox2
2.5 {
2.6 var $URL_temps;
2.7 + var $URL_domain = null;
2.8 var $err_traced = Array();
2.9
2.10 function Fox2()
2.11 @@ -66,8 +67,20 @@
2.12 $QF->Cache->Clear();
2.13
2.14 $QF->LNG->Load_Language('common');
2.15 + //$QF->Config->Set('linked_domains', Array('gallery' => 'www.quickfox.dev'), 'fox2');
2.16 + //$QF->Config->Set('basic_domain', 'quickfox.dev', 'fox2');
2.17
2.18 - // applying per domain scheme
2.19 + // starting neded modules
2.20 + $QF->Run_Module('DSets');
2.21 + $QF->Run_Module('User');
2.22 +
2.23 + $revision = $QF->DSets->Get_DSet_Value('dev_rev_info', 'qf2');
2.24 + header('X-Powered-By: QuickFox 2 ['.$revision.'] (PHP/'.PHP_VERSION.')');
2.25 +
2.26 + // url reparsing
2.27 + $rw_id = $QF->GPC->Get_String('rw_id', QF_GPC_GET, QF_STR_WORD);
2.28 + $rw_data = $QF->GPC->Get_String('rw_data', QF_GPC_GET, QF_STR_LINE);
2.29 + // working with multidomain
2.30 if ($QF->Config->Get('tgl_multidomain', 'fox2'))
2.31 {
2.32 $d_schemas = $QF->Config->Get('domain_schemas', 'fox2');
2.33 @@ -82,14 +95,26 @@
2.34 }
2.35 elseif ($d_schemas[$domain])
2.36 $QF->Config->Select_Scheme($d_schemas[$domain]);
2.37 +
2.38 + if (($domains = $QF->Config->Get('linked_domains', 'fox2'))
2.39 + && ($basic_domain = $QF->Config->Get('basic_domain', 'fox2'))
2.40 + && is_array($domains) && count($domains))
2.41 + {
2.42 list($link) = array_keys($domains, $domain);
2.43 + if ($link)
2.44 + {
2.45 $this->URL_domain = $basic_domain;
2.46 + if ($rw_id && $rw_id != $link)
2.47 + $rw_data = $rw_id.'/'.$rw_data;
2.48 + $rw_id = $link;
2.49 + }
2.50 + }
2.51 }
2.52 -
2.53 - // starting neded modules
2.54 - $QF->Run_Module('DSets');
2.55 - $QF->Run_Module('User');
2.56 -
2.57 - $revision = $QF->DSets->Get_DSet_Value('dev_rev_info', 'qf2');
2.58 - header('X-Powered-By: QuickFox 2 ['.$revision.'] (PHP/'.PHP_VERSION.')');
2.59 + // rewrited url reparsing
2.60 + if ($rw_id)
2.61 + {
2.62 + $this->_Parse_RW($rw_id, $rw_data);
2.63 + $QF->Events->Set_On_Event('HTTP_HTML_parse', Array(&$this, 'HTML_FullURLs') );
2.64 + $QF->Events->Set_On_Event('HTML_block_parse', Array(&$this, 'HTML_FullURLs') );
2.65 + }
2.66
2.67 // running the services
2.68 $next_start = $QF->Config->Get('service_nextstart', 'temp');
2.69 @@ -120,13 +145,6 @@
2.70 if ($QF->Config->Get('vis_redefined', 'fox2'))
2.71 $QF->Events->Set_On_Event('VIS_module_start', Array(&$this, '_VISUserMods_Preload') );
2.72
2.73 - if ($rw_id = $QF->GPC->Get_String('rw_id', QF_GPC_GET, QF_STR_WORD))
2.74 - {
2.75 - $this->_Parse_RW($rw_id, $QF->GPC->Get_String('rw_data', QF_GPC_GET, QF_STR_LINE));
2.76 - $QF->Events->Set_On_Event('HTTP_HTML_parse', Array(&$this, 'HTML_FullURLs') );
2.77 - $QF->Events->Set_On_Event('HTML_block_parse', Array(&$this, 'HTML_FullURLs') );
2.78 - }
2.79 -
2.80 // running any autoruns from packages
2.81 if ($ar_datas = $QF->DSets->Get_DSet('fox_autoruns'))
2.82 foreach ($ar_datas as $arun)
2.83 @@ -389,7 +407,7 @@
2.84 foreach ($menubts as $butt)
2.85 if (is_array($butt) && qf_str_is_url($butt['url']))
2.86 {
2.87 - $butt['url'] = qf_full_url($butt['url'], true);
2.88 + $butt['url'] = qf_full_url($butt['url'], true, $this->URL_domain);
2.89 if (isset($butt['is_sub']) && $butt['is_sub'] && $cur_butt)
2.90 $QF->VIS->Add_Node('MENU_SUBBUTTON', 'SUBS', $cur_butt, $butt);
2.91 else
2.92 @@ -549,7 +567,7 @@
2.93
2.94 if ($redir_to)
2.95 {
2.96 - $url = qf_full_url($redir_to);
2.97 + $url = qf_full_url($redir_to, false, $this->URL_domain);
2.98 $QF->Events->Call_Event_Ref('HTTP_URL_Parse', $url );
2.99 $hurl = strtr($url, Array('&' => '&'));
2.100
2.101 @@ -712,7 +730,7 @@
2.102
2.103 $url = $this->Gen_URL($url_id, $params, true, true);
2.104 if ($matches[1] == 'F')
2.105 - $url = qf_full_url($url, true);
2.106 + $url = qf_full_url($url, true, $this->URL_domain);
2.107 elseif ($matches[1] == 'R') // && $url{0} != '/'
2.108 {
2.109 $comps = parse_url($url);
2.110 @@ -750,18 +768,37 @@
2.111 $data = str_replace(array_keys($consts), array_values($consts), $data);
2.112
2.113
2.114 - if ($QF->Config->Get('tgl_multidomain', 'fox2') && ($domains = $QF->Config->Get('package_domains', 'fox2')) && is_array($domains) && count($domains))
2.115 - {
2.116 - $domains = preg_replace('#^http\:(?:/)*|/$#i', '', $domains);
2.117 + if ($QF->Config->Get('tgl_multidomain', 'fox2'))
2.118 + {
2.119 $domains = $QF->Config->Get('package_domains', 'fox2');
2.120 + $ldomains = $QF->Config->Get('linked_domains', 'fox2');
2.121 + $basedomain = $QF->Config->Get('basic_domain', 'fox2');
2.122 + if (!is_array($domains))
2.123 + $domains = Array();
2.124 + if (!is_array($ldomains) || !$basedomain)
2.125 + $ldomains = Array();
2.126
2.127 - foreach ($data as $key => $val)
2.128 + if (count($domains) || count($ldomains))
2.129 {
2.130 - $cur_pkg = $pkgs[$key];
2.131 - if (isset($domains[$cur_pkg]))
2.132 + $domains = preg_replace('#^http\:(?:/)*|/$#i', '', $domains);
2.133 + $ldomains = preg_replace('#^http\:(?:/)*|/$#i', '', $ldomains);
2.134 + $basedomain = preg_replace('#^http\:(?:/)*|/$#i', '', $basedomain);
2.135 +
2.136 + foreach ($data as $key => $val)
2.137 {
2.138 - $domain = $domains[$cur_pkg];
2.139 - $val = qf_full_url($val, true, $domain);
2.140 - $data[$key] = $val;
2.141 + $cur_pkg = $pkgs[$key];
2.142 + list($cur_link, $cur_url) = explode('/', $val, 2);
2.143 + if ($cur_link && isset($ldomains[$cur_link]))
2.144 + {
2.145 + $domain = $ldomains[$cur_link];
2.146 + $val = qf_full_url($cur_url, true, $domain);
2.147 + $data[$key] = $val;
2.148 + }
2.149 + elseif (isset($domains[$cur_pkg]))
2.150 + {
2.151 + $domain = $domains[$cur_pkg];
2.152 + $val = qf_full_url($val, true, $domain);
2.153 + $data[$key] = $val;
2.154 + }
2.155 }
2.156 }
2.157 }
2.158 @@ -854,7 +891,7 @@
2.159 }
2.160
2.161 if (qf_str_is_url($url) == 2)
2.162 - $url = qf_full_url($url, true);
2.163 + $url = qf_full_url($url, true, $this->URL_domain);
2.164
2.165 return $vars[1].$vars[3].'='.$bounds.$url.$bounds;
2.166
3.1 --- a/data/langs/RU/kernel.lng Thu Dec 24 16:04:33 2009 +0600
3.2 +++ b/data/langs/RU/kernel.lng Mon Dec 28 17:27:30 2009 +0600
3.3 @@ -30,6 +30,8 @@
3.4 ---
3.5 DATETIME_YESTERDAY: вчера %1$s
3.6 ---
3.7 +QUOTE_CAPT: Цитата
3.8 +---
3.9
3.10 BSIZE_FORM_BYTES: Байт|КБайт|МБайт|ГБайт
3.11 ---
4.1 --- a/data/modules/Fox2_Gal.php Thu Dec 24 16:04:33 2009 +0600
4.2 +++ b/data/modules/Fox2_Gal.php Mon Dec 28 17:27:30 2009 +0600
4.3 @@ -266,7 +266,7 @@
4.4 'lasttime' => $QF->Timer->time,
4.5 );
4.6
4.7 - if (!$owner)
4.8 + if (!$owner && is_array($access))
4.9 {
4.10 if (isset($access['r_level']))
4.11 $data['w_level'] = $data['r_level'] = min(abs($access['r_level']), QF_FOX2_MAXULEVEL);
4.12 if (isset($access['w_level']))
5.1 --- a/data/styles/qf_def/common.ecss Thu Dec 24 16:04:33 2009 +0600
5.2 +++ b/data/styles/qf_def/common.ecss Mon Dec 28 17:27:30 2009 +0600
5.3 @@ -153,7 +153,9 @@
5.4 table.grid_tbl td { border: {matte_brd} solid 1px; }
5.5 table.grid_tbl th { background: {matte_bgda}; border: {matte_brd} solid 1px; vertical-align: middle; }
5.6
5.7 -div.overlay { background: {matte_bg}; -moz-border-radius: 4px; border: {matte_brd} solid; border-width: 1px 2px 2px 1px; padding: 3px; }
5.8 +div.overlay, div.qf_quote_text { background: {matte_bg}; -moz-border-radius: 4px; border: {matte_brd} solid; border-width: 1px 2px 2px 1px; padding: 3px; }
5.9 +div.qf_quote_capt { padding: 3px 20px; }
5.10 +div.qf_quote_outer { margin: 10px 30px; }
5.11
5.12 img.bordered { border: {matte_brd} solid 1px; }
5.13
6.1 --- a/install/content.sql Thu Dec 24 16:04:33 2009 +0600
6.2 +++ b/install/content.sql Mon Dec 28 17:27:30 2009 +0600
6.3 @@ -1391,19 +1391,19 @@
6.4 REPLACE INTO `{DBKEY}datasets` (`set_id`, `package`, `data_id`, `data`, `scalar`, `lparse_sufx`)
6.5 VALUES('fox_ajax_scripts', 'qf2', 'ptree_getpost', 'a:2:{s:6:\"module\";s:11:\"PTree_incls\";s:6:\"method\";s:11:\"AJX_getpost\";}', '0', '');
6.6 REPLACE INTO `{DBKEY}datasets` (`set_id`, `package`, `data_id`, `data`, `scalar`, `lparse_sufx`)
6.7 - VALUES('dev_rev_info', 'qf2', 'qf2', 'PA.091222.1055', '1', '');
6.8 -REPLACE INTO `{DBKEY}datasets` (`set_id`, `package`, `data_id`, `data`, `scalar`, `lparse_sufx`)
6.9 - VALUES('dev_rev_info', 'qf2_base', 'qf2_base', 'PA.091222.1055', '1', '');
6.10 -REPLACE INTO `{DBKEY}datasets` (`set_id`, `package`, `data_id`, `data`, `scalar`, `lparse_sufx`)
6.11 - VALUES('dev_rev_info', 'qf2_adm', 'qf2_adm', 'PA.091222.1055', '1', '');
6.12 -REPLACE INTO `{DBKEY}datasets` (`set_id`, `package`, `data_id`, `data`, `scalar`, `lparse_sufx`)
6.13 - VALUES('dev_rev_info', 'qf2_multiuser', 'qf2_multiuser', 'PA.091222.1055', '1', '');
6.14 -REPLACE INTO `{DBKEY}datasets` (`set_id`, `package`, `data_id`, `data`, `scalar`, `lparse_sufx`)
6.15 - VALUES('dev_rev_info', 'google_adds', 'google_adds', 'PA.091222.1055', '1', '');
6.16 -REPLACE INTO `{DBKEY}datasets` (`set_id`, `package`, `data_id`, `data`, `scalar`, `lparse_sufx`)
6.17 - VALUES('dev_rev_info', 'gallery', 'gallery', 'PA.091222.1055', '1', '');
6.18 -REPLACE INTO `{DBKEY}datasets` (`set_id`, `package`, `data_id`, `data`, `scalar`, `lparse_sufx`)
6.19 - VALUES('dev_rev_info', 'music_player', 'music_player', 'PA.091222.1055', '1', '');
6.20 + VALUES('dev_rev_info', 'qf2', 'qf2', 'PA.091228.0841', '1', '');
6.21 +REPLACE INTO `{DBKEY}datasets` (`set_id`, `package`, `data_id`, `data`, `scalar`, `lparse_sufx`)
6.22 + VALUES('dev_rev_info', 'qf2_base', 'qf2_base', 'PA.091228.0841', '1', '');
6.23 +REPLACE INTO `{DBKEY}datasets` (`set_id`, `package`, `data_id`, `data`, `scalar`, `lparse_sufx`)
6.24 + VALUES('dev_rev_info', 'qf2_adm', 'qf2_adm', 'PA.091228.0841', '1', '');
6.25 +REPLACE INTO `{DBKEY}datasets` (`set_id`, `package`, `data_id`, `data`, `scalar`, `lparse_sufx`)
6.26 + VALUES('dev_rev_info', 'qf2_multiuser', 'qf2_multiuser', 'PA.091228.0841', '1', '');
6.27 +REPLACE INTO `{DBKEY}datasets` (`set_id`, `package`, `data_id`, `data`, `scalar`, `lparse_sufx`)
6.28 + VALUES('dev_rev_info', 'google_adds', 'google_adds', 'PA.091228.0841', '1', '');
6.29 +REPLACE INTO `{DBKEY}datasets` (`set_id`, `package`, `data_id`, `data`, `scalar`, `lparse_sufx`)
6.30 + VALUES('dev_rev_info', 'gallery', 'gallery', 'PA.091228.0841', '1', '');
6.31 +REPLACE INTO `{DBKEY}datasets` (`set_id`, `package`, `data_id`, `data`, `scalar`, `lparse_sufx`)
6.32 + VALUES('dev_rev_info', 'music_player', 'music_player', 'PA.091228.0841', '1', '');
6.33 REPLACE INTO `{DBKEY}datasets` (`set_id`, `package`, `data_id`, `data`, `scalar`, `lparse_sufx`)
6.34 VALUES('package_dbases', 'qf2_multiuser', 'qf2_multiuser', 'a:1:{i:0;s:9:\"users_rel\";}', '0', '');
6.35 REPLACE INTO `{DBKEY}datasets` (`set_id`, `package`, `data_id`, `data`, `scalar`, `lparse_sufx`)
6.36 @@ -1453,7 +1453,7 @@
6.37 REPLACE INTO `{DBKEY}datasets` (`set_id`, `package`, `data_id`, `data`, `scalar`, `lparse_sufx`)
6.38 VALUES('fox_index_dps', 'blogs', 'blogs', 'Blogs root', '1', '');
6.39 REPLACE INTO `{DBKEY}datasets` (`set_id`, `package`, `data_id`, `data`, `scalar`, `lparse_sufx`)
6.40 - VALUES('dev_rev_info', 'blogs', 'blogs', 'PA.091222.1055', '1', '');
6.41 + VALUES('dev_rev_info', 'blogs', 'blogs', 'PA.091228.0841', '1', '');
6.42
6.43
6.44 # Data content for {DBKEY}config_sets
7.1 --- a/kernel2/QF2_parser.php Thu Dec 24 16:04:33 2009 +0600
7.2 +++ b/kernel2/QF2_parser.php Mon Dec 28 17:27:30 2009 +0600
7.3 @@ -50,6 +50,8 @@
7.4
7.5 function Init_Std_Tags()
7.6 {
7.7 + global $QF;
7.8 +
7.9 $this->Add_Tag('b', 'b');
7.10 $this->Add_Tag('i', 'i');
7.11 $this->Add_Tag('u', 'u');
7.12 @@ -77,7 +79,7 @@
7.13 $this->Add_Preg(QF_FURL_MASK, '[url]{data}[/url]');
7.14 //$this->Add_Preg(QF_EMAIL_MASK, '[email]{data}[/email]');
7.15
7.16 - $this->Add_Tag('quote', '<table><tr><td>Quote: {param}</td></tr><tr><td style="border: solid #107010 1px;">{data}</td></tr></table>', QF_BBTAG_BLLEV | QF_BBTAG_FHTML | QF_BBTAG_SUBDUP );
7.17 + $this->Add_Tag('quote', '<div class="qf_quote_outer"><div class="qf_quote_capt">'.$QF->LNG->Lang('QUOTE_CAPT').': <b>{param}</b></div><div class="qf_quote_text">{data}</div></div>', QF_BBTAG_BLLEV | QF_BBTAG_FHTML | QF_BBTAG_SUBDUP );
7.18 }
7.19
7.20 function Add_Tag($bbtag, $html, $tag_mode=0, $extra = null)
7.21 @@ -89,7 +91,7 @@
7.22 return false;
7.23
7.24 $newtag = Array(
7.25 - 'html' => strtolower($html),
7.26 + 'html' => $html,
7.27 'mode' => (int) $tag_mode,
7.28 );
7.29
8.1 --- a/kernel2/krnl_def.lng Thu Dec 24 16:04:33 2009 +0600
8.2 +++ b/kernel2/krnl_def.lng Mon Dec 28 17:27:30 2009 +0600
8.3 @@ -26,3 +26,5 @@
8.4 ---
8.5 BSIZE_FORM_BITS: b|Kb|Mb|Gb
8.6 ---
8.7 +QUOTE_CAPT: Quote
8.8 +---
8.9 \ No newline at end of file