本文整理汇总了PHP中_potx_process_file函数的典型用法代码示例。如果您正苦于以下问题:PHP _potx_process_file函数的具体用法?PHP _potx_process_file怎么用?PHP _potx_process_file使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了_potx_process_file函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: scan_theme_files
private function scan_theme_files($dir_or_file = false, $recursion = 0)
{
require_once WPML_ST_PATH . '/inc/potx.php';
global $sitepress, $sitepress_settings;
if ($dir_or_file === false) {
$dir_or_file = $this->current_path;
}
$this->add_stat(sprintf(__('Scanning theme folder: %s', 'wpml-string-translation'), $dir_or_file), true);
$dh = opendir($dir_or_file);
while ($dh && false !== ($file = readdir($dh))) {
if (0 === strpos($file, '.')) {
continue;
}
if (is_dir($dir_or_file . "/" . $file)) {
$recursion++;
$this->add_stat(str_repeat("\t", $recursion) . sprintf(__('Opening folder: %s', 'wpml-string-translation'), $dir_or_file . "/" . $file));
$this->scan_theme_files($dir_or_file . "/" . $file, $recursion);
$recursion--;
} elseif (preg_match('#(\\.php|\\.inc)$#i', $file)) {
// THE potx way
$this->add_stat(str_repeat("\t", $recursion) . sprintf(__('Scanning file: %s', 'wpml-string-translation'), $dir_or_file . "/" . $file));
$this->add_scanned_file($dir_or_file . "/" . $file);
_potx_process_file($dir_or_file . "/" . $file, 0, array($this, 'store_results'), '_potx_save_version', $this->get_default_domain());
} else {
$this->add_stat(str_repeat("\t", $recursion) . sprintf(__('Skipping file: %s', 'wpml-string-translation'), $dir_or_file . "/" . $file));
}
}
if ($dir_or_file == TEMPLATEPATH && TEMPLATEPATH != STYLESHEETPATH) {
$this->scan_theme_files(STYLESHEETPATH);
$double_scan = false;
}
if (!$recursion && (empty($double_scan) || !$double_scan)) {
global $__icl_registered_strings;
$this->add_stat(__('Done scanning files', 'wpml-string-translation'));
$sitepress_settings['st']['theme_localization_domains'] = array_keys($this->get_domains_found());
$sitepress->save_settings($sitepress_settings);
closedir($dh);
$scanned_files = join('</li><li>', $this->get_scanned_files());
$pre_stat = __('= Your theme was scanned for texts =', 'wpml-string-translation') . '<br />';
$pre_stat .= __('The following files were processed:', 'wpml-string-translation') . '<br />';
$pre_stat .= '<ol style="font-size:10px;"><li>' . $scanned_files;
$pre_stat .= '</li></ol>';
$pre_stat .= sprintf(__('WPML found %s strings. They were added to the string translation table.', 'wpml-string-translation'), count($__icl_registered_strings));
$pre_stat .= '<br /><a href="#" onclick="jQuery(this).next().toggle();return false;">' . __('More details', 'wpml-string-translation') . '</a>';
$pre_stat .= '<textarea style="display:none;width:100%;height:150px;font-size:10px;">';
$this->add_stat($pre_stat, true);
$this->add_stat('</textarea>');
}
}
示例2: icl_st_scan_plugin_files
function icl_st_scan_plugin_files($plugin, $recursion = 0)
{
require_once ICL_PLUGIN_PATH . '/inc/potx.php';
static $recursion, $scanned_files = array();
static $scan_stats = false;
global $icl_scan_plugin_found_domains, $icl_st_p_scan_plugin_id, $sitepress, $sitepress_settings;
if (!$recursion) {
$icl_st_p_scan_plugin_id = str_replace(WP_PLUGIN_DIR . '/', '', $plugin);
$icl_st_p_scan_plugin_id = str_replace(WPMU_PLUGIN_DIR . '/', '', $icl_st_p_scan_plugin_id);
}
if (is_file($plugin) && !$recursion) {
// case of one-file plugins
$scan_stats = sprintf(__('Scanning file: %s', 'wpml-string-translation'), $plugin) . PHP_EOL;
_potx_process_file($plugin, 0, '__icl_st_scan_plugin_files_store_results', '_potx_save_version', POTX_API_7);
$scanned_files[] = $plugin;
} else {
$dh = opendir($plugin);
while (false !== ($file = readdir($dh))) {
if (0 === strpos($file, '.')) {
continue;
}
if (is_dir($plugin . "/" . $file)) {
$recursion++;
$scan_stats .= str_repeat("\t", $recursion - 1) . sprintf(__('Opening folder: %s', 'wpml-string-translation'), "/" . $file) . PHP_EOL;
icl_st_scan_plugin_files($plugin . "/" . $file, $recursion);
$recursion--;
} elseif (preg_match('#(\\.php|\\.inc)$#i', $file)) {
$scan_stats .= str_repeat("\t", $recursion) . sprintf(__('Scanning file: %s', 'wpml-string-translation'), "/" . $file) . PHP_EOL;
$scanned_files[] = "/" . $file;
_potx_process_file($plugin . "/" . $file, 0, '__icl_st_scan_plugin_files_store_results', '_potx_save_version', POTX_API_7);
} else {
$scan_stats .= str_repeat("\t", $recursion) . sprintf(__('Skipping file: %s', 'wpml-string-translation'), "/" . $file) . PHP_EOL;
}
}
}
if (!$recursion) {
global $__icl_registered_strings;
if (is_null($__icl_registered_strings)) {
$__icl_registered_strings = array();
}
$scan_stats .= __('Done scanning files', 'wpml-string-translation') . PHP_EOL;
/*
if(is_array($icl_scan_plugin_found_domains)){
$existing_domains = $sitepress_settings['st']['plugins_localization_domains'];
if(is_array($existing_domains)){
$sitepress_settings['st']['plugins_localization_domains'] = array_unique(array_merge(array_keys($icl_scan_plugin_found_domains), $existing_domains));
}else{
$sitepress_settings['st']['plugins_localization_domains'] = array_keys($icl_scan_plugin_found_domains);
}
$sitepress->save_settings($sitepress_settings);
}
*/
unset($icl_st_p_scan_plugin_id);
$scan_stats = '<textarea style="width:100%;height:150px;font-size:10px;">' . $scan_stats . "\n" . count($scanned_files) . ' scanned files' . "\n";
if (count($__icl_registered_strings)) {
$scan_stats .= sprintf(__('WPML found %s strings. They were added to the string translation table.', 'wpml-string-translation'), count($__icl_registered_strings)) . "\n";
} else {
$scan_stats .= __('No strings found.', 'wpml-string-translation') . "\n";
}
$scan_stats .= '</textarea>';
$scan_stats_ret = $scan_stats;
$scan_stats = false;
return $scan_stats_ret;
}
}
示例3: plugin_po_file_download
function plugin_po_file_download($file = false, $recursion = 0)
{
global $__wpml_st_po_file_content;
if (empty($file) && !empty($_GET['file'])) {
$file = WP_PLUGIN_DIR . '/' . $_GET['file'];
}
if (empty($file)) {
return;
}
if (is_null($__wpml_st_po_file_content)) {
$__wpml_st_po_file_content = '';
}
require_once ICL_PLUGIN_PATH . '/inc/potx.php';
if (is_file($file) && WP_PLUGIN_DIR == dirname($file)) {
_potx_process_file($file, 0, '__pos_scan_store_results', '_potx_save_version', POTX_API_7);
} else {
if (!$recursion) {
$file = dirname($file);
}
if (is_dir($file)) {
$dh = opendir($file);
while ($dh && false !== ($f = readdir($dh))) {
if (0 === strpos($f, '.')) {
continue;
}
$this->plugin_po_file_download($file . '/' . $f, $recursion + 1);
}
} elseif (preg_match('#(\\.php|\\.inc)$#i', $file)) {
_potx_process_file($file, 0, '__pos_scan_store_results', '_potx_save_version', POTX_API_7);
}
}
if (!$recursion) {
$po = "";
$po .= '# This file was generated by WPML' . PHP_EOL;
$po .= '# WPML is a WordPress plugin that can turn any WordPress site into a full featured multilingual content management system.' . PHP_EOL;
$po .= '# https://wpml.org' . PHP_EOL;
$po .= 'msgid ""' . PHP_EOL;
$po .= 'msgstr ""' . PHP_EOL;
$po .= '"Content-Type: text/plain; charset=utf-8\\n"' . PHP_EOL;
$po .= '"Content-Transfer-Encoding: 8bit\\n"' . PHP_EOL;
$po_title = 'WPML_EXPORT';
if (isset($_GET['context'])) {
$po_title .= '_' . $_GET['context'];
}
$po .= '"Project-Id-Version:' . $po_title . '\\n"' . PHP_EOL;
$po .= '"POT-Creation-Date: \\n"' . PHP_EOL;
$po .= '"PO-Revision-Date: \\n"' . PHP_EOL;
$po .= '"Last-Translator: \\n"' . PHP_EOL;
$po .= '"Language-Team: \\n"' . PHP_EOL;
$translation_language = 'en';
if (isset($_GET['translation_language'])) {
$translation_language = $_GET['translation_language'];
}
$po .= '"Language:' . $translation_language . '\\n"' . PHP_EOL;
$po .= '"MIME-Version: 1.0\\n"' . PHP_EOL;
$po .= $__wpml_st_po_file_content;
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header('Content-Transfer-Encoding: binary');
header("Content-Disposition: attachment; filename=\"" . basename($file) . ".po\"");
header("Content-Length: " . strlen($po));
echo $po;
exit(0);
}
}
示例4: array
break;
case '--debug':
$files = array(__FILE__);
break;
case '--auto':
$files = _potx_explore_dir('', '*', POTX_API_CURRENT, TRUE);
break;
}
}
// Fall back to --auto, if --files are not specified
if (empty($files)) {
$files = _potx_explore_dir('', '*', POTX_API_CURRENT, TRUE);
}
foreach ($files as $file) {
potx_status('status', "Processing {$file}...\n");
_potx_process_file($file);
}
_potx_build_files(POTX_STRING_RUNTIME, $build_mode);
_potx_build_files(POTX_STRING_INSTALLER, POTX_BUILD_SINGLE, 'installer');
_potx_write_files();
potx_status('status', "\nDone.\n");
return;
// These are never executed, you can run potx-cli.php on itself to test it
// -----------------------------------------------------------------------------
$a = t("Double quoted test string");
$b = t("Test string with %variable", array('%variable' => t('variable replacement')));
$c = t('Single qouted test string');
$d = t("Special\ncharacters");
$e = t('Special\\ncharacters');
$f = t("Embedded {$variable}");
$g = t('Embedded $variable');
示例5: scan_plugin_files
private function scan_plugin_files($dir_or_file = false, $recursion = 0)
{
require_once WPML_ST_PATH . '/inc/potx.php';
global $icl_st_p_scan_plugin_id;
if ($dir_or_file === false) {
$dir_or_file = $this->current_path;
}
if (wpml_st_file_path_is_valid($dir_or_file)) {
if (!$recursion) {
$icl_st_p_scan_plugin_id = str_replace(WP_PLUGIN_DIR . '/', '', $dir_or_file);
$icl_st_p_scan_plugin_id = str_replace(WPMU_PLUGIN_DIR . '/', '', $icl_st_p_scan_plugin_id);
}
if (is_file($dir_or_file) && !$recursion) {
// case of one-file plugins
$this->add_stat(sprintf(__('Scanning file: %s', 'wpml-string-translation'), $dir_or_file));
_potx_process_file($dir_or_file, 0, array($this, 'store_results'), '_potx_save_version', $this->get_default_domain());
$this->add_scanned_file($dir_or_file);
} else {
$dh = opendir($dir_or_file);
while ($dh && false !== ($file = readdir($dh))) {
if (0 === strpos($file, '.')) {
continue;
}
if (is_dir($dir_or_file . "/" . $file)) {
$recursion++;
$this->add_stat(str_repeat("\t", $recursion - 1) . sprintf(__('Opening folder: %s', 'wpml-string-translation'), "/" . $file));
$this->scan_plugin_files($dir_or_file . "/" . $file, $recursion);
$recursion--;
} elseif (preg_match('#(\\.php|\\.inc)$#i', $file)) {
$this->add_stat(str_repeat("\t", $recursion) . sprintf(__('Scanning file: %s', 'wpml-string-translation'), "/" . $file));
$this->add_scanned_file("/" . $file);
_potx_process_file($dir_or_file . "/" . $file, 0, array($this, 'store_results'), '_potx_save_version', $this->get_default_domain());
} else {
$this->add_stat(str_repeat("\t", $recursion) . sprintf(__('Skipping file: %s', 'wpml-string-translation'), "/" . $file));
}
}
}
} else {
$this->add_stat(str_repeat("\t", $recursion) . sprintf(__('Invalid file: %s', 'wpml-string-translation'), "/" . $dir_or_file));
}
if (!$recursion) {
unset($icl_st_p_scan_plugin_id);
}
}