Changeset 1073922
- Timestamp:
- 01/23/2015 07:37:04 AM (11 years ago)
- Location:
- mqtranslate/trunk
- Files:
-
- 5 edited
-
mqtranslate.js (modified) (3 diffs)
-
mqtranslate.php (modified) (1 diff)
-
mqtranslate_configuration.php (modified) (1 diff)
-
mqtranslate_core.php (modified) (2 diffs)
-
mqtranslate_xhaleera_addons.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
mqtranslate/trunk/mqtranslate.js
r1073918 r1073922 680 680 var langSwitchWrap=qtrans_ce('ul', {className: 'qtrans-lang-switch-wrap wp-ui-primary'}); 681 681 { 682 //var header=w.getElementsByTagName('h2')[0];683 //header.parentNode.insertBefore(langSwitchWrap, header.nextElementSibling);684 682 var w=document.getElementsByClassName('wrap')[0]; 685 683 var f=w.getElementsByTagName('form')[0]; … … 694 692 { 695 693 var langs=qTranslateConfig.enabled_languages, langNames=qTranslateConfig.language_name, activeLanguage=initial_language; 694 var editableLangs = qTranslateConfig.editable_languages || langs; 695 var visibleLangs = qTranslateConfig.visible_languages || new Array(); 696 696 var tabSwitches={}; 697 697 var onTabSwitch=[]; … … 718 718 for(var i=0; i<langs.length; ++i) 719 719 { 720 var lang=langs[i]; 721 722 var langName = langNames[lang]; 723 var editableIndex = editableLangs.indexOf(lang); 724 if (editableIndex < 0) { 725 if (visibleLangs.indexOf(lang) < 0) 726 continue; 727 langName += ' (Read Only)'; 728 } 729 720 730 //var flags_location=qTranslateConfig.WP_CONTENT_URL+qTranslateConfig.flag_location; 721 731 var flag_location=qTranslateConfig.flag_location; 722 var lang=langs[i];723 732 var tabSwitch=qtrans_ce ('li', {lang: lang, className: 'qtrans-lang-switch', onclick: switchTab }, target ); 724 733 qtrans_ce('img', {src: flag_location+qTranslateConfig.flag[lang]}, tabSwitch); 725 qtrans_ce('span', {innerHTML: langName s[lang]}, tabSwitch);734 qtrans_ce('span', {innerHTML: langName}, tabSwitch); 726 735 tabSwitches[lang]=tabSwitch; 727 736 if ( activeLanguage == lang ) -
mqtranslate/trunk/mqtranslate.php
r1073918 r1073922 502 502 503 503 // User-level language protection 504 $q_config['ul_lang_protection'] = 1;504 $q_config['ul_lang_protection'] = 0; 505 505 506 506 // Custom post types modification -
mqtranslate/trunk/mqtranslate_configuration.php
r1073918 r1073922 85 85 } 86 86 } 87 88 $config = apply_filters('pre_qtranslate_js', $config); 87 89 ?> 88 90 <script type="text/javascript"> -
mqtranslate/trunk/mqtranslate_core.php
r1073921 r1073922 983 983 */ 984 984 985 function qtrans_split($text, $quicktags = true ) {985 function qtrans_split($text, $quicktags = true, array &$languageMap = NULL) { 986 986 global $q_config; 987 987 $split_regex = "#(<!--:[a-z]{2}-->|<!--:-->|\[:[a-z]{2}\])#ism"; … … 995 995 foreach($blocks as $block) { 996 996 # detect language tags 997 if(preg_match("#^<!--:([a-z]{2})-->$#ism", $block, $matches)) { 998 $current_language = $matches[1]; 999 if(!qtrans_isEnabled($current_language)) $current_language = false; 997 if (preg_match("#^<!--:([a-z]{2})-->$#ism", $block, $matches)) { 998 if (qtrans_isEnabled($matches[1])) { 999 $current_language = $matches[1]; 1000 if ($languageMap !== NULL) 1001 $languageMap[$current_language] = false; 1002 } 1003 else 1004 $current_language = false; 1000 1005 continue; 1001 1006 // detect quicktags 1002 1007 } elseif($quicktags && preg_match("#^\[:([a-z]{2})\]$#ism", $block, $matches)) { 1003 $current_language = $matches[1]; 1004 if(!qtrans_isEnabled($current_language)) $current_language = false; 1008 if (qtrans_isEnabled($matches[1])) { 1009 $current_language = $matches[1]; 1010 if ($languageMap !== NULL) 1011 $languageMap[$current_language] = true; 1012 } 1013 else 1014 $current_language = false; 1005 1015 continue; 1006 1016 // detect ending tags 1007 } elseif(preg_match("#^<!--:-->$#ism", $block, $matches)) { 1017 } 1018 elseif (preg_match("#^<!--:-->$#ism", $block, $matches)) { 1008 1019 $current_language = false; 1009 1020 continue; 1010 1021 } 1022 1011 1023 // correctly categorize text block 1012 if ($current_language){1024 if ($current_language) { 1013 1025 $result[$current_language] .= $block; 1014 1026 $current_language = false; 1015 }else{ 1016 foreach($q_config['enabled_languages'] as $language) { 1027 } 1028 else { 1029 foreach ($q_config['enabled_languages'] as $language) 1017 1030 $result[$language] .= $block; 1018 }1019 1031 } 1020 1032 } -
mqtranslate/trunk/mqtranslate_xhaleera_addons.php
r1073916 r1073922 161 161 return; 162 162 163 $titleMap = array(); 164 $contentMap = array(); 163 $fields = array('title', 'content', 'excerpt'); 164 165 $containers = array(); 166 $maps = array(); 165 167 166 168 $cu = wp_get_current_user(); 167 169 if ($cu->has_cap('edit_users') || empty($q_config['ul_lang_protection'])) 168 170 { 169 $title = qtrans_split($after->post_title, true, $titleMap); 170 foreach ($title as $k => $v) { 171 if (qtrans_isEmptyContent($v)) 172 unset($title[$k]); 173 } 174 $content = qtrans_split($after->post_content, true, $contentMap); 175 foreach ($content as $k => $v) { 176 if (qtrans_isEmptyContent($v)) 177 unset($content[$k]); 178 } 179 } 180 else 181 { 182 $titleBeforeMap = array(); 183 $titleBefore = qtrans_split($before->post_title, true, $titleBeforeMap); 184 $titleAfter = qtrans_split($after->post_title, true, $titleMap); 185 foreach ($titleAfter as $k => $v) { 186 if (!mqtrans_currentUserCanEdit($k)) 187 unset($titleAfter[$k], $titleMap[$k]); 188 } 189 $title = array_merge($titleBefore, $titleAfter); 190 $titleMap = array_merge($titleBeforeMap, $titleMap); 191 192 $contentBeforeMap = array(); 193 $contentBefore = qtrans_split($before->post_content, true, $contentBeforeMap); 194 $contentAfter = qtrans_split($after->post_content, true, $contentMap); 195 foreach ($contentAfter as $k => $v) { 196 if (qtrans_isEmptyContent($v) || !mqtrans_currentUserCanEdit($k)) 197 unset($contentAfter[$k], $contentMap[$k]); 198 } 199 $content = array_merge($contentBefore, $contentAfter); 200 $contentMap = array_merge($contentBeforeMap, $contentMap); 201 } 202 203 $data = array('post_title' => qtrans_join($title, $titleMap), 'post_content' => qtrans_join($content, $contentMap)); 171 foreach ($fields as $f) { 172 $containers[$f] = qtrans_split($after->{"post_{$f}"}, true, $maps[$f]); 173 foreach ($containers[$f] as $k => $v) { 174 if (qtrans_isEmptyContent($v)) 175 unset($containers[$f]); 176 } 177 } 178 } 179 else 180 { 181 foreach ($fields as $f) { 182 $beforeMap = array(); 183 $before = qtrans_split($before->{"post_{$f}"}, true, $beforeMap); 184 $after = qtrans_split($after->{"post_{$f}"}, true, $maps[$f]); 185 foreach ($after as $k => $v) { 186 if (!mqtrans_currentUserCanEdit($k)) 187 unset($after[$k], $maps[$f][$k]); 188 } 189 $containers[$f] = array_merge($before, $after); 190 $maps[$f] = array_merge($beforeMap, $maps[$f]); 191 } 192 } 193 194 $data = array(); 195 foreach ($fields as $f) 196 $data["post_{$f}"] = qtrans_join($containers[$f], $maps[$f]); 204 197 if (get_magic_quotes_gpc()) 205 198 $data = stripslashes_deep($data); … … 247 240 <label for="ul_lang_protection"><input type="checkbox" name="ul_lang_protection" id="ul_lang_protection" value="1"<?php echo ($q_config['ul_lang_protection'])?' checked="checked"':''; ?>/> <?php _e('Enable user-level language protection', 'mqtranslate'); ?></label> 248 241 <br /> 249 <small><?php _e('When enabled, this option allows you to select which language is editable on a user-level account basis. ', 'mqtranslate') ?></small>242 <small><?php _e('When enabled, this option allows you to select which language is editable on a user-level account basis. NOTE: Only post title, content and excerpt are supported at this time.', 'mqtranslate') ?></small> 250 243 </td> 251 244 </tr> … … 268 261 } 269 262 263 function mqtrans_preConfigJS($config) { 264 global $q_config; 265 266 if (empty($q_config['ul_lang_protection']) || current_user_can('edit_users')) 267 return $config; 268 269 $config['editable_languages'] = array(); 270 $config['visible_languages'] = array(); 271 foreach ($config['enabled_languages'] as $lang) { 272 if (mqtrans_currentUserCanEdit($lang)) 273 $config['editable_languages'][] = $lang; 274 else if (mqtrans_currentUserCanView($lang)) 275 $config['visible_languages'][] = $lang; 276 } 277 278 return $config; 279 } 280 270 281 if (!defined('WP_ADMIN')) 271 282 add_filter('get_post_metadata', 'mqtrans_filterPostMetaData', 10, 4); 283 284 add_filter('pre_qtranslate_js', 'mqtrans_preConfigJS'); 272 285 273 286 add_action('edit_user_profile', 'mqtrans_userProfile');
Note: See TracChangeset
for help on using the changeset viewer.