requireComponents() 정적인 공개 메소드

.. constant. An optional final parameter may be supplied to specify the locale (e.g. 'en_US').
static public requireComponents ( )
예제 #1
0
 /**
  * Execute gzip to compress or extract files.
  * @param $filePath string file to be compressed or uncompressed.
  * @param $decompress boolean optional Set true if the passed file
  * needs to be decompressed.
  * @param $errorMsg string
  * @return false|string The file path that was created with the operation
  * or false in case of fail.
  */
 private function _executeGzip($filePath, $decompress = false, &$errorMsg)
 {
     PKPLocale::requireComponents(LOCALE_COMPONENT_PKP_ADMIN);
     $gzipPath = Config::getVar('cli', 'gzip');
     if (!is_executable($gzipPath)) {
         $errorMsg = __('admin.error.executingUtil', array('utilPath' => $gzipPath, 'utilVar' => 'gzip'));
         return false;
     }
     $gzipCmd = escapeshellarg($gzipPath);
     if ($decompress) {
         $gzipCmd .= ' -d';
     }
     // Make sure any output message will mention the file path.
     $output = array($filePath);
     $returnValue = 0;
     $gzipCmd .= ' ' . $filePath;
     if (!Core::isWindows()) {
         // Get the output, redirecting stderr to stdout.
         $gzipCmd .= ' 2>&1';
     }
     exec($gzipCmd, $output, $returnValue);
     if ($returnValue > 0) {
         $errorMsg = __('admin.error.utilExecutionProblem', array('utilPath' => $gzipPath, 'output' => implode(PHP_EOL, $output)));
         return false;
     }
     if ($decompress) {
         return substr($filePath, 0, -3);
     } else {
         return $filePath . '.gz';
     }
 }