Beispiel #1
0
 public static function finishLookingForPhraseTitles($addOnPhrases, XenForo_Model_Phrase $phraseModel)
 {
     static $whitelistedPrefixes = array('admin_navigation_', 'admin_permission_', 'cron_entry_', 'option_', 'permission_', 'style_property_');
     $foundPhraseTitles = DevHelper_Helper_Phrase::getFoundPhraseTitles();
     $usedPhraseTitles = array();
     $foundButUnusedPhraseTitles = array();
     foreach ($addOnPhrases as $phrase) {
         $used = in_array($phrase['title'], $foundPhraseTitles);
         if (!$used) {
             foreach ($whitelistedPrefixes as $prefix) {
                 if (strpos($phrase['title'], $prefix) === 0) {
                     $used = true;
                     break;
                 }
             }
         }
         if (!$used) {
             echo "Add-on phrase not used: <span style='color: red'>{$phrase['title']}</span>\n";
         } else {
             $usedPhraseTitles[] = $phrase['title'];
         }
     }
     foreach ($foundPhraseTitles as $phraseTitle) {
         if (!in_array($phraseTitle, $usedPhraseTitles)) {
             $foundButUnusedPhraseTitles[] = $phraseTitle;
         }
     }
     if (!empty($foundButUnusedPhraseTitles)) {
         $foundButUnusedPhrases = $phraseModel->getPhrasesInLanguageByTitles($foundButUnusedPhraseTitles);
         foreach ($foundButUnusedPhraseTitles as $phraseTitle) {
             $good = true;
             if (empty($foundButUnusedPhrases[$phraseTitle])) {
                 echo "Phrase not found: <span style='color: red'>{$phraseTitle}</span>\n";
                 $good = false;
             }
             if ($good) {
                 $foundButUnusedPhrase = $foundButUnusedPhrases[$phraseTitle];
                 if (!empty($foundButUnusedPhrase['addon_id']) and $foundButUnusedPhrase['addon_id'] !== 'XenForo') {
                     echo "Phrase from another add-on: <span style='color: red'>{$phraseTitle}</span> ({$foundButUnusedPhrase['addon_id']})\n";
                     $good = false;
                 }
             }
             if (!$good) {
                 $phraseUsages = self::getPhraseUsages($phraseTitle);
                 foreach ($phraseUsages as $phraseUsagePath => $phraseUsageLine) {
                     echo "    <span style='color: #ddd'>Used in {$phraseUsagePath}:{$phraseUsageLine}</span>\n";
                 }
             }
         }
     }
 }