芝麻web文件管理V1.00
编辑当前文件:/home4/randall/public_html/sl/wp-content/plugins/loco-translate/src/cli/Utils.php
getDomain()->getName() !== $domain ){ continue; } if( $slug && $project->getSlug() !== $slug ){ continue; } $projects[] = $project; } } if( ! $projects ){ throw new Loco_error_Exception('No translation sets found'); } return $projects; } /** * Collect locales from one or more language tags * @param string zero or more language tags * @return Loco_Locale[] */ public static function collectLocales( $tags ){ $locales = []; if( '' !== $tags ){ $api = new Loco_api_WordPressTranslations; foreach( preg_split('/[\\s,;]+/i',$tags,-1,PREG_SPLIT_NO_EMPTY) as $tag ){ $locale = Loco_Locale::parse($tag); if( ! $locale->isValid() ){ throw new Loco_error_Exception('Invalid locale: '.json_encode($tag) ); } // TODO could expand language-only tags to known WordPress locales e.g. fr -> fr_FR $locales[ (string) $locale ] = $locale; $locale->ensureName($api); } // empty locales means ALL locales, so refuse to return ALL when filter was non-empty if( 0 === count($locales) ){ throw new Loco_error_Exception('No valid locales in: '.json_encode($tags) ); } } return $locales; } /** * Simple space-padded table * @param string[][] data rows to print */ public static function tabulate( array $t ){ $w = []; foreach( $t as $y => $row ){ foreach( $row as $x => $value ){ $width = mb_strlen($value,'UTF-8'); $w[$x] = isset($w[$x]) ? max($w[$x],$width) : $width; } } foreach( $t as $y => $row ){ $line = []; foreach( $w as $x => $width ){ $value = isset($row[$x]) ? $row[$x] : ''; $value = str_pad($value,$width,' ',STR_PAD_RIGHT); $line[] = $value; } self::debug( implode(' ',$line) ); } } /** * Prints file listing to stdout */ public static function tabulateFiles(){ $t = []; /* @var Loco_fs_File $file */ foreach( func_get_args() as $file ){ if( $file instanceof Loco_fs_File && $file->exists() ){ $f = new Loco_mvc_FileParams([],$file); $t[] = [ $f->owner, $f->group, $f->smode, $f->relpath ]; } } self::tabulate($t); } /** * WP_CLI debug logger */ public static function debug(){ $args = func_get_args(); $message = array_shift($args); if( $args ){ $message = vsprintf($message,$args); } WP_CLI::debug( $message,'loco' ); } /** * Parse boolean command line option. Absence is equal to false * @param string[] * @param string * @return bool */ public static function bool( array $opts, $key ){ $value = isset($opts[$key]) ? $opts[$key] : false; if( ! is_bool($value) ){ $value = $value && 'false' !== $value & 'no' !== $value; } return $value; } }