示例#1
0
function find_cinemas_brazil()
{
    $start = microtime(true);
    $cinemas_br = Env::path('temp/brasil.json');
    $cinemas_br = file_get_contents($cinemas_br);
    $cinemas_br = json_decode($cinemas_br);
    //loop em todos os estados e cidades do estado
    $new_cinemas = array();
    $invalid_cinemas = array();
    foreach ($cinemas_br as $value) {
        $estado = $value->nome;
        $uf = $value->codigo;
        $cidades = $value->cidades;
        $cinema_finder = new CinemaFinder('br', $uf, $cidades);
        $cinemas = $cinema_finder->get_all_cinemas();
        $template = new CinemaTemplate();
        foreach ($cinemas as $cinema) {
            $base_dir = "cinema/br/";
            //passa o codigo do estado temporariamente para depois alterar e verificar se o cinema é realmente desse local
            $cinema->state_code = $uf;
            $template->create($base_dir, $cinema);
        }
        $new_cinemas = array_merge($new_cinemas, $template->get_new_cinemas());
        $invalid_cinemas = array_merge($invalid_cinemas, $template->get_invalid_cinemas());
    }
    $total = Helper::elapsed_time($start);
    Log::write("Tempo total procurando cinemas: {$total}");
    Sendmail::to_admin(count($new_cinemas) . " cinemas novos", $new_cinemas);
    Sendmail::to_admin(count($invalid_cinemas) . " cinemas sem cidade", $invalid_cinemas);
}
示例#2
0
function update_showtimes()
{
    $start = microtime(true);
    $path = Env::path() . 'cinema/br';
    $cinemas = Helper::get_file_list($path);
    $updated = array();
    $invalid = array();
    $erros = array();
    foreach ($cinemas as $value) {
        $classname = basename($value, '.php');
        try {
            if (class_exists($classname)) {
                $cinema_class = new $classname();
                $cinema = $cinema_class->update();
                if (!empty($cinema)) {
                    $updated[] = $cinema;
                    if ($cinema->status == 'INVALID') {
                        $invalid[] = $cinema;
                    }
                }
            }
        } catch (Exception $e) {
            $erros[] = $classname . ' - ' . $e->getMessage();
        }
    }
    if (count($updated) > 0) {
        callback_subscribers($updated);
        Sendmail::to_admin(count($updated) . " cinemas atualizados", $updated);
    }
    Sendmail::to_admin(count($invalid) . " cinemas invalidos", $invalid);
    Sendmail::to_admin(count($erros) . " erros atualizando cinemas", $erros);
    $total = Helper::elapsed_time($start);
    Log::write("Tempo total atualizando cinemas: {$total}");
}
示例#3
0
 private function notify_invalid_cinemas()
 {
     if (count($this->_cinemas) == 0) {
         Log::write("Não achou cinemas para " . $this->_state);
         return;
     }
     $invalid = array_filter($this->_cinemas, function ($var) {
         return empty($var->id) || empty($var->address);
     });
     $cinemas = array();
     foreach ($invalid as $key => $value) {
         $uf = Helper::clean_string($value->state_code);
         $cidade = Helper::clean_string($value->city);
         $nome = Helper::clean_string($value->name);
         $cinema = "{$uf}/{$cidade}/{$nome}";
         $cinemas[] = $cinema;
     }
     Sendmail::to_admin("Cinemas Incompletos", $cinemas);
 }
示例#4
0
 function xtest_mail()
 {
     $subject = 'teste';
     $body = 'Teste de corpo <br> Proxima linha';
     Sendmail::to_admin($subject, $body);
 }