public static function tearDownAfterClass()
 {
     if (!self::$timing) {
         echo "\n";
         return;
     }
     $class = get_called_class();
     echo "Timing results : {$class}\n";
     $s = sprintf("%40s %6s %9s %9s %4s\n", 'name', 'count', 'total', 'avg', '% best');
     echo str_repeat('=', strlen($s)) . "\n";
     echo $s;
     echo str_repeat('-', strlen($s)) . "\n";
     array_walk(self::$timing, function (&$value, $key) {
         $value['avg'] = round($value['total'] / $value['count'] * 1000000, 3);
     });
     usort(self::$timing, function ($a, $b) {
         $at = $a['avg'];
         $bt = $b['avg'];
         return $at === $bt ? 0 : ($at < $bt ? -1 : 1);
     });
     $best = self::$timing[0]['avg'];
     foreach (self::$timing as $timing) {
         printf("%40s %6d %7.3fms %7.3fus %4.1f%%\n", $timing['name'], $timing['count'], round($timing['total'] * 1000, 3), $timing['avg'], round($timing['avg'] / $best * 100, 3));
     }
     echo str_repeat('-', strlen($s)) . "\n\n";
     printf("\nTiming compensated for avg overhead for: timeIt of %.3fus and startTimer/endTimer of %.3fus per invocation\n\n", self::$timeItOverhead * 1000000, self::$startEndOverhead * 1000000);
     parent::tearDownAfterClass();
 }
コード例 #2
0
ファイル: user_model.php プロジェクト: flyingfish2013/Syssh
 function __construct($uid = NULL)
 {
     parent::__construct();
     $this->table = 'user';
     $this->fields = array_merge($this->fields, array('alias' => '', 'password' => ''));
     if (is_null($uid)) {
         $uid = $this->session->userdata('user/id');
     }
     if ($uid) {
         $user = $this->fetch($uid);
         $this->id = $uid;
         $this->name = $user['name'];
         $this->group = explode(',', $user['group']);
     }
     //TODO 生成了过多的查询,应予以优化
     $this->teams = $this->team->trace($this->id);
     //获取存在数据库中的用户配置项
     $this->db->from('user_config')->where('user', $this->id);
     $config = array_sub($this->db->get()->result_array(), 'value', 'name');
     array_walk($config, function (&$value) {
         $decoded = json_decode($value);
         if (!is_null($decoded)) {
             $value = $decoded;
         }
     });
     $this->config->user = $config;
 }
コード例 #3
0
ファイル: writer.php プロジェクト: mdb-webdev/livehelperchat
 /**
  * Checks if query allowed.
  *
  * Perform testing if table exist for DROP TABLE query 
  * to avoid stoping execution while try to drop not existent table.
  * 
  * @param ezcDbHandler $db
  * @param string       $query
  * 
  * @return boolean false if query should not be executed.
  */
 public function isQueryAllowed(ezcDbHandler $db, $query)
 {
     if (strstr($query, 'AUTO_INCREMENT')) {
         return false;
     }
     if (substr($query, 0, 10) == 'DROP TABLE') {
         $tableName = substr($query, strlen('DROP TABLE "'), -1);
         // get table name without quotes
         $result = $db->query("SELECT count( table_name ) AS count FROM user_tables WHERE table_name='{$tableName}'")->fetchAll();
         if ($result[0]['count'] == 1) {
             $sequences = $db->query("SELECT sequence_name FROM user_sequences")->fetchAll();
             array_walk($sequences, create_function('&$item,$key', '$item = $item[0];'));
             foreach ($sequences as $sequenceName) {
                 // try to drop sequences related to dropped table.
                 if (substr($sequenceName, 0, strlen($tableName)) == $tableName) {
                     $db->query("DROP SEQUENCE \"{$sequenceName}\"");
                 }
             }
             return true;
         } else {
             return false;
         }
     }
     return true;
 }
コード例 #4
0
 /**
  * Rank / sort items parsed from the log
  *
  * @see parseFile()
  */
 public function generateStatistics()
 {
     if ($this->items === null) {
         throw new \Exception('You have to parse a file first');
     }
     $this->statistics = ['hosts' => [], 'files' => []];
     array_walk($this->items, function ($item) {
         $url = parse_url($item->request);
         $host = $url['host'];
         $file = $host . $url['path'];
         if (isset($this->statistics['hosts'][$host])) {
             $this->statistics['hosts'][$host] += 1;
         } else {
             $this->statistics['hosts'][$host] = 1;
         }
         if ($item->requestMethod == 'GET' && strpos($url['path'], '.') !== false) {
             if (isset($this->statistics['files'][$file])) {
                 $this->statistics['files'][$file] += 1;
             } else {
                 $this->statistics['files'][$file] = 1;
             }
         }
     });
     arsort($this->statistics['files']);
     arsort($this->statistics['hosts']);
 }
コード例 #5
0
ファイル: NodeTest.php プロジェクト: sgtsaughter/d8portfolio
 /**
  * {@inheritdoc}
  */
 protected function setUp()
 {
     $this->databaseContents['content_node_field'] = array(array('field_name' => 'field_test_four', 'type' => 'number_float', 'global_settings' => 'a:0:{}', 'required' => '0', 'multiple' => '0', 'db_storage' => '1', 'module' => 'number', 'db_columns' => 'a:1:{s:5:"value";a:3:{s:4:"type";s:5:"float";s:8:"not null";b:0;s:8:"sortable";b:1;}}', 'active' => '1', 'locked' => '0'));
     $this->databaseContents['content_node_field_instance'] = array(array('field_name' => 'field_test_four', 'type_name' => 'story', 'weight' => '3', 'label' => 'Float Field', 'widget_type' => 'number', 'widget_settings' => 'a:0:{}', 'display_settings' => 'a:0:{}', 'description' => 'An example float field.', 'widget_module' => 'number', 'widget_active' => '1'));
     $this->databaseContents['content_type_story'] = array(array('nid' => 5, 'vid' => 5, 'uid' => 5, 'field_test_four_value' => '3.14159'));
     $this->databaseContents['system'] = array(array('type' => 'module', 'name' => 'content', 'schema_version' => 6001, 'status' => TRUE));
     foreach ($this->expectedResults as $k => $row) {
         foreach (array('nid', 'vid', 'title', 'uid', 'body', 'teaser', 'format', 'timestamp', 'log') as $field) {
             $this->databaseContents['node_revisions'][$k][$field] = $row[$field];
             switch ($field) {
                 case 'nid':
                 case 'vid':
                     break;
                 case 'uid':
                     $this->databaseContents['node_revisions'][$k]['uid']++;
                     break;
                 default:
                     unset($row[$field]);
                     break;
             }
         }
         $this->databaseContents['node'][$k] = $row;
     }
     array_walk($this->expectedResults, function (&$row) {
         $row['node_uid'] = $row['uid'];
         $row['revision_uid'] = $row['uid'] + 1;
         unset($row['uid']);
     });
     parent::setUp();
 }
コード例 #6
0
 function __construct($data)
 {
     $object = $this;
     array_walk($data, function ($value, $key) use($object) {
         $object->{$key} = $value;
     });
 }
コード例 #7
0
 /**
  * Constructor
  *
  * @param array           $elements
  * @param ArrayCollection $received
  * @param Basket          $basket
  * @param Boolean         $flatten
  */
 public function __construct(array $elements, ArrayCollection $received, Basket $basket = null, $flatten = self::FLATTEN_NO)
 {
     parent::__construct($elements);
     $this->received = $received;
     $this->basket = $basket;
     $this->isSingleStory = $flatten !== self::FLATTEN_YES && 1 === count($this) && $this->first()->isStory();
     if (self::FLATTEN_NO !== $flatten) {
         $to_remove = [];
         foreach ($this as $key => $record) {
             if ($record->isStory()) {
                 if (self::FLATTEN_YES === $flatten) {
                     $to_remove[] = $key;
                 }
                 foreach ($record->get_children() as $child) {
                     $this->set($child->get_serialize_key(), $child);
                 }
             }
         }
         foreach ($to_remove as $key) {
             $this->remove($key);
         }
     }
     $i = 0;
     $records = $this->toArray();
     array_walk($records, function ($record) use(&$i) {
         $record->setNumber($i++);
     });
 }
