]> git.mxchange.org Git - friendica.git/blobdiff - src/Console/Extract.php
Legacy "include" fragments have been removed
[friendica.git] / src / Console / Extract.php
index 7fac598fe9b2d1dfd2b124c1642f3d68bfc3a161..4e6b1bff5ac2b524a14fed73fe6e300162dcc445 100644 (file)
@@ -1,14 +1,34 @@
 <?php
+/**
+ * @copyright Copyright (C) 2010-2022, the Friendica project
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
 
 namespace Friendica\Console;
 
+use \RecursiveDirectoryIterator;
+use \RecursiveIteratorIterator;
+
 /**
  * Extracts translation strings from the Friendica project's files to be exported
  * to Transifex for translation.
  *
  * Outputs a PHP file with language strings used by Friendica
- *
- * @author Hypolite Petovan <hypolite@mrpetovan.com>
  */
 class Extract extends \Asika\SimpleConsole\Console
 {
@@ -32,7 +52,7 @@ HELP;
                return $help;
        }
 
-       protected function doExecute()
+       protected function doExecute(): int
        {
                if ($this->getOption('v')) {
                        $this->out('Class: ' . __CLASS__);
@@ -55,9 +75,8 @@ HELP;
                $arr = [];
 
                $files = array_merge(
-                       ['index.php', 'boot.php'],
+                       ['index.php'],
                        glob('mod/*'),
-                       glob('include/*'),
                        glob('addon/*/*'),
                        $this->globRecursive('src')
                );
@@ -65,8 +84,8 @@ HELP;
                foreach ($files as $file) {
                        $str = file_get_contents($file);
 
-                       $pat = '|L10n::t\(([^\)]*+)[\)]|';
-                       $patt = '|L10n::tt\(([^\)]*+)[\)]|';
+                       $pat = '|->t\(([^\)]*+)[\)]|';
+                       $patt = '|->tt\(([^\)]*+)[\)]|';
 
                        $matches = [];
                        $matchestt = [];
@@ -103,10 +122,10 @@ HELP;
 
                                                $arr[] = $matchtkns[0];
 
-                                               $s .= '$a->strings[' . $matchtkns[0] . "] = array(\n";
+                                               $s .= '$a->strings[' . $matchtkns[0] . "] = [\n";
                                                $s .= "\t0 => " . $matchtkns[0] . ",\n";
                                                $s .= "\t1 => " . $matchtkns[1] . ",\n";
-                                               $s .= ");\n";
+                                               $s .= "];\n";
                                        }
                                }
                        }
@@ -124,9 +143,17 @@ HELP;
                return 0;
        }
 
-       private function globRecursive($path) {
-               $dir_iterator = new \RecursiveDirectoryIterator($path);
-               $iterator = new \RecursiveIteratorIterator($dir_iterator, \RecursiveIteratorIterator::SELF_FIRST);
+       /**
+        * Returns an array with found files and directories including their paths.
+        *
+        * @param string $path Base path to scan
+        *
+        * @return array A flat array with found files and directories
+        */
+       private function globRecursive(string $path): array
+       {
+               $dir_iterator = new RecursiveDirectoryIterator($path);
+               $iterator = new RecursiveIteratorIterator($dir_iterator, RecursiveIteratorIterator::SELF_FIRST);
 
                $return = [];
                foreach ($iterator as $file) {