コード例 #1
0
 public function colCreated_Render(NarroLog $objLog)
 {
     $objDateSpan = new QDateTimeSpan(time() - $objLog->Date->Timestamp);
     $strModifiedWhen = $objDateSpan->SimpleDisplay();
     return sprintf(t('%s ago'), $strModifiedWhen);
 }
コード例 #2
0
 public function dtgTranslation_colAuthor_Render(NarroSuggestion $objSuggestion)
 {
     $objDateSpan = new QDateTimeSpan(time() - strtotime($objSuggestion->Created));
     $strModifiedWhen = $objDateSpan->SimpleDisplay();
     if (strtotime($objSuggestion->Modified) > 0 && $strModifiedWhen && $objSuggestion->User->RealName) {
         $strAuthorInfo = sprintf($objSuggestion->IsImported ? t('imported by <a href="%s" tabindex="-1">%s</a>, %s ago') : t('<a href="%s" tabindex="-1">%s</a>, %s ago'), NarroLink::UserProfile($objSuggestion->User->UserId), $objSuggestion->User->RealName, $strModifiedWhen);
     } elseif (strtotime($objSuggestion->Modified) > 0 && $strModifiedWhen && !$objSuggestion->User->RealName) {
         $strAuthorInfo = sprintf(t('%s ago'), $strModifiedWhen);
     } elseif ($objSuggestion->User) {
         $strAuthorInfo = sprintf($objSuggestion->IsImported ? t('imported by <a href="%s" tabindex="-1">%s</a>') : '<a href="%s" tabindex="-1">%s</a>', NarroLink::UserProfile($objSuggestion->User->UserId), $objSuggestion->User->RealName);
     } else {
         $strAuthorInfo = t('Unknown');
     }
     if ($objSuggestion->SuggestionId == $this->objContextInfo->ValidSuggestionId && $this->objContextInfo->ValidatorUserId != NarroUser::ANONYMOUS_USER_ID) {
         $objDateSpan = new QDateTimeSpan(time() - strtotime($this->objContextInfo->Modified));
         $strModifiedWhen = $objDateSpan->SimpleDisplay();
         $strAuthorInfo .= ', ' . sprintf(sprintf(t('approved by <a href="%s" tabindex="-1">%s</a>'), NarroLink::UserProfile($this->objContextInfo->ValidatorUser->UserId), $this->objContextInfo->ValidatorUser->RealName . ' %s'), $objDateSpan->SimpleDisplay() ? sprintf(t('%s ago'), $objDateSpan->SimpleDisplay()) : '');
     }
     return sprintf('<small>-- %s, %s</small>', $strAuthorInfo, sprintf(t('%d votes'), $objSuggestion->Votes));
 }
コード例 #3
0
 public function DisplayExportMessage(NarroProject $objProject, $strText = '')
 {
     $strArchiveName = __IMPORT_PATH__ . '/' . $objProject->ProjectId . '/' . $objProject->ProjectName . '-' . QApplication::$TargetLanguage->LanguageCode . '.zip';
     if (file_exists($strArchiveName)) {
         $strDownloadUrl = sprintf(__HTTP_URL__ . __VIRTUAL_DIRECTORY__ . __SUBDIRECTORY__ . '/includes/narro/plugins/' . __CLASS__ . '.class.php?p=%d&pn=%s&l=%s', $objProject->ProjectId, $objProject->ProjectName, QApplication::$TargetLanguage->LanguageCode);
         $objDateSpan = new QDateTimeSpan(time() - filemtime($strArchiveName));
         $strExportText = sprintf('<a href="%s">%s</a>, ' . t('exported %s ago'), $strDownloadUrl, basename($strArchiveName), $objDateSpan->SimpleDisplay());
     } else {
         $strExportText = t('Failed to create an archive for download');
     }
     return array($objProject, $strExportText);
 }
コード例 #4
0
 public function colCreated_Render(NarroTextComment $objComment)
 {
     $objDateSpan = new QDateTimeSpan(time() - $objComment->Created->Timestamp);
     $strModifiedWhen = $objDateSpan->SimpleDisplay();
     return sprintf(t('%s ago'), $strModifiedWhen);
 }