コード例 #8
0
ファイル: case.php プロジェクト: jacomyma/GEXF-Atlas
 protected function cleanupTables()
 {
     switch ($this->db->getName()) {
         case 'pgsql':
             $tables = $this->db->query("SELECT table_name FROM information_schema.tables WHERE table_schema = 'public'")->fetchAll();
             array_walk($tables, create_function('&$item,$key', '$item = $item[0];'));
             foreach ($tables as $tableName) {
                 $this->db->query("DROP TABLE \"{$tableName}\"");
             }
             break;
         case 'oracle':
             $tables = $this->db->query("SELECT table_name FROM user_tables")->fetchAll();
             array_walk($tables, create_function('&$item,$key', '$item = $item[0];'));
             foreach ($tables as $tableName) {
                 $this->db->query("DROP TABLE \"{$tableName}\"");
             }
             $sequences = $this->db->query("SELECT sequence_name FROM user_sequences")->fetchAll();
             array_walk($sequences, create_function('&$item,$key', '$item = $item[0];'));
             foreach ($sequences as $sequenceName) {
                 $this->db->query("DROP SEQUENCE \"{$sequenceName}\"");
             }
             break;
         default:
             $this->db->exec('DROP TABLE IF EXISTS workflow;');
             $this->db->exec('DROP TABLE IF EXISTS node;');
             $this->db->exec('DROP TABLE IF EXISTS node_connection;');
             $this->db->exec('DROP TABLE IF EXISTS variable_handler;');
             $this->db->exec('DROP TABLE IF EXISTS execution;');
             $this->db->exec('DROP TABLE IF EXISTS execution_state;');
     }
 }
コード例 #9
0
ファイル: CronCommand.php プロジェクト: startupz/platform-1
 /**
  * {@inheritdoc}
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     // check for maintenance mode - do not run cron jobs if it is switched on
     if ($this->getContainer()->get('oro_platform.maintenance')->isOn()) {
         $output->writeln('');
         $output->writeln('<error>System is in maintenance mode, aborting</error>');
         return;
     }
     $daemon = $this->getContainer()->get('oro_cron.job_daemon');
     $skipCheckDaemon = $input->getOption('skipCheckDaemon');
     // check if daemon is running
     if (!$skipCheckDaemon && !$daemon->getPid()) {
         $output->writeln('');
         $output->write('Daemon process not found, running.. ');
         if ($pid = $daemon->run()) {
             $output->writeln(sprintf('<info>OK</info> (pid: %u)', $pid));
         } else {
             $output->writeln('<error>failed</error>. Cron jobs can\'t be launched.');
             return;
         }
     }
     $schedules = $this->getAllSchedules();
     $em = $this->getEntityManager('JMSJobQueueBundle:Job');
     $jobs = $this->processCommands($output, $this->getApplication()->all('oro:cron'), $schedules);
     $jobs = array_merge($jobs, $this->processSchedules($output, $schedules));
     array_walk($jobs, [$em, 'persist']);
     $em->flush();
     $output->writeln('');
     $output->writeln('All commands finished');
 }
コード例 #10
0
ファイル: NodeByNodeTypeTest.php プロジェクト: nsp15/Drupal8
 /**
  * {@inheritdoc}
  */
 protected function setUp()
 {
     $database_contents = $this->expectedResults;
     array_walk($this->expectedResults, function (&$row) {
         $row['node_uid'] = $row['uid'];
         $row['revision_uid'] = $row['uid'] + 1;
         unset($row['uid']);
     });
     $database_contents[] = array('nid' => 5, 'vid' => 5, 'type' => 'article', 'language' => 'en', 'title' => 'node title 5', 'uid' => 1, 'status' => 1, 'timestamp' => 1279290908, 'created' => 1279290908, 'changed' => 1279308993, 'comment' => 0, 'promote' => 1, 'moderate' => 0, 'sticky' => 0, 'tnid' => 0, 'translate' => 0, 'body' => 'body for node 5', 'teaser' => 'body for node 5', 'format' => 1, 'log' => 'log message 3');
     // Add another row with an article node and make sure it is not migrated.
     foreach ($database_contents as $k => $row) {
         foreach (array('nid', 'vid', 'title', 'uid', 'body', 'teaser', 'format', 'timestamp', 'log') as $field) {
             $this->databaseContents['node_revisions'][$k][$field] = $row[$field];
             switch ($field) {
                 case 'nid':
                 case 'vid':
                     break;
                 case 'uid':
                     $this->databaseContents['node_revisions'][$k]['uid']++;
                     break;
                 default:
                     unset($row[$field]);
                     break;
             }
         }
         $this->databaseContents['node'][$k] = $row;
     }
     parent::setUp();
 }
コード例 #11
0
function converio_image_slider($atts, $content = '')
{
    if (isset($atts) && !empty($atts)) {
        array_walk($atts, 'converio_arrangement_shortcode_arr_value');
    }
    extract(shortcode_atts(array('type' => '', 'translate_next' => '', 'translate_previous' => ''), $atts));
    remove_all_filters('converio_filters_image_slider', 10);
    if ($type == '2') {
        add_filter('converio_filters_image_slider', 'converio_filter_image_slider_two', 10);
        $output = '<div class="slider-image">';
        $output .= '<div class="container">';
        $output .= '<p class="number"><span></span>/<b></b></p>';
        $output .= '<ul id="slides">';
        $output .= '<a class="slidesjs-previous slidesjs-navigation" href="#" title="Previous">' . $translate_next . '</a> <a class="slidesjs-next slidesjs-navigation" href="#" title="Next">' . $translate_previous . '</a>';
        $output .= do_shortcode($content);
        $output .= '</ul>';
        $output .= '</div>';
        $output .= '</div>';
    } else {
        add_filter('converio_filters_image_slider', 'converio_filter_image_slider_one', 10);
        $output = '<section class="slider3">';
        $output .= '<div class="slider">';
        $output .= do_shortcode($content);
        $output .= '</div>';
        $output .= '</section>';
    }
    return $output;
}
コード例 #12
0
ファイル: JsonView.php プロジェクト: pierreleplatois/sialab
 /**
  * Sets response body of appended data to be json_encoded
  *
  * @param int $status
  * @param array|null $data
  * @return void
  */
 public function render($status = 200, $data = array())
 {
     $data = array_merge(array('status' => $status), $this->all(), is_array($data) ? $data : array());
     if (isset($data['flash']) && is_object($data['flash'])) {
         $flash = $this->data->flash->getMessages();
         if (count($flash)) {
             $data['flash'] = $flash;
         } else {
             unset($data['flash']);
         }
     }
     // Nettoyage des accents des chaines de caractère à afficher
     array_walk($data, function (&$value, $key) {
         if (is_string($value)) {
             $value = $this->ascii_to_entities($value);
         }
     });
     $app = \Slim\Slim::getInstance();
     $response = $app->response();
     $response->status($status);
     $response->header('Content-Encoding', 'UTF-8');
     $response->header('Access-Control-Allow-Origin', '*');
     $response->header('Access-Control-Allow-Methods', '*');
     $response->header('Content-Type', 'application/json;charset=UTF-8');
     $response->body(html_entity_decode(json_encode($data, JSON_NUMERIC_CHECK | JSON_PRETTY_PRINT)));
 }
コード例 #13
0
function in_array_i4($needle, $haystack, $strict = FALSE)
{
    if (is_string($needle)) {
        array_walk($haystack, 'arr_strtolower');
    }
    return in_array(strtolower($needle), $haystack, $strict);
}
コード例 #14
0
ファイル: Components.php プロジェクト: noopable/maintainers
 /**
  * List the components
  *
  * @param Route $route
  * @param Console $console
  * @return int
  */
 public function __invoke(Route $route, Console $console)
 {
     array_walk($this->components, function ($component) use($console) {
         $console->writeLine($component);
     });
     return 0;
 }
コード例 #15
0
 /**
  */
 function diff($from_lines, $to_lines)
 {
     array_walk($from_lines, array('Text_Diff', 'trimNewlines'));
     array_walk($to_lines, array('Text_Diff', 'trimNewlines'));
     /* Convert the two input arrays into strings for xdiff processing. */
     $from_string = implode("\n", $from_lines);
     $to_string = implode("\n", $to_lines);
     /* Diff the two strings and convert the result to an array. */
     $diff = xdiff_string_diff($from_string, $to_string, count($to_lines));
     $diff = explode("\n", $diff);
     /* Walk through the diff one line at a time.  We build the $edits
      * array of diff operations by reading the first character of the
      * xdiff output (which is in the "unified diff" format).
      *
      * Note that we don't have enough information to detect "changed"
      * lines using this approach, so we can't add Text_Diff_Op_changed
      * instances to the $edits array.  The result is still perfectly
      * valid, albeit a little less descriptive and efficient. */
     $edits = array();
     foreach ($diff as $line) {
         switch ($line[0]) {
             case ' ':
                 $edits[] = new Text_Diff_Op_copy(array(substr($line, 1)));
                 break;
             case '+':
                 $edits[] = new Text_Diff_Op_add(array(substr($line, 1)));
                 break;
             case '-':
                 $edits[] = new Text_Diff_Op_delete(array(substr($line, 1)));
                 break;
         }
     }
     return $edits;
 }
