/home/vianto5/cititower.mx/wp-content/plugins/sitepress-multilingual-cms/classes/jobs/Log
Edit: /home/vianto5/cititower.mx/wp-content/plugins/sitepress-multilingual-cms/classes/jobs/Log/View.php (11015B)
logs = $logs;
$this->isLoggingEnabled = $isLoggingEnabled;
}
public function renderPage() {
$isEnabled = $this->isLoggingEnabled;
$label = $isEnabled ? esc_html__( 'Job logs are enabled', 'sitepress' ) : esc_html__( 'Job logs are disabled', 'sitepress' );
$textEnabled = esc_attr__( 'Job logs are enabled', 'sitepress' );
$textDisabled = esc_attr__( 'Job logs are disabled', 'sitepress' );
?>
renderTableHeader(); ?>
logs->isEmpty() ) {
$this->renderEmptyTable();
} else {
$this->logs->each( [ $this, 'renderTableRow' ] );
}
?>
renderTableHeader(); ?>
|
|
' . esc_html( $requestLabel ) . ' '; ?>
' . esc_html( $request['requestDateTime'] . ' ' . $request['requestUrl'] ) . ''; ?>
getToggleButtonHtml( $requestSectionId ); ?>
getDownloadButtonHtml( $request['logUid'] ); ?>
';
echo ' ';
echo esc_html( (string) wp_json_encode( $request['requestParams'], JSON_PRETTY_PRINT ) );
echo ' ';
echo ' ';
?>
';
if ( ! empty( $request['logsByGroup'] ) && is_array( $request['logsByGroup'] ) ) {
$i = 0;
foreach ( $request['logsByGroup'] as $groupLogs ) {
$i++;
echo '';
echo ' ' . esc_html__( 'Action', 'sitepress' ) . ' ' . $i . ': ' . esc_html( $groupLogs['label'] ) . '';
echo ' ';
if ( JobLog::isSendJobsLogsGroup( $groupLogs['groupId'] ) ) {
$this->renderSendJobsLogs( $groupLogs['logs'] );
} else {
$j = 0;
while ( $j < count( $groupLogs['logs'] ) ) {
$j = $this->renderLog( $j, $groupLogs['logs'], $groupLogs['logs'][ $j ] );
}
}
echo ' ';
echo ' ';
}
} else {
echo esc_html__( 'No logs available', 'sitepress' );
}
echo '';
?>
|
renderLog( $i, $logs, $log );
continue;
}
$elementId = $log['element_id'];
$postfix = '';
if ( isset( $log['string_ids_in_batch'] ) ) {
$postfix = ', (string ids in batch: ' . implode( ', ', $log['string_ids_in_batch'] ) . ')';
}
$sectionId = 'element-' . $elementId . '-' . uniqid();
echo '
';
echo '' . $this->getStepHtml( $i ) . __( 'Processing element with id', 'sitepress' ) . ' `' . $elementId . '`', $postfix . '` ';
echo $this->getToggleButtonHtml( $sectionId );
echo '
';
echo '
';
do {
$i = $this->renderSendJobsLogForElement( $i, $logs, $logs[ $i ] );
} while (
$i < count( $logs )
&& isset( $logs[$i]['element_id'] )
&& $logs[$i]['element_id'] === $elementId
);
echo '
';
}
}
private function renderSendJobsLogForElement( $i, $logs, $log ) {
if ( ! isset( $log['target_lang'] ) ) {
$i = $this->renderLog( $i, $logs, $log );
return $i;
}
$elementId = $log['element_id'];
$targetLang = $log['target_lang'];
$sectionId = 'target-' . $elementId . '-' . $targetLang . '-' . uniqid();
echo '
';
echo '' . $this->getStepHtml( $i ) . __( 'Processing target language', 'sitepress' ) . ' `' . $targetLang . '` ';
echo $this->getToggleButtonHtml( $sectionId );
echo '
';
echo '
';
do {
$i = $this->renderLog( $i, $logs, $logs[ $i ] );
} while (
$i < count( $logs )
&& isset( $logs[$i]['element_id'] )
&& $logs[$i]['element_id'] === $elementId
&& isset( $logs[$i]['target_lang'] )
&& $logs[$i]['target_lang'] === $targetLang
);
echo '
';
return $i;
}
private function renderEmptyTable() {
?>
|
|
$value ) {
if ( $key === 'body' && is_string( $value ) ) {
$decoded = json_decode( $value, true );
if ( json_last_error() === JSON_ERROR_NONE ) {
$data[ $key ] = $decoded;
}
}
if ( is_array( $value ) ) {
$data[ $key ] = $this->maybeJsonStringsToArray( $value );
}
}
return $data;
}
private function getToggleButtonHtml( $section_id ) {
$text_open = esc_attr__( 'Open', 'sitepress' );
$text_close = esc_attr__( 'Close', 'sitepress' );
$section_id = esc_attr( $section_id );
return sprintf(
'
',
$text_open,
$text_close,
$section_id,
esc_html__( 'Open', 'sitepress' )
);
}
private function renderLog( $i, $logs, $log ) {
if ( ! isset( $log['apiCall'] ) ) {
$this->renderLogItem( $log, $i );
return ++$i;
}
$url = $log['apiCall'];
$urlParts = explode( '?', $url );
$url = $urlParts[0];
$sectionId = 'target-log' . uniqid();
echo '
';
echo '' . $this->getStepHtml( $i, JobLog::isErrorLog( $log ) ) . __ ( 'Api call to url', 'sitepress' ) . ' `' . $url . '` ';
echo $this->getToggleButtonHtml( $sectionId );
echo '
';
echo '
';
do {
$this->renderLogItem( $logs[ $i ], $i, 'padding-left: 20px', [
'padding-left' => '40px',
] );
$i++;
} while (
$i < count( $logs )
&& isset( $logs[$i]['apiCall'] )
);
echo '
';
return $i;
}
private function renderLogItem( $log, $i, $rootCss = '', $logCss = [] ) {
$defaultLogCss = [
'padding-left' => '20px',
];
$logCss = array_merge( $defaultLogCss, $logCss );
$logCssStr = '';
foreach ( $logCss as $key => $value ) {
$logCssStr .= $key . ': ' . $value . ';';
}
$sectionId = 'target-log-item' . $i . uniqid();
echo '
';
echo '' . $this->getStepHtml( $i, JobLog::isErrorLog( $log ) ) . esc_html( $log['id'] ) . ' ';
echo '';
echo '
';
echo '
';
echo '
';
echo esc_html( (string) wp_json_encode( $this->maybeJsonStringsToArray( $log['trace'] ), JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES ) );
echo '
';
echo '
';
unset( $log['trace'] );
echo '
';
echo esc_html( (string) wp_json_encode( $this->maybeJsonStringsToArray( $log['data'] ), JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES ) );
echo '
';
}
private function getStepHtml( $i, $error = false ) {
$class = $error ? ' job-log-step-error' : '';
return '
' . __( 'Step', 'sitepress' ) . ' ' . ($i + 1) . ':' . ' ';
}
private function getDownloadButtonHtml( $logUid ) {
return sprintf(
'
',
esc_html__( 'Download', 'sitepress' )
);
}
}