コード例 #5
0
ファイル: export_all.php プロジェクト: Jobava/narro
                    NarroLogger::LogInfo(sprintf('Language %s does not exist in the database.', $strSourceLanguage));
                    return false;
                }
                NarroLogger::LogInfo(sprintf('Source language is %s', $objNarroImporter->SourceLanguage->LanguageName));
                $objNarroImporter->Project = $objProject;
                $objNarroImporter->User = $objUser;
                $objNarroImporter->TemplatePath = $objNarroImporter->Project->DefaultTemplatePath;
                $objNarroImporter->TranslationPath = $objNarroImporter->Project->DefaultTranslationPath;
                $intPid = NarroUtils::IsProcessRunning('export', $objNarroImporter->Project->ProjectId);
                if ($intPid && $intPid != getmypid()) {
                    NarroLogger::LogInfo(sprintf('An export process is already running for this project with pid %d', $intPid));
                }
                $strProcPidFile = __TMP_PATH__ . '/' . $objNarroImporter->Project->ProjectId . '-' . $objNarroImporter->TargetLanguage->LanguageCode . '-export-process.pid';
                if (file_exists($strProcPidFile)) {
                    unlink($strProcPidFile);
                }
                file_put_contents($strProcPidFile, getmypid());
                chmod($strProcPidFile, 0666);
                $objNarroImporter->ExportProject();
                unlink($strProcPidFile);
            } catch (Exception $objEx) {
                printf("\n%s: %s\n", $objEx->getMessage(), $objEx->getTraceAsString());
                NarroLogger::LogError(sprintf('An error occurred during export: %s', $objEx->getMessage()));
                continue;
            }
        }
    }
}
$objDateSpan = new QDateTimeSpan(time() - $intStartTime);
printf("Export started %s ago, finished in %d seconds\n", $objDateSpan->SimpleDisplay(), time() - $intStartTime);
NarroLogger::LogInfo(sprintf('Export started %s ago, finished in %d seconds', $objDateSpan->SimpleDisplay(), time() - $intStartTime));
コード例 #6
0
 public function DisplayInProjectListInProgressColumn(NarroProject $objProject, $strText = '')
 {
     $strExportText = '';
     $objCache = new NarroCache(QApplication::GetLanguageId() . '/' . $objProject->ProjectId, __CLASS__);
     $arrData = $objCache->GetData();
     switch ($objProject->ProjectName) {
         case 'Fennec Aurora':
             if ($arrData) {
                 return $arrData;
             }
             // set up basic connection
             $conn_id = ftp_connect('ftp.mozilla.org');
             // login with username and password
             $login_result = ftp_login($conn_id, 'anonymous', '*****@*****.**');
             // get contents of the current directory
             $contents = ftp_nlist($conn_id, "/pub/mobile/nightly/latest-mozilla-aurora-linux-l10n");
             if (is_array($contents)) {
                 foreach ($contents as $strFile) {
                     if (preg_match('/\\/fennec\\-(.*)\\.' . preg_quote(QApplication::$TargetLanguage->LanguageCode) . '\\.linux\\-i686\\.tar\\.bz2$/', $strFile, $arrMatches)) {
                         $objDateSpan = new QDateTimeSpan(time() - ftp_mdtm($conn_id, $strFile));
                         $arrLink[] = sprintf('<a title="Download a localized nightly build %s built %s ago" href="ftp://ftp.mozilla.org%s">linux i686</a>', $arrMatches[1], $objDateSpan->SimpleDisplay(), $strFile);
                     }
                 }
             }
             $contents = ftp_nlist($conn_id, "/pub/mobile/nightly/latest-mozilla-aurora-win32-l10n");
             if (is_array($contents)) {
                 foreach ($contents as $strFile) {
                     if (preg_match('/\\/fennec\\-(.*)\\.' . preg_quote(QApplication::$TargetLanguage->LanguageCode) . '\\.win32\\.zip$/', $strFile, $arrMatches)) {
                         $objDateSpan = new QDateTimeSpan(time() - ftp_mdtm($conn_id, $strFile));
                         $arrLink[] = sprintf('<a title="Download a localized nightly build %s built %s ago" href="ftp://ftp.mozilla.org%s">win32</a>', $arrMatches[1], $objDateSpan->SimpleDisplay(), $strFile);
                     }
                 }
             }
             $contents = ftp_nlist($conn_id, "/pub/mobile/nightly/latest-mozilla-aurora-macosx-l10n");
             if (is_array($contents)) {
                 foreach ($contents as $strFile) {
                     if (preg_match('/\\/fennec\\-(.*)\\.' . preg_quote(QApplication::$TargetLanguage->LanguageCode) . '\\.mac\\.dmg$/', $strFile, $arrMatches)) {
                         $objDateSpan = new QDateTimeSpan(time() - ftp_mdtm($conn_id, $strFile));
                         $arrLink[] = sprintf('<a title="Download a localized nightly build %s built %s ago" href="ftp://ftp.mozilla.org%s">mac</a>', $arrMatches[1], $objDateSpan->SimpleDisplay(), $strFile);
                     }
                 }
             }
             $contents = ftp_nlist($conn_id, "/pub/mobile/nightly/latest-mozilla-aurora-android");
             if (is_array($contents)) {
                 foreach ($contents as $strFile) {
                     if (preg_match('/\\/fennec\\-(.*)\\.multi\\.android\\-arm\\.apk$/', $strFile, $arrMatches)) {
                         $objDateSpan = new QDateTimeSpan(time() - ftp_mdtm($conn_id, $strFile));
                         $arrLink[] = sprintf('<a title="Download a localized nightly build %s built %s ago" href="ftp://ftp.mozilla.org%s">android</a>', $arrMatches[1], $objDateSpan->SimpleDisplay(), $strFile);
                     }
                 }
             }
             $strLinks = join(', ', $arrLink);
             if ($strLinks != '') {
                 $arrData = array($objProject, sprintf('nightly: %s', $strLinks));
                 $objCache->SaveData($arrData);
                 return $arrData;
             } else {
                 return array($objProject, '');
             }
         case 'Firefox Aurora':
             if ($arrData) {
                 return $arrData;
             }
             // set up basic connection
             $conn_id = ftp_connect('ftp.mozilla.org');
             // login with username and password
             $login_result = ftp_login($conn_id, 'anonymous', '*****@*****.**');
             // get contents of the current directory
             $contents = ftp_nlist($conn_id, "/pub/firefox/nightly/latest-mozilla-aurora-l10n/");
             if (is_array($contents)) {
                 foreach ($contents as $strFile) {
                     if (preg_match('/\\/firefox\\-(.*)\\.' . preg_quote(QApplication::$TargetLanguage->LanguageCode) . '\\.linux\\-i686\\.tar\\.bz2$/', $strFile, $arrMatches)) {
                         $objDateSpan = new QDateTimeSpan(time() - ftp_mdtm($conn_id, $strFile));
                         $arrLink[] = sprintf('<a title="Download a localized nightly build %s built %s ago" href="ftp://ftp.mozilla.org%s">linux i686</a>', $arrMatches[1], $objDateSpan->SimpleDisplay(), $strFile);
                     }
                 }
                 foreach ($contents as $strFile) {
                     if (preg_match('/\\/firefox\\-(.*)\\.' . preg_quote(QApplication::$TargetLanguage->LanguageCode) . '\\.linux\\-x86\\_64\\.tar\\.bz2$/', $strFile, $arrMatches)) {
                         $objDateSpan = new QDateTimeSpan(time() - ftp_mdtm($conn_id, $strFile));
                         $arrLink[] = sprintf('<a title="Download a localized nightly build %s built %s ago" href="ftp://ftp.mozilla.org%s">linux x86_64</a>', $arrMatches[1], $objDateSpan->SimpleDisplay(), $strFile);
                     }
                 }
                 foreach ($contents as $strFile) {
                     if (preg_match('/\\/firefox\\-(.*)\\.' . preg_quote(QApplication::$TargetLanguage->LanguageCode) . '\\.win32\\.zip$/', $strFile, $arrMatches)) {
                         $objDateSpan = new QDateTimeSpan(time() - ftp_mdtm($conn_id, $strFile));
                         $arrLink[] = sprintf('<a title="Download a localized nightly build %s built %s ago" href="ftp://ftp.mozilla.org%s">win32</a>', $arrMatches[1], $objDateSpan->SimpleDisplay(), $strFile);
                     }
                 }
                 foreach ($contents as $strFile) {
                     if (preg_match('/\\/firefox\\-(.*)\\.' . preg_quote(QApplication::$TargetLanguage->LanguageCode) . '\\.mac\\.dmg$/', $strFile, $arrMatches)) {
                         $objDateSpan = new QDateTimeSpan(time() - ftp_mdtm($conn_id, $strFile));
                         $arrLink[] = sprintf('<a title="Download a localized nightly build %s built %s ago" href="ftp://ftp.mozilla.org%s">mac</a>', $arrMatches[1], $objDateSpan->SimpleDisplay(), $strFile);
                     }
                 }
             }
             $strLinks = join(', ', $arrLink);
             if ($strLinks != '') {
                 $arrData = array($objProject, sprintf('nightly: %s', $strLinks));
                 $objCache->SaveData($arrData);
                 return $arrData;
             } else {
                 return array($objProject, '');
             }
         case 'Thunderbird Aurora':
             $strCacheId = __CLASS__ . QApplication::GetLanguageId() . 'p' . $objProject->ProjectId;
             if ($arrData) {
                 return $arrData;
             }
             // set up basic connection
             $conn_id = ftp_connect('ftp.mozilla.org');
             // login with username and password
             $login_result = ftp_login($conn_id, 'anonymous', '*****@*****.**');
             // get contents of the current directory
             $contents = ftp_nlist($conn_id, "/pub/thunderbird/nightly/latest-comm-aurora-l10n/");
             foreach ($contents as $strFile) {
                 if (preg_match('/\\/thunderbird\\-(.*)\\.' . preg_quote(QApplication::$TargetLanguage->LanguageCode) . '\\.linux\\-i686\\.tar\\.bz2$/', $strFile, $arrMatches)) {
                     $objDateSpan = new QDateTimeSpan(time() - ftp_mdtm($conn_id, $strFile));
                     $arrLink[] = sprintf('<a title="Download a localized nightly build %s built %s ago" href="ftp://ftp.mozilla.org%s">linux i686</a>', $arrMatches[1], $objDateSpan->SimpleDisplay(), $strFile);
                 }
             }
             foreach ($contents as $strFile) {
                 if (preg_match('/\\/thunderbird\\-(.*)\\.' . preg_quote(QApplication::$TargetLanguage->LanguageCode) . '\\.linux\\-x86\\_64\\.tar\\.bz2$/', $strFile, $arrMatches)) {
                     $objDateSpan = new QDateTimeSpan(time() - ftp_mdtm($conn_id, $strFile));
                     $arrLink[] = sprintf('<a title="Download a localized nightly build %s built %s ago" href="ftp://ftp.mozilla.org%s">linux x86_64</a>', $arrMatches[1], $objDateSpan->SimpleDisplay(), $strFile);
                 }
             }
             foreach ($contents as $strFile) {
                 if (preg_match('/\\/thunderbird\\-(.*)\\.' . preg_quote(QApplication::$TargetLanguage->LanguageCode) . '\\.win32\\.zip$/', $strFile, $arrMatches)) {
                     $objDateSpan = new QDateTimeSpan(time() - ftp_mdtm($conn_id, $strFile));
                     $arrLink[] = sprintf('<a title="Download a localized nightly build %s built %s ago" href="ftp://ftp.mozilla.org%s">win32</a>', $arrMatches[1], $objDateSpan->SimpleDisplay(), $strFile);
                 }
             }
             foreach ($contents as $strFile) {
                 if (preg_match('/\\/thunderbird\\-(.*)\\.' . preg_quote(QApplication::$TargetLanguage->LanguageCode) . '\\.mac\\.dmg$/', $strFile, $arrMatches)) {
                     $objDateSpan = new QDateTimeSpan(time() - ftp_mdtm($conn_id, $strFile));
                     $arrLink[] = sprintf('<a title="Download a localized nightly build %s built %s ago" href="ftp://ftp.mozilla.org%s">mac</a>', $arrMatches[1], $objDateSpan->SimpleDisplay(), $strFile);
                 }
             }
             $strLinks = join(', ', $arrLink);
             if ($strLinks != '') {
                 $arrData = array($objProject, sprintf('nightly: %s', $strLinks));
                 $objCache->SaveData($arrData);
                 return $arrData;
             } else {
                 return array($objProject, '');
             }
         default:
             return array($objProject, '');
     }
 }
コード例 #7
0
 public function dtgProjectList_LastActivityColumn_Render(NarroProject $objProject)
 {
     if ($objProject->_NarroProjectProgressAsProject && $objProject->_NarroProjectProgressAsProject->LastModified->Timestamp > 0) {
         $objDateSpan = new QDateTimeSpan(time() - $objProject->_NarroProjectProgressAsProject->LastModified->Timestamp);
         $strModifiedWhen = $objDateSpan->SimpleDisplay();
         return sprintf(t('%s ago'), $strModifiedWhen);
     } else {
         return t('never');
     }
 }
コード例 #8
0
 public function colLastTranslation_Render(NarroLanguage $objLanguage)
 {
     $dttCreated = new QDateTimeSpan(time() - strtotime($objLanguage->GetVirtualAttribute('last_translation')));
     return sprintf(t('%s ago'), $dttCreated->SimpleDisplay());
 }
コード例 #9
0
 public function colModified_Render(NarroContextInfo $objContextInfo)
 {
     $objDateSpan = new QDateTimeSpan(time() - $objContextInfo->Modified->Timestamp);
     $strModifiedWhen = $objDateSpan->SimpleDisplay();
     return sprintf(t('%s ago'), $strModifiedWhen);
 }