コード例 #16
0
 /**
  * @param callable $block
  * @throws Exception\InvalidClosureException
  */
 public function each(callable $block)
 {
     $this->checkNumberOfParameters($block, new Exception\InvalidClosureException('An "each block" only has two parameters!'));
     array_walk($this->elements, function ($element, $index) use($block) {
         call_user_func($block, $element, $index);
     });
 }
コード例 #17
0
ファイル: Http.php プロジェクト: europaphp/europaphp
 public function getAcceptedContentTypes()
 {
     $accept = $this->getHeader('Accept');
     $accept = explode(',', $accept);
     array_walk($accept, 'trim');
     return $accept;
 }
コード例 #18
0
 public function run()
 {
     ModelRef::truncate();
     MarkRef::truncate();
     DB::table('mark_ref_vehicle_type_ref')->truncate();
     $cars = ["AC Cars" => ["Ace", "Aceca", "Cobra"], "Acura" => ["CL", "CSX", "EL", "ILX", "Integra", "MDX", "NSX", "RDX", "RL", "RLX", "RSX", "TL", "TLX", "TSX", "ZDX"], "Alfa Romeo" => ["145", "146", "147", "156", "159", "166", "4C", "8C", "Brera", "Giulietta ", "GT", "GTV", "MiTo", "Spider"], "Asia" => ["Retona", "Rocsta"], "Aston Martin" => ["Cygnet", "DB7", "DB9", "DBS", "ONE-77", "Rapide", "Vantage", "Vanquish", "Zagato", "Virage"], "Audi" => ["100", "A1", "A2", "A3", "A4", "A4 Allroad", "A5", "A6", "A6 Allroad", "A7", "A8", "Q3", "Q5", "Q7", "R8", "RS Q3", "RS3", "RS4", "RS5", "RS6", "RS7", "S3", "S4", "S5", "S6", "S7", "S8", "SQ5", "TT", "TTS"], "AzSamand" => ["Aziz", "LX"], "BAIC" => ["A115", "A315", "A5", "K4", "R315", "X424", "XB4", "XB624", "XB628"], "Bentley" => ["Arnage", "Azure", "Brooklands", "Continental Flying Spur", "Continental GT", "Flying Spur", "Mulsanne"], "BMW" => ["1-series", "2-series", "3-series", "4-series", "5-series", "6-series", "7-series", "i3", "i8", "M3", "M4", "M5", "M6", "X1", "X3", "X4", "X5", "X5 M", "X6", "X6 M", "Z3", "Z4", "Z8"], "BMW Alpina" => ["B3", "B4", "B5", "B6", "B7", "B10", "B12", "D3", "D5", "D10", "RLE", "Roadster S", "Roadster V8", "XD3"], "Brilliance" => ["BS2", "BS4", "BS6", "M1", "M2", "M3", "H 230", "H 320", "H 530", "V5"], "Bronto" => ["Rıs"], "Bugatti" => ["EB 16.4 Veyron"], "Buick" => ["Enclave", "Excelle", "GL8", "LaCrosse", "Le Sabre", "Lucerne", "Park Avenue", "Rainier", "Regal", "Rendezvous", "Riviera", "Terraza"], "BYD" => ["E6", "F0", "F3", "F3R", "F5", "F6", "F7", "Flyer", "G3", "G6", "i6", "L3", "M6", "S6"], "Cadillac" => ["ATS", "BLS", "Catera", "CTS", "De Ville", "DTS", "Eldorado", "ELR", "Escalade", "Seville", "SRX", "STS", "XLR", "XTS"], "Changan/Chana" => ["Alsvin", "Benni Mini", "CM8", "CS35", "CX20", "CX30", "Eado", "Honor", "Love"], "ChangFeng" => ["Flying"], "Chery" => ["A1 (Kimo)", "A13 (Bonus)", "A15 (Amulet)", "A18 (Karry)", "A21 (Fora)", "A3 (M11)", "A5", "B11 (Oriental Son)", "B14 (CrossEastar)", "Cowin", "E5", "Eastar", "Fulwin2", "IndiS (S18D)", "QQ (Sweet)", "QQ6 ", "Tiggo", "Very"], "Chevrolet" => ["Alero", "Astra", "Astro", "Avalanche", "Aveo", "Beretta", "Blazer", "Blazer K5", "Camaro", "Caprice", "Captiva ", "Cavalier", "Celta", "Classic", "Cobalt", "Colorado", "Corsa", "Corsica", "Corvette", "Cruze", "Epica", "Equinox", "Evanda", "Express", "HHR", "Impala", "Kalos", "Lacetti", "Lanos", "Lumina", "Lumina APV", "LUV D-MAX", "Malibu", "Metro", "Monte Carlo", "MW", "Niva", "Nubira", "Omega", "Orlando", "Prizm", "Rezzo", "S-10", "Sail", "Silverado", "Sonic", "Spark (Matiz)", "SSR", "Suburban", "Tacuma", "Tahoe", "Tavera", "Tracker", "TrailBlazer", "Trans Sport", "Traverse", "Uplander", "Vectra", "Venture", "Viva", "Volt", "Zafira"], "Chrysler" => ["200", "300C", "300M", "Aspen", "Cirrus", "Concorde", "Crossfire", "Delta", "Grand Voyager", "Intrepid", "Le Baron", "LHS", "Nassau", "Neon", "New Yorker", "PT Cruiser", "Pacifica", "Saratoga", "Sebring", "Stratus", "Town & Country", "Vision", "Voyager"], "Citroen" => ["Berlingo", "BX", "C-Crosser", "C-Elysee", "C1", "C2", "C3", "C3 Picasso", "C4", "C4 Aircross", "C4 L", "C4 Picasso", "C5", "C6", "C8", "DS3", "DS4", "DS5", "Evasion", "Jumper", "Jumpy", "Nemo", "Saxo", "Xantia", "XM", "Xsara", "Xsara Picasso", "ZX"], "Dacia" => ["Dokker", "Duster ", "Lodgy", "Logan", "Sandero"], "Dadi" => ["City Leading", "Shuttle"], "Daewoo" => ["Cielo", "Damas", "Espero", "Gentra", "Kalos", "Korando", "Lacetti", "Lanos (Sens)", "Leganza", "Magnus", "Matiz", "Musso", "Nexia", "Nubira", "Prince", "Racer", "Rezzo", "Super Salon", "Tacuma", "Tico", "Winstorm"], "Daihatsu" => ["Applause", "Atrai", "Be-go", "Boon", "Boon Luminas", "Charade", "Coo", "Copen", "Cuore", "Delta Wagon", "Esse", "Feroza", "Gran Move", "Hijet", "Materia", "Mira", "Move", "Naked", "Pyzar", "Sirion", "Sonica", "Storia", "Tanto", "Terios", "YRV"], "Daimler" => ["X350"], "Datsun" => ["on-DO"], "Derways" => ["Aurora ", "Cowboy", "Plutus", "Shuttle"], "Dodge" => ["Avenger", "Caliber", "Caravan", "Challenger", "Charger", "Dakota", "Dart", "Durango", "Grand Caravan", "Intrepid", "Journey", "Magnum", "Neon", "Nitro", "Ram", "Stratus", "Viper"], "DongFeng" => ["H30 Cross", "Rich"], "FAW" => ["Besturn B50", "Besturn B70", "Besturn B90", "Besturn X80", "HongQi H7 (C131)", "HongQi HQ3", "Jiaxing", "Jinn", "Oley", "Sirius S80", "V2", "V5", "Vela", "Vita", "Vita C1", "Xiali N3", "Xiali N5", "Xiali N7"], "Ferrari" => ["360 ", "456M ", "458 ", "550", "575M", "599 ", "612 Scaglietti", "California", "F12berlinetta", "F430", "FF", "LaFerrari"], "Fiat" => ["1100", "500", "Albea", "Barchetta", "Brava", "Bravo", "Cinquecento (500L)", "Coupe", "Croma", "Doblo", "Fiorino ", "Freemont", "Idea", "Linea", "Marea", "Multipla", "Palio", "Panda", "Panorama", "Punto", "Qubo", "Scudo", "Sedici", "Seicento", "Siena", "Stilo", "Tempra", "Tipo", "Ulysse", "Uno"], "Ford" => ["Aerostar", "B-Max", "Bronco", "C-Max", "Contour", "Cougar", "Courier", "Crown Victoria", "Ecosport", "Edge", "Escape", "Escort", "Excursion", "Expedition", "Explorer", "F-150", "F-250", "F-350", "F-450 (Super Duty)", "Festiva", "Fiesta", "Five Hundred", "Flex", "Focus", "Freestyle", "Fusion", "Galaxy", "Granada", "Grand C-Max", "Ka", "Kuga", "Laser", "Maverick", "Mercury", "Mondeo", "Mustang", "Probe", "Puma", "Ranchero", "Ranger", "S-Max", "Scorpio", "Sierra", "Sport Track", "Streetka", "Taunus", "Taurus", "Tempo", "Thunderbird", "Tourneo Connect", "Tourneo Custom", "Windstar"], "Foton" => ["Midi", "SUP C1", "SUP C2", "SUP C3", "SUP CX", "Tunland", "View M"], "GAZ" => ["13", "14", "21", "22", "24", "2410", "3102", "31029", "3105", "3110", "31105", "3111", "M-20 Pobeda", "M-21", "M-22", "Next", "Siber", "Sobol"], "Geely" => ["CK (Otaka)", "Emgrand 7 (EC7)", "Emgrand 7 RV (EC7 RV)", "Emgrand 8 (EC8)", "Emgrand X7 (EX7)", "FC (Vision)", "GC2", "GC5", "GC6", "GC7", "MK", "MK Cross"], "GMC" => ["Acadia", "Canyon", "Envoy", "Jimmy", "Sierra", "Suburban", "Terrain", "Yukon"], "Gonow" => ["AOOSED G5", "AOOSED GX5", "Jetstar", "Starry", "Troy", "Way"], "Great Wall" => ["C20R", "C30", "C50", "Coolbear", "Deer", "Florid", "H3", "H5", "H6", "M2", "M4", "Pegasus", "Peri", "Safe", "Sailor", "Socool", "Sing", "Voleex C10", "Voleex C20R", "Voleex C30", "Voleex C50", "Voleex V80", "Wingle 5", "X240"], "Hafei" => ["Brio ", "Lobo", "Princip", "Saibao", "Saima", "Sigma", "Simbo"], "Haima" => ["2", "3", "7", "Freema", "Fstar", "M3", "S7"], "Honda" => ["Accord", "Airwave", "Ascot", "Ascot Innova", "Avancier", "Capa", "City", "Civic", "Civic Ferio", "Concerto", "CR-V", "CR-X", "CR-Z", "Crossroad", "Crosstour", "Domani", "Edix", "Element", "Elysion", "Fit ", "Fit Aria", "Fit Shuttle", "FR-V", "Freed", "HR-V", "Insight", "Inspire", "Integra", "Integra SJ", "Jazz", "Legend", "Life", "Logo", "MDX", "Mobilio", "Mobilio Spike", "Odyssey", "Orthia", "Partner", "Passport", "Pilot (MR-V)", "Prelude", "Rafaga", "Ridgeline", "S-MX", "S 2000", "Saber", "Shuttle", "Stepwgn", "Stream", "Torneo", "Vamos", "Vigor", "Z", "Zest"], "Hummer" => ["H1", "H2", "H3"], "Hyundai" => ["Accent", "Atos (Amica)", "Avante", "Centennial", "Coupe ", "Elantra", "Equus", "Excel", "Galloper", "Genesis", "Getz", "Grandeur (Azera)", "H-1 (Starex)", "HB20", "i10", "i20", "i30", "i40", "ix20", "ix35", "ix55", "Lantra", "Lavita", "Matrix", "Maxcruz", "S-Coupe", "Santa Fe", "Santamo", "Solaris", "Sonata", "Terracan", "Tiburon", "Trajet", "Tucson", "Tuscani", "Veloster", "Veracruz", "Verna", "XG", "XG"], "IJ" => ["2125 (Kombi)", "2126 (Oda)", "21261 (Fabula)", "2717", "2717-022", "27175", "49"], "Infiniti" => ["EX-series", "FX-series", "G-series", "I-series", "JX-series", "M-series", "Q45", "Q50", "Q60", "Q70", "QX4", "QX50", "QX56", "QX60", "QX70", "QX80"], "Iran Khodro" => ["Bardo", "Dena", "Runna", "Samand", "Sarir", "Soren"], "Isuzu" => ["Aska", "Axiom", "Bighorn", "D-Max", "Rodeo", "Trooper", "VehiCross", "Wizard"], "JAC" => ["J2 (Yueyue)", "J3 (Tongyue)", "J5 (Heyue)", "J6 (Heyue RS)", "J7 (Binyue)", "M1", "M5", "JAC Pickup", "S1 (Rein)", "S5 (Eagle)"], "Jaguar " => ["F-Type", "S-Type", "X-Type", "XE", "XF", "XJ", "XK"], "Jeep" => ["Cherokee", "Commander", "Compass", "Grand Cherokee", "Liberty (Patriot)", "Rengade", "Wrangler"], "Jinbei" => ["Careza", "FSV", "Granse"], "Kia" => ["Avella", "Cadenza", "Capital", "Carens ", "Carnival", "Cee’d", "Cerato", "Clarus", "Forte", "Joice", "Lotze", "Magentis ", "Mohave", "Opirus", "Optima", "Picanto", "Pride", "Quoris", "Ray", "Retona", "Rio", "Sedona", "Sephia", "Shuma", "Sorento", "Soul", "Spectra", "Sportage", "Venga"], "Lamborghini" => ["Aventador ", "Diablo", "Gallardo ", "Huracan", "Murcielago", "Reventon"], "Lancia" => ["Dedra", "Delta", "Kappa", "Lybra", "Musa", "Phedra", "Thema", "Thesis", "Voyager", "Ypsilon", "Zeta"], "Land Rover" => ["Defender", "Discovery", "Freelander", "Range Rover", "Range Rover Evoque", "Range Rover Sport"], "Lexus" => ["CT-series", "ES-series", "GS-series", "GX-series", "HS-series", "IS-series", "LS-series", "LX-series", "RX-series", "SC-series"], "Lifan" => ["Breez (520)", "Cebrium (720)", "Celliya (530)", "Smily (320)", "Solano (620)", "X60"], "Lincoln" => ["Aviator", "Continental", "LS", "Mark LT", "MKS", "MKT", "MKX", "MKZ", "Navigator", "Towncar"], "Lotus" => ["Elise", "Exige", "Evora"], "LuAZ" => ["969"], "Luxgen" => ["5", "7", "U6"], "Mahindra " => ["Marshal", "MM"], "Maserati" => ["3200 GT", "4200 GT", "Ghibli", "GranCabrio", "GranSport", "GranTurismo", "MC12", "Quattroporte", "Spyder"], "Maybach" => ["57 ", "57 Zeppelin", "62", "62 Zeppelin", "62 Landaulet", "Guard"], "Mazda" => ["121", "2", "3", "323", "5", "6", "626", "929", "Atenza", "Axela", "AZ-Wagon", "B-series", "Biante", "Bongo", "Bongo Friendee", "BT-50", "Capella", "Carol", "CX-5", "CX-7", "CX-9", "Demio", "Familia", "Levante", "Millenia", "MPV", "MX-3", "MX-5", "MX-6", "Premacy", "Proceed", "Protege", "RX 7", "RX 8", "Scrum Wagon", "Tribute", "Verisa", "Xedos 6", "Xedos 9"], "McLaren" => ["MP4-12C"], "Mercedes" => ["190", "A-class", "B-class", "C-class", "CL-class", "CLA-class", "CLC-class", "CLK-class", "CLS-class", "E-class", "G-class", "GL-class", "GLA-class", "GLK-class", "M-class", "R-class", "S-class", "SL-class", "SLK-class", "SLR McLaren", "SLS AMG-class", "V-class", "Vaneo", "Viano", "Vito"], "Mercury" => ["Cougar", "Grand Marquis", "Marauder", "Mariner", "Marquis", "Milan", "Mountaineer", "Montego", "Mystique", "Sable", "Topaz", "Villager"], "MG" => ["3", "350", "5", "550", "6", "750", "F", "RV8", "TF", "X-Power", "ZR", "ZS", "ZT"], "Mini" => ["Cabrio", "Clubman", "Clubvan", "Countryman", "Coupe", "Hardtop", "Paceman", "Roadster"], "Mitsubishi" => ["3000 GT", "Airtrek", "Aspire", "ASX", "Carisma", "Cedia", "Challenger", "Chariot", "Colt", "Delica", "Diamante", "Dingo", "Dion", "Eclipse", "eK", "Endeavor", "Eterna", "FTO", "Fuzion (Zinger)", "Galant", "Grandis", "GTO", "i", "i-MiEV", "L 200", "L 300", "L400", "Lancer", "Lancer Cargo", "Lancer Evolution", "Legnum", "Libero", "Magna", "Minica", "Mirage", "Montero", "Montero iO", "Montero Sport ", "Outlander", "Pajero", "Pajero iO", "Pajero Junior", "Pajero Mini", "Pajero Pinin", "Pajero Sport", "Raider", "RVR", "Sigma", "Space Gear", "Space Runner", "Space Star", "Space Wagon", "Strada", "Toppo", "Town Box"], "Moskvich" => ["2136", "2137", "2140", "2141", "2715", "401", "402", "403", "407", "408", "410", "412", "423", "426", "Duet", "Knyaz Vladamir", "Svyatoqor"], "Nissan" => ["100NX", "180SX", "200SX", "240SX", "300ZX", "350Z", "370Z", "AD", "Almera", "Almera Classic", "Almera Tino", "Altima", "Armada", "Avenir", "Bassara", "Bluebird", "Bluebird Sylphy", "Caravan", "Cedric", "Sefiro", "Cima", "Clipper", "Cube", "Datsun", "Dualis", "Elgrand", "Expert", "Fairlady Z", "Fuga", "Gloria", "GT-R", "Juke", "Kix", "Lafesta", "Langley", "Largo", "Latio", "Laurel", "Leaf", "Leopard", "Liberty", "Lucino", "March", "Maxima", "Micra", "Mistral", "Moco", "Murano", "Navara (Frontier)", "Note", "NP300", "NV200", "Otti", "Pathfinder", "Patrol", "Pino", "Pixo", "Prairie", "Presage", "Presea", "President", "Primera", "Pulsar", "Qashqai", "Qashqai +2", "Quest", "Rasheen", "R`nessa", "Rogue", "Roox", "Safari", "Sentra", "Serena", "Silvia", "Skyline", "Stagea", "Sunny", "Teana", "Terrano", "Terrano Regulus", "Tiida", "Tino", "Titan", "Vanette", "Versa", "Wingroad", "X-Trail", "X-Terra"], "Opel" => ["Adam", "Agila", "Ampera", "Antara", "Astra", "Calais", "Calibra", "Campo", "Cascada", "Combo", "Corsa", "Frontera", "GT", "Insignia", "Kadett", "Meriva", "Mokka", "Monterey", "Omega", "Signum", "Sintra", "Speedster", "Tigra", "Vectra", "Vita", "Vivaro", "Zafira"], "Peugeot" => ["1007", "106", "107", "2008", "205", "206", "207", "208", "3008", "301", "306", "307", "308", "4007", "4008", "405", "406", "407", "408", "5008", "508", "605", "607", "806", "807", "Bipper", "Expert", "ION", "Pars", "Partner", "RCZ"], "Plymouth" => ["Acclaim", "Breeze", "Laser", "Neon", "Sundance", "Voyager"], "Pontiac" => ["Aztek", "Bonneville", "Firebird", "G6", "Grand Am", "Grand Prix", "GTO", "Montana", "Solstice", "Sunfire", "Trans Sport", "Vibe"], "Porsche" => ["911", "928", "968", "Boxster", "Carrera GT", "Cayenne", "Cayman", "Macan", "Panamera"], "Proton" => ["Exora", "Gen-2 ", "Inspira", "Juara", "Persona", "Perdana", "Preve", "Saga", "Satria", "Suprima S", "Waja", "Wira"], "Renault" => ["11", "12", "19", "21", "25", "Avantime", "Clio", "Duster", "Espace", "Fluence", "Kangoo", "Koleos", "Laguna", "Latitude", "Logan", "Megane", "Modus", "Safrane", "Sandero", "Scenic", "Symbol", "Trafic", "Twingo", "Vel Satis", "Wind", "Zoe"], "Roewe" => ["350", "550", "750", "950", "E50", "MG3", "MG5", "MG6", "MG7", "MGTF", "W5"], "Rolls-Royce" => ["Corniche", "Flying Spur", "Ghost", "Park Ward", "Phantom", "Silver Seraph", "Silver Spur", "Wraith"], "Rover" => ["100", "200", "25", "400", "416", "45", "600", "75", "800", "CityRover", "Metro", "Mini", "Streetwise"], "Saab" => ["9-2X", "9-3", "9-4X", "9-5", "9-7X", "900", "9000"], "Saipa" => ["111", "132", "141", "Saba", "Tiba"], "Saturn" => ["L-series", "S-series", "Aura", "Astra", "ION", "Outlook", "Relay", "SC", "SKY", "VUE"], "Scion" => ["tC ", "xA ", "xB"], "SEAT" => ["Alhambra", "Altea", "Arosa", "Cordoba", "Exeo", "Ibiza", "Inca", "Leon", "Toledo"], "SeAZ" => ["Oka"], "Shineray" => ["A7"], "Shuang Huan" => ["Noble", "SCEO"], "Skoda" => ["Citigo", "Fabia", "Felicia", "Octavia", "Praktik", "Rapid", "Roomster", "Superb", "Yeti"], "Smart" => ["City", "Forfour", "Fortwo", "Roadster"], "Ssang Yong" => ["Actyon", "Actyon Sports", "Chairman", "Korando", "Kyron", "Musso", "Rexton", "Rodius", "Stavic"], "Subaru" => ["Baja", "BRZ", "Exiga", "Forester", "Impreza", "Justy", "Legacy", "Outback", "Pleo", "R1", "R2", "Stella", "Trezia", "Tribeca", "Vivio", "XV"], "Suzuki" => ["Aerio", "Alto", "Baleno (Esteem)", "Celerio", "Cervo", "Cultus", "Cultus Crescent", "Ertiga", "Escudo", "Every", "Forenza", "Grand Vitara", "Ignis", "Jimny", "Kei", "Kizashi", "Landy", "Liana", "MR Wagon", "Palette", "Reno", "Samurai", "Sidekick", "Solio", "Spacia", "Splash", "Swift", "SX4", "Verona", "Vitara", "Wagon R", "Wagon R+", "X-90", "XL7"], "TaqAZ" => ["Aquila", "C10", "C190", "Road Partner", "Tager", "Vega"], "Tesla" => ["Model S"], "Tianma" => ["Century"], "Tianye" => ["Admiral"], "Tofas" => ["Dogan", "Kartal", "Sahin"], "Toyota" => ["4-Runner", "Allex", "Allion", "Alphard", "Altezza", "Aristo", "Aurion", "Auris", "Avalon", "Avanza", "Avensis", "Avensis Verso", "Aygo", "bB", "Belta", "Blade", "Brevis", "Caldina", "Cami", "Camry", "Camry Solara", "Carina", "Carina ED", "Cavalier", "Celica", "Celsior", "Chaser", "Corolla", "Corolla Axio", "Corolla Ceres", "Corolla Levin", "Corolla Rumion", "Corolla Verso (Spacio)", "Corona", "Corsa", "Cressida", "Cresta", "Crown", "Crown Majesta", "Curren", "Cynos", "Duet", "Echo", "Estima", "EXiV", "FJ Cruiser", "Fortuner", "Funcargo", "Gaia", "Granvia", "GT 86", "Harrier", "Hiace", "Highlander", "Hilux", "Hilux Surf", "Innova", "Ipsum", "iQ", "ISis", "Ist", "Kluger", "Land Cruiser", "Land Cruiser Prado", "LiteAce", "Mark II", "Mark X", "Mark X ZiO", "Matrix", "Mega Cruiser", "MR2", "MR-S", "Nadia", "Noah", "Opa", "Paceo", "Passo", "Passo Sette", "Picnic", "Platz", "Porte", "Premio", "Previa", "Prius", "Prius C (Aqua)", "Prius V", "Probox", "Progres", "Pronard", "Ractis", "Raum", "RAV 4", "Regius", "RegiusAce", "Rush", "Sai", "Scepter", "Sequoia", "Sera", "Sienna", "Sienta", "Soarer", "Soluna", "Sparky", "Sprinter", "Sprinter Carib", "Sprinter Marino", "Sprinter Trueno", "Starlet", "Succeed", "Supra", "Tacoma", "Tercel", "TownAce", "Tundra", "Urban Cruiser", "Vanguard", "Vellfire", "Venza", "Verossa", "Verso", "Verso-S", "Vios", "Vista", "Vitz", "Voltz", "Voxy", "WiLL Cypha (Will VC)", "Will Vi", "Will VS", "Windom", "Wish", "Yaris", "Yaris Verso", "Zelas"], "UAZ" => ["2206", "23602 Cargo", "3151", "3153", "3159 Bars", "3160", "3162 Simbir", "3303", "3741", "3909", "452", "469", "Patriot", "Hunter", "Pickup"], "VAZ" => ["1111 Oka", "2101", "2102", "2103", "2104", "2105", "2106", "2107", "2108", "2109", "21099", "2110", "2111", "2112", "21123", "2113", "2114", "2115", "2120 Nadejda", "2121", "2123", "2129", "2131", "2328", "2329", "Granta", "Kalina", "Largus", "Niva", "Priora", "Tarzan"], "Volkswagen" => ["Amarok", "Beetle", "Bora", "Caddy", "California", "Caravelle", "Citi Golf", "Corrado", "Eos", "Fox", "Gol", "Golf", "Golf Plus", "Golf Sportsvan", "Jetta", "Lupo", "Multivan", "New Beetle", "Parati", "Passat", "Passat CC", "Phaeton", "Pointer", "Polo", "Routan", "Saveiro", "Scirocco", "Sharan", "Suran", "Tiguan", "Touareg", "Touran", "Transporter", "Up", "Vento", "XL1"], "Volvo" => ["440", "460", "740", "760", "780", "850", "940", "960", "C 30", "C 70", "S 40", "S 60", "S 70", "S 80", "S 90", "V 40", "V 50", "V 60", "V 70", "V 90", "XC 60 ", "XC 70", "XC 90"], "Vortex" => ["Corda ", "Estina ", "Tingo"], "Xin Kai" => ["SR-V X3", "SUV X3", "Pickup X3"], "ZAZ" => ["965", "966", "968", "1103 Slavuta", "1102 Tavriya", "1105 Dana", "Chance", "Forza", "Lanos", "Sens", "Vida"], "ZX" => ["Admiral", "Grand Tiger", "Landmark"]];
     $motos = ['ABM', 'ACCESS', 'ADLY', 'AEON', 'AIE MOTOR', 'APOLLO', 'APRILIA', 'ARCTIC CAT', 'ARLEN NESS', 'ARMADA', 'ARORA', 'ASA', 'ATLANT', 'AVANTIS', 'AVM', 'AYRON', 'BALTMOTORS', 'BAOTIAN SCOOTERS', 'BARS', 'BASHAN', 'BENELLI', 'BETA', 'BIG BEAR CHOPPERS', 'BIG DOG MOTORCYCLES', 'BIMOTA', 'BISON', 'BLADE', 'BM', 'BMW', 'BOOM TRIKES', 'BOSS HOSS', 'BRP', 'BSE', 'BUGFASTER', 'BUGGY JUMP', 'BUELL', 'BULL', 'CAGIVA', 'CAMPAGNA', 'CAN-AM', 'CECTEK', 'CELIMO', 'CENTURION', 'CFMOTO', 'COBRA', 'CONFEDERATE', 'CORSA', 'CPI', 'CRONUS', 'CRZ', 'CZ', 'DAELIM', 'DANDY', 'DAYUN', 'DERBI', 'DESERT RAVEN', 'DESNA', 'DIRTMAX', 'DKW', 'DNEPR', 'DUCATI', 'ELIT', 'E-MOTO', 'EUROTEX', 'EXCELSIOR-HENDERSON', 'FALCON', 'FEISHEN', 'FIGHTER', 'FINE CUSTOM MECHANICS', 'FORSAGE', 'FORTUNE', 'FUN CRUISER', 'GABRO', 'GAMAX', 'GAS GAS', 'GEELY', 'GENATA', 'GEON', 'GERDAKAR', 'GIBBS', 'GILERA', 'GODZILLA', 'GRYPHON', 'GUOWEI', 'GX MOTO', 'HAOBON', 'HAOJUE', 'HARLEY-DAVIDSON', 'HIGHLAND', 'HISUN', 'HONDA', 'HONLING', 'HORS', 'HUATIAN', 'HUSABERG', 'HUSQVARNA', 'HYOSUNG', 'IJ', 'INDIAN', 'IRBIS', 'IRON EAGLE', 'IRON HORSE', 'ITALJET', 'JANUS', 'JAWA', 'JAWA-CZ', 'JIALING', 'JIANSHE-YAMAHA', 'JINLING', 'JMC', 'JOHNNY PAG', 'JOINER', 'JONWAY', 'JORDAN MOTOR', 'KARPATY', 'KAWASAKI', 'KAXA MOTOS', 'KAYO', 'KAZUMA', 'KEEWAY', 'KHALEX', 'KINLON', 'KINROAD', 'KREIDLER', 'KTM', 'KUBOTA', 'KXD', 'KYMCO', 'LEBEDEV GARAGE', 'LEIKE', 'LIFAN', 'LINGBEN', 'LINHAI-YAMAHA', 'LML', 'LOKKER', 'LONCIN', 'MALAGUTI', 'MASAI', 'MEGELLI', 'MIKE-MOTORS', 'MIKILON', 'MINSK', 'MMZ', 'MOTO GUZZI', 'MOTO MORINI', 'MOTOLAND', 'MV AGUSTA', 'NBLUCK', 'NEXUS', 'NISSAMARAN', 'NITRO', 'OMAKS MOTORS', 'ORANGE COUNTY CHOPPERS', 'ORION', 'OXOBIKE', 'PAGSTA', 'PANNONIA', 'PATRON', 'PCW', 'PEUGEOT', 'PGO', 'PIAGGIO', 'PITMOTO', 'PITRACE', 'PITSTERPRO', 'POCKET BIKE', 'POLAR FOX', 'POLARIS', 'POLINI', 'PONY MOTORS', 'PSKOVSKAYA MEXANIKA', 'PUCH', 'QINGQI', 'QUADRO', 'QUADRAIDER', 'RACER', 'RAPIRA', 'REGAL RAPTOR', 'REGGY', 'RENLI', 'REWACO', 'RIEJU', 'RİGA', 'ROKON', 'ROYAL ENFIELD', 'RUSSKAYA MEXANIKA', 'SACHS BIKES', 'SAGITTA', 'SAXON', 'SCARABEO', 'SENKE', 'SHERCO', 'SHINERAY', 'SIMBEL', 'SIMSON', 'SKYGO', 'SONIK', 'STELS', 'STINGRAY', 'STROM', 'SUZUKI', 'SYM', 'TITAN', 'TM', 'TMZ', 'TOMOS', 'TORNADO', 'TRIUMPH', 'TULA', 'TVS', 'UMC', 'URAL', 'VELOCI', 'VENTA', 'VENTO', 'VERXOVINA', 'VESPA', 'VICTORY', 'VIPER', 'VON DUTCH', 'VOSXOD', 'VYATKA', 'WELS', 'WYP-MOTOR', 'XMOTOS', 'YAMAHA', 'YAMASAKI', 'YCF', 'YIBEN', 'YINXIANG', 'ZID', 'ZIM', 'ZONGSHEN', 'ZONTES'];
     $trucks = ['AMUR', 'ASTRA', 'AVIA', 'BAW', 'BEIFAN', 'BELAZ', 'CAMC', 'CHANGAN', 'CHEVROLET', 'CITROEN', 'DAEWOO', 'DAF', 'DONGFENG', 'ERF', 'FAW', 'FIAT', 'FORD', 'FOTON', 'FREIGHTLINER', 'GAZ', 'GAZ-SAZ', 'GINAF', 'GMC', 'GRAZ', 'HANIA', 'HINO', 'HOKA', 'HONDA', 'HOWO', 'HYUNDAI', 'IFA', 'INTERNATIONAL', 'ISUZU', 'IVECO', 'IVECO HONGYAN', 'IVECO-LING YE', 'IVECO-URAL', 'JAC', 'JMC', 'KAMAZ', 'KENWORTH', 'KIA', 'KRAZ', 'LDV', 'MACK', 'MAGIRUS DEUTZ', 'MAN', 'MAZ', 'MAZDA', 'MAZ-MAN', 'MERCEDES-BENZ', 'MITSUBISHI', 'MZKT', 'NAVECO', 'NEFAZ', 'NISSAN', 'NORTH BENZ', 'OPEL', 'PETERBILT', 'PEUGEOT', 'RENAULT', 'ROBUR', 'RUSICH', 'SCANIA', 'SHAANXI', 'SHAANXI-MAN', 'SHACMAN', 'SINOTRUCK', 'SISU', 'SKODA LIAZ', 'SSANG YONG', 'STERLING', 'SUZUKI', 'TAGAZ', 'TATA', 'TATA DAEWOO', 'TATRA', 'TERBERG', 'TIEMA', 'TITAN', 'TONAR', 'TOYOTA', 'UAZ', 'URAL', 'VOLKSWAGEN', 'VOLVO', 'YAROVIT', 'YUEJIN', 'ZIL'];
     $buses = ['ASIA', 'BAW', 'BAZ', 'BOQDAN', 'BOVA', 'DAEWOO', 'DAF', 'DALI', 'DONGFENG', 'FORD', 'GAZ', 'GOLAZ', 'GOLDEN DRAGON', 'HIGER', 'HYUNDAI', 'IKARBUS', 'IKARUS', 'ISUZU', 'IVECO', 'JAC', 'KAMAZ', 'KAROSA', 'KAVZ', 'KIA', 'KING LONG', 'LAZ', 'LIAZ', 'MAN', 'MARCOPOLO', 'MARZ', 'MAZ', 'MERCEDES-BENZ', 'MUDAN', 'NEFAZ', 'NEMAN', 'NEOPLAN', 'PAZ', 'ROAZ', 'ROUTEMASTER', 'SCANIA', 'SETRA', 'SHEN LONG', 'SHAOLIN', 'SHUCHI', 'SSANG YONG', 'TAM', 'TEMSA', 'TOYOTA', 'URAL', 'VAN HOOL', 'VOLJANIN', 'VOLKSWAGEN', 'VOLVO', 'YUTONG', 'ZHONG TONG', 'ZIL', 'ZONDA'];
     foreach ($cars as $mark => $models) {
         $mark = MarkRef::create(['name' => $mark]);
         $mark->vehicleTypes()->attach(2);
         array_map(function ($model) use($mark) {
             $model = ModelRef::create(['name' => $model, 'mark_id' => $mark->id, 'vehicle_type_id' => 2]);
             $carBodyTypeIndex = rand(21, 37);
             $carBodyType = BodyTypeRef::find($carBodyTypeIndex);
             $carBodyType->models()->attach($model->id);
         }, $models);
     }
     array_walk($motos, function ($moto) {
         $mark = MarkRef::create(['name' => $moto]);
         $mark->vehicleTypes()->attach(3);
     });
     array_walk($trucks, function ($truck) {
         $mark = MarkRef::create(['name' => $truck]);
         $mark->vehicleTypes()->attach(1);
     });
     array_walk($buses, function ($bus) {
         $mark = MarkRef::create(['name' => $bus]);
         $mark->vehicleTypes()->attach(4);
     });
 }
