Example #1
0
 /**
  * Public interface to single Job Stats Info
  *
  *
  * @param int $jid
  * @param int $fid
  * @param string $jPassword
  * @return mixed $job_stats
  *
  * <pre>
  *      $job_stats = array(
  *          'id'                           => (int),
  *          'TOTAL'                        => (int),
  *          'TRANSLATED'                   => (int),
  *          'APPROVED'                     => (int),
  *          'REJECTED'                     => (int),
  *          'DRAFT'                        => (int),
  *          'ESTIMATED_COMPLETION'         => (int),
  *          'WORDS_PER_HOUR'               => (int),
  *      );
  * </pre>
  *
  */
 public static function getStatsForJob($jid, $fid = null, $jPassword = null)
 {
     $job_stats = getStatsForJob($jid, $fid, $jPassword);
     $job_stats = $job_stats[0];
     $job_stats = self::_getStatsForJob($job_stats, true);
     //true set estimation check if present
     return self::_performanceEstimationTime($job_stats);
 }
Example #2
0
 public function initializeJobWordCount($id_job, $jPassword)
 {
     $_details = getStatsForJob($id_job, null, $jPassword);
     //Log::doLog( "--- trying to Iitialize/reset job total word count." );
     $job_details = array_pop($_details);
     //get the row
     $wStruct = new WordCount_Struct();
     $wStruct->setIdJob($job_details['id']);
     $wStruct->setJobPassword($jPassword);
     $wStruct->setNewWords($job_details[Constants_TranslationStatus::STATUS_NEW]);
     $wStruct->setDraftWords($job_details[Constants_TranslationStatus::STATUS_DRAFT] - $job_details[Constants_TranslationStatus::STATUS_NEW]);
     $wStruct->setTranslatedWords($job_details[Constants_TranslationStatus::STATUS_TRANSLATED]);
     $wStruct->setApprovedWords($job_details[Constants_TranslationStatus::STATUS_APPROVED]);
     $wStruct->setRejectedWords($job_details[Constants_TranslationStatus::STATUS_REJECTED]);
     initializeWordCount($wStruct);
     //Log::doLog( $wStruct );
     return $wStruct;
 }
Example #3
0
 public static function getStatsForJob($jid, $replay = false)
 {
     // CASMACAT start
     $job_stats = null;
     if ($replay) {
         $job_stats = getStatsForJobWithoutData($jid);
     } else {
         $job_stats = getStatsForJob($jid);
     }
     $job_stats = $job_stats[0];
     $job_stats['TOTAL_FORMATTED'] = number_format($job_stats['TOTAL'], 0, ".", ",");
     $job_stats['TRANSLATED_FORMATTED'] = number_format($job_stats['TRANSLATED'], 0, ".", ",");
     $job_stats['APPROVED_FORMATTED'] = number_format($job_stats['APPROVED'], 0, ".", ",");
     $job_stats['REJECTED_FORMATTED'] = number_format($job_stats['REJECTED'], 0, ".", ",");
     $job_stats['DRAFT_FORMATTED'] = number_format($job_stats['DRAFT'], 0, ".", ",");
     $job_stats['TODO_FORMATTED'] = number_format($job_stats['DRAFT'] + $job_stats['REJECTED'], 0, ".", ",");
     $job_stats['TRANSLATED_PERC'] = $job_stats['TRANSLATED'] / $job_stats['TOTAL'] * 100;
     $job_stats['APPROVED_PERC'] = $job_stats['APPROVED'] / $job_stats['TOTAL'] * 100;
     $job_stats['REJECTED_PERC'] = $job_stats['REJECTED'] / $job_stats['TOTAL'] * 100;
     $job_stats['DRAFT_PERC'] = $job_stats['DRAFT'] / $job_stats['TOTAL'] * 100;
     $job_stats['TRANSLATED_PERC_FORMATTED'] = number_format($job_stats['TRANSLATED_PERC'], 1, ".", ",");
     $job_stats['APPROVED_PERC_FORMATTED'] = number_format($job_stats['APPROVED_PERC'], 1, ".", ",");
     $job_stats['REJECTED_PERC_FORMATTED'] = number_format($job_stats['REJECTED_PERC'], 1, ".", ",");
     $job_stats['DRAFT_PERC_FORMATTED'] = number_format($job_stats['DRAFT_PERC'], 1, ".", ",");
     $t = 'approved';
     if ($job_stats['TRANSLATED_FORMATTED'] > 0) {
         $t = "translated";
     }
     if ($job_stats['DRAFT_FORMATTED'] > 0) {
         $t = "draft";
     }
     if ($job_stats['REJECTED_FORMATTED'] > 0) {
         $t = "draft";
     }
     $job_stats['DOWNLOAD_STATUS'] = $t;
     // Calculating words per hour and estimated completion
     $estimation_temp = getLastSegmentIDs($jid);
     $estimation_seg_ids = $estimation_temp[0]['estimation_seg_ids'];
     if ($estimation_seg_ids) {
         $estimation_temp = getEQWLastHour($jid, $estimation_seg_ids);
         if ($estimation_temp[0]['data_validity'] == 1) {
             $job_stats['WORDS_PER_HOUR'] = number_format($estimation_temp[0]['words_per_hour'], 0, '.', ',');
             // 7.2 hours
             // $job_stats['ESTIMATED_COMPLETION'] = number_format( ($job_stats['DRAFT']+$job_stats['REJECTED'])/$estimation_temp[0]['words_per_hour'],1);
             // 1 h 32 m
             // $job_stats['ESTIMATED_COMPLETION'] = date("G",($job_stats['DRAFT']+$job_stats['REJECTED'])/$estimation_temp[0]['words_per_hour']*3600) . "h " . date("i",($job_stats['DRAFT']+$job_stats['REJECTED'])/$estimation_temp[0]['words_per_hour']*3600) . "m";
             if ($estimation_temp[0]['words_per_hour'] > 0) {
                 $job_stats['ESTIMATED_COMPLETION'] = date("G\\h i\\m", ($job_stats['DRAFT'] + $job_stats['REJECTED']) / $estimation_temp[0]['words_per_hour'] * 3600 - 3600);
             } else {
                 $job_stats['ESTIMATED_COMPLETION'] = "---";
             }
         }
     }
     return $job_stats;
 }