HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/vhost/disk-apps/pwa.sports-crowd.com/src/app/pages/ticket-detail/ticket-detail.page.html
<ion-content>
  <ion-header class="ion-no-border">
    <ion-toolbar>
      <ion-buttons slot="start">
        <ion-back-button class="backButton" defaultHref="/app/tabs/settings/tickets-list" color="primary">
        </ion-back-button>
      </ion-buttons>
      <ion-buttons *ngIf="ticketParams.qrcode_type != 'static'" slot="end" class="margin-13">
        <circle-progress [percent]="timerPercent" [radius]="17" [animation]="true" [showUnits]="false"
          [showSubtitle]="false" [showTitle]="false" [animationDuration]="ticketParams.qrcode_time * 1000"
          [outerStrokeColor]="'var(--ion-color-primary)'">
        </circle-progress>
      </ion-buttons>
      <ion-buttons *ngIf="ticketParams.enable_download_button !== 'false' && ticketParams.qrcode_type == 'static'"
        slot="end" class="margin-13">
        <ion-button fill="solid" color="secondary" (click)="downloadTicket()">
          <ion-icon slot="start" name="cloud-download-outline"></ion-icon>
          {{ 'download' | translate }}
        </ion-button>
      </ion-buttons>
    </ion-toolbar>
  </ion-header>
  <div id="print-wrapper">
    <div *ngIf="params" class="container-ticket" [ngStyle]="{'width': calculateWidth(90)+'px'}">
      <img height="604" [width]="calculateWidth(90)" [src]="data_ticket.url_ticket_backgroung" class="image-background"
        onerror="if (this.src != 'error.jpg') this.src = '../../assets/img/bg.png';" crossorigin="anonymous">
      <p class="fontOrganettoUltraBold text10 fz-10">{{ ('username_on_ticket' | translate) | uppercase }}:
        <span class="fontOrganettoRegular">
          {{ data_ticket.user }}</span> - ID: <span class="fontOrganettoRegular">{{ data_ticket.document }}</span>
      </p>
      <div class="header-images">
        <img *ngIf="data_ticket.url_organizer" [src]="data_ticket.url_organizer" class="single-header-image"
          crossorigin="anonymous">
        <img [src]="data_ticket.url_team_main" class="single-header-image" crossorigin="anonymous">
        <img [src]="data_ticket.url_tournament" class="single-header-image" crossorigin="anonymous">
      </div>
      <p class="fontOrganettoUltraBold text1 fz-11">{{ data_ticket.tournament | uppercase }}</p>
      <p class="fontOrganettoLight text2 fz-11">{{ data_ticket.date_name | uppercase }}</p>
      <div class="text9" *ngIf="data_ticket.stadium_to_play">
        <p class="fontOrganettoRegular fz-11">{{ ('stadium_to_play' | translate) | uppercase }}: <span
            class="fontOrganettoUltraBold subt6">{{ data_ticket.stadium_to_play }}</span></p>
      </div>
      <p class="fontOrganettoRegular text3 fz-11">{{ ('date_event' | translate) | uppercase }}: <span
          class="fontOrganettoUltraBold subt6">{{ data_ticket.date_event }}</span></p>
      <p class="fontOrganettoBold text4 fz-30">{{ data_ticket.abbr_local | uppercase }} <span
          class="fontOrganettoRegular fz-21">VS.</span> {{ data_ticket.abbr_visit | uppercase }}</p>
      <div class="text5" *ngIf="!params.hideDataSeat">
        <p class="fontOrganettoRegular fz-10">HORA:</p>
        <p class="fontOrganettoRegular fz-10">TRIBUNA:</p>
        <p class="fontOrganettoRegular fz-10">SECTOR:</p>
        <p class="fontOrganettoRegular fz-10">FILA:</p>
        <p class="fontOrganettoRegular fz-10">SILLA</p>
      </div>
      <div class="text6" *ngIf="!params.hideDataSeat">
        <p class="fontOrganettoUltraBold subt1 fz-12">{{ data_ticket.time | uppercase }}</p>
        <p class="fontOrganettoUltraBold subt2 fz-12">{{ data_ticket.tribune | uppercase }}</p>
        <p class="fontOrganettoUltraBold subt3" [class]="classTicketZone">{{ data_ticket.ticketZone | uppercase }}</p>
        <p class="fontOrganettoUltraBold subt4 fz-12 flexBasicOnly">{{ data_ticket.ticketRow | uppercase }}</p>
        <p class="fontOrganettoUltraBold subt5 fz-12 flexBasicOnly">{{ data_ticket.ticketSeat | uppercase }}</p>
      </div>
      <div class="text6-Optional" *ngIf="!params.hideDataSeat && data_ticket.specialTicket !='null'">
        <p class="fontOrganettoUltraBold subt2-optional fz-25">{{ data_ticket.specialTicket | uppercase }}</p>
      </div>
      <div class="text6-flash-title" *ngIf="params.hideDataSeat">
        <p class="fontOrganettoRegular subt1 fz-10-flash">HORA:</p>
        <p class="fontOrganettoRegular subt1 fz-10-flash">TRIBUNA</p>
      </div>
      <div class="text6" *ngIf="params.hideDataSeat">
        <p class="fontOrganettoUltraBold subt1 fz-12-flash">{{ data_ticket.time | uppercase }}</p>
        <p class="fontOrganettoUltraBold subt2 fz-12-flash">{{ data_ticket.tribune | uppercase }}</p>
      </div>
      <div class="text6-Optional" *ngIf="params.hideDataSeat && data_ticket.specialTicket !='null'">
        <p class="fontOrganettoUltraBold subt2-optional fz-25-flash">{{ data_ticket.specialTicket | uppercase }}</p>
      </div>

      <qrcode *ngIf="data_ticket" [qrdata]="data_ticket.code_ticket" [width]="200" class="image-qr"
        [errorCorrectionLevel]="'M'" [margin]="0" [allowEmptyString]="true"
        [style.transform]="'rotate(' + qrRotationAngle + 'deg)'">
      </qrcode>

      <p class="fontOrganettoUltraBold text7 fz-10" *ngIf="ticketParams.qrcode_type == 'static'">
        {{ 'COD' | uppercase
        }}: <span class="fontOrganettoRegular">{{data_ticket.code_ticket }}</span>
      </p>
      <p class="fontOrganettoUltraBold text8 fz-14">{{ ('value' | translate) | uppercase }}: <span
          class="fontOrganettoRegular">{{ data_ticket.price }}</span></p>

      <img height="20" [width]="calculateWidth(85)" [src]="data_ticket.url_ticket_sponsor" class="image_sponsor"
        crossorigin="anonymous">

      <p class="fontOrganettoRegular cufe fz-3" *ngIf="data_ticket.cufe">
        {{ ('cufe' | translate) | uppercase }}: {{ data_ticket.cufe }}
      </p>
    </div>
  </div>
  <div class="content-btn-download">
    <ion-card *ngIf="ticketParams.qrcode_type == 'static'">
      <ion-card-header>
        <ion-card-subtitle class="fz-18">{{ data_ticket.code_ticket | uppercase }}</ion-card-subtitle>
      </ion-card-header>
    </ion-card>

    <ion-card (click)="toggleDetails()" *ngIf="ticketParams.enable_tyc !=='false'">
      <ion-card-header>
        <ion-card-subtitle>{{ 'terms_and_conditions_tickets' | translate }}</ion-card-subtitle>
      </ion-card-header>
      <ion-card-content *ngIf="showDetails && !ticketParams.terms" [innerHTML]="txtTerms"></ion-card-content>
    </ion-card>

    <ion-card (click)="toggleInvoice(data_ticket.invoice_link)" *ngIf="data_ticket.invoice_link">
      <ion-card-header>
        <ion-card-subtitle>{{ 'tickets.show_electronic_invoice' | translate }}</ion-card-subtitle>
      </ion-card-header>
    </ion-card>
  </div>
</ion-content>