コード例 #19
0
function cleanquotes(&$in)
{
    if (is_array($in)) {
        return array_walk($in, 'cleanquotes');
    }
    return $in = stripslashes($in);
}
コード例 #20
0
ファイル: latest.php プロジェクト: nemein/com_meego_planet
 public function get_feed(array $args)
 {
     // Read items from Content Repository
     $this->get_items($args);
     // Set up feed
     midgardmvc_core::get_instance()->component->load_library('Feed');
     $feed = new ezcFeed();
     $feed->title = $this->data['title'];
     $feed->description = '';
     $now = new DateTime();
     $feed->published = $now->format(DateTime::RSS);
     $link = $feed->add('link');
     $link->href = midgardmvc_core::get_instance()->dispatcher->generate_url('index', array(), $this->request);
     array_walk($this->data['items'], function ($item) use($feed) {
         $feeditem = $feed->add('item');
         $feeditem->title = $item->title;
         $feeditem->description = $item->content;
         $feeditem->published = $item->published->format(DateTime::RSS);
         $author = $feeditem->add('author');
         $author->name = $item->firstname;
         $link = $feeditem->add('link');
         $link->href = $item->url;
     });
     $this->data['feed'] = $feed;
 }
 /**
  * Send the response content
  *
  * Sets the composed ApiProblem's flag for including the stack trace in the
  * detail based on the display exceptions flag, and then sends content.
  *
  * @param SendResponseEvent $e
  * @return self
  *
  * @throws \Zend\Config\Exception\RuntimeException
  */
 public function sendContent(SendResponseEvent $e)
 {
     $response = $e->getResponse();
     if (!$response instanceof ApiProblemResponse) {
         return $this;
     }
     $response->getApiProblem()->setDetailIncludesStackTrace($this->displayExceptions());
     /** @var Request $request */
     $request = $this->getMvcEvent()->getRequest();
     /** @var Accept $accept */
     $accept = $request->getHeader('Accept');
     if ($accept instanceof Accept && $accept->hasMediaType('text/xml')) {
         $arrayResponse = $response->getApiProblem()->toArray();
         $xmlWriter = new XmlWriter();
         if (array_key_exists('trace', $arrayResponse)) {
             array_walk($arrayResponse['trace'], function (&$item) {
                 unset($item['args']);
             });
         }
         if (array_key_exists('exception_stack', $arrayResponse)) {
             array_walk($arrayResponse['exception_stack'], function (&$item) {
                 array_walk($item['trace'], function (&$trace) {
                     unset($trace['args']);
                 });
             });
         }
         $output = $xmlWriter->processConfig($arrayResponse);
         echo $output;
         $e->setContentSent();
         return $this;
     }
     return parent::sendHeaders($e);
 }
 public function export(SimpleXMLElement $artifact_xml, SimpleXMLElement $changeset_xml, Tracker_Artifact $artifact, Tracker_Artifact_ChangesetValue $changeset_value)
 {
     $field_change = $this->createFieldChangeNodeInChangesetNode($changeset_value, $changeset_xml);
     $field_change->addAttribute('use_perm', (int) $this->isUsed($changeset_value));
     $ugroup_names = $changeset_value->getUgroupNamesFromPerms();
     array_walk($ugroup_names, array($this, 'appendUgroupToFieldChangeNode'), $field_change);
 }
