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); }
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; }
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; }
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(); }
<?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);
} 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'];
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;
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':
$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;
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);
/** * @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()); } }
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(' ', '', $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; }
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; }