Ejemplo n.º 1
0
 protected function do_add($data)
 {
     if (!isset($data['set']) || !is_array($data['set'])) {
         return array('success' => false);
     }
     if (!empty($data['start'])) {
         $utc = $data['utc'] + 240;
         $start = date('Y-m-d G:i:s', strtotime($data['start']) + $utc * 60);
     } else {
         $start = '';
     }
     $sets = array();
     foreach ($data['set'] as $set) {
         if (preg_match('/[^-\\d\\.a-z]/ui', $set)) {
             continue;
         }
         $set = Database::get_full_row('set', 'id = ?', $set);
         if (empty($set)) {
             continue;
         }
         $sets[] = $set;
         if (!$set['grabbed']) {
             Grabber::get_set($set['id']);
         }
     }
     Database::begin();
     Database::insert('game', array('id_user' => $this->user, 'pick_time' => isset($data['pick_time']) ? $data['pick_time'] : 0, 'pause_time' => isset($data['pause_time']) ? $data['pause_time'] : 0, 'type' => isset($data['type']) ? $data['type'] : 1, 'start' => $start));
     $id_game = Database::last_id();
     $order = 0;
     foreach ($sets as $set) {
         Database::insert('game_set', array('id_game' => $id_game, 'order' => ++$order, 'id_set' => $set['id']));
     }
     Database::commit();
     return array('success' => true);
 }
Ejemplo n.º 2
0
 protected function get_data()
 {
     $data = parent::get_data();
     $data['sets'] = Database::order('order', 'asc')->get_table('set');
     if (empty($data['sets'])) {
         $data['sets'] = Grabber::get_set_list();
     }
     return $data;
 }
Ejemplo n.º 3
0
 public function add_booster($user)
 {
     $set = Database::order('order')->get_row('game_set', array('id_set', 'order'), 'id_game = ?', $this->get_id());
     if (!$set) {
         return false;
     }
     Database::insert('game_set', array('id_game' => $this->get_id(), 'id_set' => $set['id_set'], 'order' => $set['order'] + 1));
     $id = Database::last_id();
     Database::insert('game_booster', array('id_game_set' => $id, 'id_user' => $user));
     $booster = Database::last_id();
     $booster = $this->make_booster($booster, $set['id_set'], $user);
     $booster->set_in_deck(false);
     $ids = $booster->generate();
     Grabber::get_images(array_unique($ids));
     return true;
 }
Ejemplo n.º 4
0
 protected function create_data($users)
 {
     Database::update('game', array('state' => 1), $this->get_id());
     $this->insert_users($users);
     $sets = Database::order('order', 'asc')->get_full_table('game_set', 'id_game = ?', $this->get_id());
     $ids = array();
     foreach ($sets as $set) {
         foreach ($users as $user) {
             Database::insert('game_booster', array('id_game_set' => $set['id'], 'id_user' => $user));
             $booster = Database::last_id();
             $booster = $this->make_booster($booster, $set['id_set'], $user);
             $ids = array_merge($ids, $booster->generate());
         }
     }
     Grabber::get_images(array_unique($ids));
     $this->insert_game_steps($sets);
 }
 public function __destruct()
 {
     parent::__destruct();
 }
Ejemplo n.º 6
0
<?php