コード例 #23
0
 private function appendParameters($params)
 {
     array_walk($params, function (&$value, $key) {
         $value = "{$key}=" . urlencode($value);
     });
     return implode('&', $params);
 }
コード例 #24
0
ファイル: init.php プロジェクト: barnent1/fflcommerce
function fflcommerce_products($atts)
{
    global $columns, $paged;
    $fflcommerce_options = FFLCommerce_Base::get_options();
    if (empty($atts)) {
        return;
    }
    extract(shortcode_atts(array('per_page' => $fflcommerce_options->get('fflcommerce_catalog_per_page'), 'columns' => $fflcommerce_options->get('fflcommerce_catalog_columns'), 'orderby' => $fflcommerce_options->get('fflcommerce_catalog_sort_orderby'), 'order' => $fflcommerce_options->get('fflcommerce_catalog_sort_direction'), 'pagination' => false), $atts));
    $args = array('post_type' => 'product', 'post_status' => 'publish', 'posts_per_page' => $per_page, 'ignore_sticky_posts' => 1, 'orderby' => $orderby, 'order' => $order, 'paged' => $paged, 'meta_query' => array(array('key' => 'visibility', 'value' => array('catalog', 'visible'), 'compare' => 'IN')));
    if (isset($atts['skus'])) {
        $skus = explode(',', $atts['skus']);
        array_walk($skus, create_function('&$val', '$val = trim($val);'));
        $args['meta_query'][] = array('key' => 'sku', 'value' => $skus, 'compare' => 'IN');
    }
    if (isset($atts['ids'])) {
        $ids = explode(',', $atts['ids']);
        array_walk($ids, create_function('&$val', '$val = trim($val);'));
        $args['post__in'] = $ids;
    }
    query_posts($args);
    ob_start();
    fflcommerce_get_template_part('loop', 'shop');
    if ($pagination) {
        do_action('fflcommerce_pagination');
    }
    wp_reset_query();
    return ob_get_clean();
}
コード例 #25
0
ファイル: Log.php プロジェクト: jaya-project/zycms
 public function get_data()
 {
     $data = $this->input->stream();
     $page = isset($data['page']) ? $data['page'] : 1;
     $page--;
     $where = '1=1 AND ';
     if (isset($data['start_time']) && !empty($data['start_time'])) {
         $where .= "opera_time >= " . strtotime($data['start_time']) . " AND ";
     }
     if (isset($data['end_time']) && !empty($data['end_time'])) {
         $where .= "opera_time <= " . strtotime($data['end_time']) . " AND ";
     }
     if (isset($data['user']) && !empty($data['user'])) {
         $where .= "user like  '%{$data['user']}%' AND ";
     }
     $where = rtrim($where, 'AND ');
     $logs = $this->log_model->get_limit_length($page, self::PAGELENGTH, $where);
     $total_pages = $this->log_model->get_pages($where, self::PAGELENGTH);
     if ($logs) {
         array_walk($logs, function (&$item) {
             $item['ip'] = long2ip($item['ip']);
             $item['opera_time'] = date('Y-m-d H:i:s', $item['opera_time']);
         });
     }
     die(json_encode(array('code' => 200, 'message' => '获取成功', 'data' => array('data' => $logs, 'total_pages' => $total_pages, 'current_page' => $page + 1))));
 }
