<?php

class MeetSourceEso extends MeetSource
{
  function Import(): string
  {
    $Output = parent::Import();
    $Content = file_get_contents($this->URL);

    $BlockStart = '<h2>Seznam inzerátů';
    $BlockEnd = '<nav><ul';
    $Content = GetTextBetween($Content, $BlockStart, $BlockEnd);
    if ($Content == '')
    {
      $Output .= 'Main block not isolated.</br>';
      return $Output;
    }

    $ItemStart = '<div class="panel panel-default">';
    $ItemEnd = "</div>
    </div>";
    while (strpos($Content, $ItemStart) !== false)
    {
      $Item = GetTextBetween($Content, $ItemStart, $ItemEnd);
      $MeetItem = new MeetItem();

      $MeetItem->Name = trim(GetTextBetween($Item, '<h3 class="panel-title tucne">', '/'));
      $Gender = trim(GetTextBetween($Item, ' ', '</h3'));
      if (strpos($Gender, 'partnerku') !== false) $MeetItem->Gender = Gender::Male;
        else if (strpos($Gender, 'partnera') !== false) $MeetItem->Gender = Gender::Female;
        else $MeetItem->Gender = Gender::Undefined;
      $Small = GetTextBetween($Item, '<small>', '</small>');
      if (strpos($Small, '/') != false)
      {
        $MeetItem->Location = substr(trim(substr($Small, 0, strpos($Small, '/') - 1)), 1, -1);
        $Small = substr($Small, strpos($Small, '/') + 1);
      }
      $Time = trim($Small);
      $MeetItem->Time = HumanDateToTime($Time);
      $MeetItem->Message = trim(GetTextBetween($Item, '<p class="lead">', '</p>'));
      $MeetItem->Age = GetAgeFromText($MeetItem->Message);
      $MeetItem->Height = GetHeightFromText($MeetItem->Message);
      $MeetItem->Weight = GetWeightFromText($MeetItem->Message);
      $Location = GetLocationFromText($MeetItem->Message);
      if ($Location != '') $MeetItem->Location = $Location;
      if ($MeetItem->Location == '') $MeetItem->Location = 'Brno';
      $MeetItem->Email = '';
      $MeetItem->Phone = '';
      $MeetItem->Link = trim(GetTextBetween($Item, '<a href="', '"'));
      $MeetItem->Database = $this->Database;
      $MeetItem->Source = $this->Id;
      $this->MeetItems[] = $MeetItem;
    }
    return $Output;
  }
}
