/** * Print javascript global array of texts */ public static function printJsLanguage() { WPRC_Loader::includeLanguageContainer(); $wprcLang = WPRC_LanguageContainer::getLanguageArray(); if (count($wprcLang) == 0) { return false; } foreach ($wprcLang as $key => $value) { $lang_js[] = "'" . $key . "' : '" . $value . "'"; } $lang_js_html = implode(',', $lang_js); $js = "<script type=\"text/javascript\">\r\n var wprcLang = { \r\n {$lang_js_html} \r\n };\r\n </script>"; echo $js; }
/** * Render additional search UI * * @param string extension type ( 'plugins' | 'themes' ) */ public function renderAdditionalSearchUI($extension_type) { if (!isset($extension_type)) { return false; } echo '<style type="text/css">#search-' . $extension_type . '{display:none;}</style>'; $rm = WPRC_Loader::getModel('repositories'); $extension_type2 = 'plugins_not_deleted'; switch ($extension_type) { case 'plugins': $extension_type2 = 'plugins_not_deleted'; break; case 'themes': $extension_type2 = 'themes_not_deleted'; break; } $repos = $rm->getRepositoriesListByType($extension_type2); if (array_key_exists('repos', $_REQUEST)) { $selected_repos = (array) $_REQUEST['repos']; if (count($selected_repos) > 0) { // reassign enabled repositories for ($i = 0; $i < count($repos); $i++) { if (in_array($repos[$i]->id, $selected_repos)) { $repos[$i]->repository_enabled = 1; } else { $repos[$i]->repository_enabled = 0; } } } } $free = __('Free', 'installer'); $paid = __('Paid', 'installer'); $prices_items = array($free => 1, $paid => 1); if (array_key_exists('prices', $_REQUEST)) { $selected_prices = (array) $_REQUEST['prices']; if (count($selected_prices) > 0) { // reassign enabled price filters foreach ($prices_items as $price => $filter_enabled) { if (in_array($price, $selected_prices)) { $prices_items[$price] = 1; } else { $prices_items[$price] = 0; } } } } // --- set caption of the prices list // include language class WPRC_Loader::includeLanguageContainer(); $wprcLang = WPRC_LanguageContainer::getLanguageArray(); if ($prices_items['Free'] && $prices_items['Paid']) { $prices_control_caption = $wprcLang['search_free_and_paid_' . $extension_type]; } else { if ($prices_items['Free']) { $prices_control_caption = $wprcLang['search_free_' . $extension_type]; } if ($prices_items['Paid']) { $prices_control_caption = $wprcLang['search_paid_' . $extension_type]; } } $prices_items_selector = array(); foreach ($prices_items as $key => $item) { $prices_items_selector[$key] = array('id' => $key, 'name' => $key, 'enabled' => $item); } $json_repos = json_encode($repos); $json_prices = json_encode($prices_items_selector); /*$jsrepos=array(); foreach ($repos as $repo) { $jsrepos[]='repos[]='.$repo->id; } $jsrepos='"'.implode('&',$jsrepos).'";';*/ $wprc_debug = defined('WPRC_DEBUG') && WPRC_DEBUG === true ? 1 : 0; echo "<script language=\"javascript\">\r\n jQuery(document).ready(function()\r\n {\r\n\t\t\tfunction getRepos()\r\n\t\t\t{\r\n\t\t\t\tvar repos_list='';\r\n\t\t\t\tvar repos=[];\r\n\t\t\t\tvar repos_ret='';\r\n\t\t\t\t/*var selector='';\r\n\t\t\t\tif (jQuery('form#search-themes').length>0)\r\n\t\t\t\t{\r\n\t\t\t\t\tselector='form#search-themes';\r\n\t\t\t\t}\r\n\t\t\t\telse if (jQuery('form#search-plugins').length>0)\r\n\t\t\t\t{\r\n\t\t\t\t\tselector='form#search-plugins';\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\tselector='foo';\r\n\t\t\t\t}*/\r\n\t\t\t\t//select[name=\"repos[]\"]\r\n\t\t\t\trepos=jQuery('#repos').val();\r\n\t\t\t\t//repos=repos_list.split(',');\r\n\t\t\t\tfor (var i=0; i<repos.length; i++)\r\n\t\t\t\t{\r\n\t\t\t\t\tif (i==repos.length-1)\r\n\t\t\t\t\t\trepos_ret+='repos[]='+repos[i];\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\trepos_ret+='repos[]='+repos[i]+'&';\r\n\t\t\t\t}\r\n\t\t\t\treturn ({str:repos_ret,arr:repos});\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t/* add the repositories from select list dynamically */"; ?> wprc.search.renderAdditionalUI('<?php echo $json_repos; ?> ', '<?php echo $json_prices; ?> ', '<?php echo $extension_type; ?> ', '<?php echo $prices_control_caption; ?> ' ); <?php echo 'wprc.search.renderClearCacheUI(' . $wprc_debug . ', "' . $extension_type . '");'; echo "jQuery('.popular-tags a').click(function(){\r\n\t\t\t\tvar link=jQuery(this).attr('href');\r\n\t\t\t\tvar repos=getRepos().str;\r\n\t\t\t\tlink=link.replace('type=tag','type=tag&'+repos);\r\n\t\t\t\tjQuery(this).attr('href',link);\r\n\t\t\t});\r\n\t\t\t\r\n\t\t\t/* add the repositories from select list dynamically */\r\n\t\t\tvar featureform=jQuery('.feature-filter').eq(0).parent('form');\r\n\t\t\tfeatureform.submit(function(){ //listen for submit event\r\n\t\t\t\tvar repos=getRepos().arr;\r\n\t\t\t\tjQuery.each(repos, function(i,repo){\r\n\t\t\t\t\tjQuery('<input />').attr('type', 'checkbox')\r\n\t\t\t\t\t\t.attr('name', 'repos[]')\r\n\t\t\t\t\t\t.attr('value', repo)\r\n\t\t\t\t\t\t.attr('checked', 'checked')\r\n\t\t\t\t\t\t.css({display:'none'})\r\n\t\t\t\t\t\t.appendTo(featureform);\r\n\t\t\t\t});\r\n\r\n\t\t\t\treturn true;\r\n\t\t\t});\r\n \r\n });\r\n </script>"; }