コード例 #26
0
 public function set_assoc_array(array $arr, $id_present = false)
 {
     // Initialize Success Variable
     $suc = array();
     foreach ($this as $key => $val) {
         $suc[$key] = false;
     }
     $suc['inst_id'] = true;
     // Trim Values
     array_walk($arr, array($this, 'trim_value'));
     // Is ID Present True?
     if ($id_present && isset($arr['inst_id'])) {
         $this->inst_id = intval($arr['inst_id']);
     }
     // Validation
     // Institute Name Validation
     $regex = '/^[a-zA-Z\\-\\.\\s,&]{' . self::INST_NAME_MINLENGTH . ',' . self::INST_NAME_MAXLENGTH . '}$/';
     if (isset($arr['inst_name']) && preg_match($regex, $arr['inst_name'])) {
         $this->inst_name = ucfirst(strtolower($arr['inst_name']));
         $suc['inst_name'] = true;
     }
     // Institute Code Validation
     if (isset($arr['inst_code']) && strlen($arr['inst_code']) >= self::INST_CODE_MINLENGTH && strlen($arr['inst_code']) <= self::INST_CODE_MAXLENGTH) {
         $this->inst_code = strtoupper($arr['inst_code']);
         $suc['inst_code'] = true;
     }
     // Institute Year Validation
     $suc['inst_estb_year'] = true;
     if (isset($arr['inst_estb_year']) && intval($arr['inst_estb_year']) >= self::INST_ESTB_YEAR_MIN && intval($arr['inst_estb_year']) <= intval(date('Y'))) {
         $this->inst_estb_year = intval($arr['inst_estb_year']);
     }
     return $suc;
 }