require_once 'bootstrap.php';
$phraseTranslate = 'Hello everybody';
$output = "test";
$lang = "en";
Grabber::saveAudio($phraseTranslate, $output, $lang);
var_dump($url);
die;
echo json_encode($response);
Ejemplo n.º 7
0
    }
    foreach (glob($dir . '/*') as $file) {
        unlink($file);
    }
}
$file = array_shift($argv);
$set = array_shift($argv);
if (empty($set)) {
    die('Set needed' . "\n");
}
$set = Database::get_full_row('set', 'id = ?', $set);
if (empty($set)) {
    die('Incorrect set' . "\n");
}
if (!$set['grabbed']) {
    Grabber::get_set($set['id']);
}
$folder = IMAGES . SL . 'import';
if (!file_exists($folder . SL . $set['id']) || !is_dir($folder . SL . $set['id'])) {
    die('No import folder' . "\n");
}
$cards = Database::join('set_card', 'sc.id_card = c.id')->get_table('card', 'image', 'sc.id_set = ?', $set['id']);
$images = glob($folder . SL . $set['id'] . SL . '*.jpg');
$import = array();
foreach ($images as $image) {
    $compare = str_replace($folder, '', $image);
    $compare = str_replace('.full.jpg', '.jpg', $compare);
    $compare = preg_replace('/[^a-zA-Z\\.\\/\\d\\-]|\\.(?!jpg$)/sui', '', $compare);
    foreach ($cards as $id => $card) {
        if ($compare == $card['image']) {
            $import[$image] = $card['image'];
Ejemplo n.º 8
0
namespace Geneanet;

require_once __DIR__ . "/autoload.php";
error_reporting(E_ALL);
$config = new Config();
$geneanet = new GeneanetServer();
if (!$geneanet->login($config->get('connexion/user'), $config->get('connexion/passwd'))) {
    printf($geneanet->lastError() . "\n");
    exit(0);
}
if (isset($argv[1])) {
    $url = $argv[1];
} else {
    $url = $config->get('geneanet/default-url');
}
$grabber = new Grabber($geneanet);
$grabber->setDelay($config->get('grabber/delay'));
if ($config->get('connexion/proxy') != '') {
    $grabber->setProxy($config->get('connexion/proxy'));
}
$test = 'single';
switch ($test) {
    case 'single':
        $p = $grabber->grabSingle($url);
        # print_r($p);
        echo utf8_decode($p);
        break;
    case 'ascendants':
        $p = $grabber->grabSingle($url);
        $list = $grabber->grabAscendants($p, $level = 15);
        break;
Ejemplo n.º 9
0
require_once __DIR__ . "/autoload.php";
error_reporting(E_ALL);
/* geany_encoding=ISO-8859-15 */
$config = new Config();
$geneanet = new GeneanetServer();
if (!$geneanet->login($config->get('connexion/user'), $config->get('connexion/passwd'))) {
    printf($geneanet->lastError() . "\n");
    exit(0);
}
if (isset($argv[1])) {
    $url = $argv[1];
} else {
    $url = $config->get('geneanet/default-url');
}
$grabber = new Grabber($geneanet);
$grabber->setDelay($config->get('grabber/delay'));
if ($config->get('connexion/proxy') != '') {
    $grabber->setProxy($config->get('connexion/proxy'));
}
$test = 'descendants';
switch ($test) {
    case 'single':
        $p = $grabber->grabSingle($url);
        echo utf8_decode($p);
        break;
    case 'ascendants':
        $p = $grabber->grabSingle($url);
        $grabber->grabAscendants($p, $level = 3);
        break;
    case 'descendants':
Ejemplo n.º 10
0
$phrase = isset($_REQUEST['phrase']) ? trim($_REQUEST['phrase']) : null;
$phrase = preg_replace("@\\\\*@ui", "", $phrase);
$phraseTranslate = isset($_REQUEST['phraseTranslate']) ? trim($_REQUEST['phraseTranslate']) : null;
$phraseTranslate = preg_replace("@\\\\*@ui", "", $phraseTranslate);
if (!$word || !$translate || !$phrase || !$phraseTranslate) {
    echo '';
    die;
}
$id = (int) Db::select('SELECT MAX(id) FROM words');
$id++;
$pdo = Db::getPdo();
$insert = "\n    INSERT INTO words \n    (id, word, trans_word, phrase, trans_phrase)\n    VALUES\n    (:id,:word,:trans_word,:phrase,:trans_phrase)\n";
try {
    $pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
    $pdo->beginTransaction();
    $sth = $pdo->prepare($insert);
    $sth->bindParam(':id', $id);
    $sth->bindParam(':word', $word);
    $sth->bindParam(':trans_word', $translate);
    $sth->bindParam(':phrase', $phrase);
    $sth->bindParam(':trans_phrase', $phraseTranslate);
    $result = $sth->execute();
    $pdo->commit();
} catch (\Exception $e) {
    $pdo->rollBack();
    var_dump($e->getMessage());
    die;
}
Grabber::saveAll(array("word" => $word, "translate" => $translate, "phrase" => $phrase, "phraseTranslate" => $phraseTranslate), $id);
echo json_encode(array('result' => true));
die;
Ejemplo n.º 11
0
require_once __DIR__ . "/autoload.php";
error_reporting(E_ALL);
/*
ini_set('include_path', '.:lib' . ini_get('include_path'));
require_once('lib/Config.php');
require_once('lib/Person.php');
require_once('lib/Geneanet.php');
require_once('lib/DbCache.php');
*/
$config = new Config();
$geneanet = new GeneanetServer();
if (!$geneanet->login($config->get('connexion/user'), $config->get('connexion/passwd'))) {
    printf($geneanet->lastError() . "\n");
    exit(0);
}
$grabber = new Grabber($geneanet);
$grabber->setDelay($config->get('grabber/delay'));
if ($config->get('connexion/proxy') != '') {
    $grabber->setProxy($config->get('connexion/proxy'));
}
$cache = new DbCache('var/cache.sqlite');
$parser = new GeneanetEntryParser();
if (isset($_REQUEST['url'])) {
    $url = sprintf("http://gw3.geneanet.org/%s", $_REQUEST['url']);
} else {
    $url = $config->get('geneanet/default-url');
}
printf("url = '%s'<br>\n", $url);
$html = $cache->getFromCache($url, 3600);
if ($html === false) {
    $html = $geneanet->get($url);
Ejemplo n.º 12
0
 /**
  * @param $country_id
  * @param $region_id
  * @param $lang
  * @param $offset
  * @param $city_values
  * @param Grabber $grabber
  * @throws \Exception
  */
 protected static function getCities($country_id, $region_id, $lang, $offset, &$city_values, $grabber)
 {
     try {
         foreach ($grabber->getCities($country_id, $region_id, $offset) as $city) {
             if (!isset($city_values[$city['id']])) {
                 $city_values[$city['id']] = ['city_id' => (int) $city['id'], 'country_id' => (int) $country_id, 'region_id' => (int) $region_id, 'important' => (int) $city['important'], 'name_' . $lang => $city['title']];
             } else {
                 $city_values[$city['id']]['name_' . $lang] = $city['title'];
             }
         }
     } catch (\Exception $c) {
         if (in_array((int) $c->getCode(), [1, 10, 6])) {
             sleep(2);
             get_cities($country_id, $region_id, $lang, $offset, $city_values, $grabber);
         }
         throw new \Exception($c->getMessage(), $c->getCode());
     }
 }
Ejemplo n.º 13
0
 public static function get_ids($region)
 {
     $url = "http://avibase.bsc-eoc.org/checklist.jsp?region=" . $region . "&list=clements";
     $ch = curl_init();
     $user_agent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.79 Safari/537.1';
     // simule Firefox 4.
     $header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
     $header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
     $header[] = "Cache-Control: max-age=0";
     $header[] = "Connection: keep-alive";
     $header[] = "Keep-Alive: 300";
     $header[] = "Accept-Charset: utf-8";
     $header[] = "Accept-Language: en";
     // langue fr.
     $header[] = "Pragma: ";
     // Simule un navigateur
     //curl_setopt($ch, CURLOPT_PROXY, 'proxy.int.world.socgen:8080');
     //curl_setopt($ch, CURLOPT_PROXYUSERPWD, "aurelien.lequoy:xxxxx");
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
     curl_setopt($ch, CURLOPT_URL, $url);
     curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
     curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
     $content = curl_exec($ch);
     curl_close($ch);
     $data = array();
     $content2 = \Grabber::getTagContent($content, '<table class="AVBlist">', true);
     $content2 = str_replace('<a href="species.jsp?avibaseid=', '.', $content2);
     $content2 = str_replace('"><i>', '.', $content2);
     $content2 = str_replace('&nbsp;', '', $content2);
     $content2 = strip_tags($content2);
     $content2 = explode('.', $content2);
     $i = 0;
     while (isset($content2[$i])) {
         if (!preg_match('#[0-9]#', $content2[$i])) {
             unset($content2[$i]);
         }
         $i++;
     }
     $data = $content2;
     return $data;
 }
Ejemplo n.º 14
-1
 public function generate()
 {
     parent::generate();
     $shifted = Booster::get_cards('TST');
     if (empty($shifted)) {
         Grabber::get_set('TST', true);
         $shifted = Booster::get_cards('TST');
     }
     $shifted = current($shifted);
     $key = array_rand($shifted);
     $id = $shifted[$key];
     $this->insert_card($id);
     $this->ids[] = $id;
     return $this->ids;
 }