コード例 #27
0
ファイル: Map.php プロジェクト: wells5609/wp-app
 public function each(callable $fn)
 {
     $objects = $this->getArrayCopy();
     array_walk($objects, $fn);
     $this->exchangeArray($objects);
     return $this;
 }
コード例 #28
0
/**
* Returns an SQL query string to update a single template
*
* @param	string	Title of template
* @param	string	Un-parsed template HTML
* @param	integer	Style ID for template
* @param	array	(ref) array('template' => array($title => true))
* @param	string	The name of the product this template is associated with
*
* @return	string
*/
function fetch_template_update_sql($title, $template, $dostyleid, &$delete, $product = 'vbulletin')
{
    global $vbulletin, $_query_special_templates, $template_cache;
    $oldtemplate = $template_cache['template']["{$title}"];
    if (is_array($template)) {
        array_walk($template, 'array_trim');
        $template = "background: {$template['background']}; color: {$template['color']}; padding: {$template['padding']}; border: {$template['border']};";
    }
    // check if template should be deleted
    if ($delete['template']["{$title}"]) {
        return "### DELETE TEMPLATE {$title} ###\n\t\t\tDELETE FROM " . TABLE_PREFIX . "template\n\t\t\tWHERE templateid = {$oldtemplate['templateid']}\n\t\t";
    }
    if ($template == $oldtemplate['template_un']) {
        return false;
    } else {
        // check for copyright removal
        if ($title == 'footer' and strpos($template, '$vbphrase[powered_by_vbulletin]') === false and strpos($oldtemplate['template_un'], '$vbphrase[powered_by_vbulletin]') !== false) {
            print_stop_message('you_can_not_remove_vbulletin_copyright');
        }
        // parse template conditionals
        if (!in_array($title, $_query_special_templates)) {
            $parsedtemplate = compile_template($template);
            $errors = check_template_errors($parsedtemplate);
            // halt if errors in conditionals
            if (!empty($errors)) {
                print_stop_message('error_in_template_x_y', $title, "<i>{$errors}</i>");
            }
        } else {
            $parsedtemplate =& $template;
        }
        $full_product_info = fetch_product_list(true);
        return "\n\t\t\t### REPLACE TEMPLATE: {$title} ###\n\t\t\tREPLACE INTO " . TABLE_PREFIX . "template\n\t\t\t\t(styleid, title, template, template_un, templatetype, dateline, username, version, product)\n\t\t\tVALUES\n\t\t\t\t(" . intval($dostyleid) . ",\n\t\t\t\t'" . $vbulletin->db->escape_string($title) . "',\n\t\t\t\t'" . $vbulletin->db->escape_string($parsedtemplate) . "',\n\t\t\t\t'" . $vbulletin->db->escape_string($template) . "',\n\t\t\t\t'template',\n\t\t\t\t" . TIMENOW . ",\n\t\t\t\t'" . $vbulletin->db->escape_string($vbulletin->userinfo['username']) . "',\n\t\t\t\t'" . $vbulletin->db->escape_string($full_product_info["{$product}"]['version']) . "',\n\t\t\t\t'" . $vbulletin->db->escape_string($product) . "')\n\t\t";
    }
}
コード例 #29
0
 /**
  * Инициализация маршрутов для менеджера.
  * Маршруты компонент получает из параметров,
  * либо их можно вручную прописать в методе 'getAliases' при реализации класса
  */
 protected function initUrlManager()
 {
     UrlManager::setBaseUrl($this->arParams['baseUrl'], self::$urlManagerId);
     array_walk($this->getAliases(), function ($pattern, $alias) {
         UrlManager::addAlias($alias, $pattern, self::$urlManagerId);
     });
 }
コード例 #30
0
ファイル: Result.class.php プロジェクト: AlexSmerw/domino
 public function getBodyHighlighted($keywords = null, $wordsAround = 5, $tag = '<b>', $delimiter = ' &hellip; ', $maxMatchesNum = NULL)
 {
     if (!is_array($keywords)) {
         $keywords = preg_replace('/<.*>/Uu', '', $keywords);
         $keywords = preg_replace('/\\s+/u', ' ', $keywords);
         $keywords = preg_split('/\\s+/u', $keywords, -1, PREG_SPLIT_NO_EMPTY);
     }
     $tag_close = preg_replace('/<([a-z0-9]+).*>/isx', '</$1>', $tag);
     array_walk($keywords, 'preg_quote');
     $words = preg_split('/\\s+/u', strip_tags($this->data['BODY']), -1, PREG_SPLIT_NO_EMPTY);
     if (!($matched = preg_grep("/(" . join('|', $keywords) . ")/iu", $words))) {
         return false;
     }
     foreach ($matched as $i => $word) {
         $words[$i] = "{$tag}{$words[$i]}{$tag_close}";
     }
     $matches = array();
     $prev = -$wordsAround * 2;
     foreach ($matched as $i => $word) {
         if ($i - $wordsAround > $prev) {
             $start = $i - $wordsAround;
             if ($start < 0) {
                 $start = 0;
             }
             $matches[] = join(' ', array_slice($words, $start, $wordsAround * 2 + 1));
         }
         $prev = $i;
     }
     if ($maxMatchesNum) {
         $matches = array_slice($matches, 0, $maxMatchesNum);
     }
     return join($delimiter, $matches);
 }