function convert_tables($db_config, $rules_config, $table_name) { // connect db $mysql = new MeekroDB($db_config['host'], $db_config['user'], $db_config['pass'], $db_config['db'], $db_config['port'], $db_config['enc']); // convert list $table_list = array(); if ($table_name != '') { $table_list = array($table_name); } else { $table_list = $mysql->tableList(); } foreach ($table_list as $t) { if ($rules_config[$t] == NULL) { continue; // no convert rule } // load convert config $rule_list = $rules_config[$t]; // load old data $rows = $mysql->query("SELECT * FROM %b", $t); foreach ($rows as $r) { // for each convert config foreach ($rule_list as $rule) { $tablename = $rule['table']; $convertor = $rule['func']; // convert data $newrow = $convertor($mysql, $r); if (empty($newrow)) { continue; // convert error } $values = ''; $keys = array_keys($newrow); foreach ($keys as $k) { $values .= ' ' . $k . "='" . mysql_escape_string($newrow[$k]) . "',"; } if (strlen($values) > 0) { $values = substr($values, 0, -1); } // generate insert sql $sql = 'INSERT INTO ' . $tablename . ' SET' . $values . ';'; echo $sql . "\n"; } } } }
<?php header("content-type:text/html; charset=utf-8"); require_once '../tools/db.php'; require_once '../tools/main.php'; $mdb = new MeekroDB(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_TABLE_NAME, DB_PORT, DB_CHARSET); if (isset($_REQUEST["number"]) && intval($_REQUEST["number"]) > 9) { $number = $_REQUEST["number"]; } else { $number = 9; } $queryString = "SELECT mmid, serial_id, name, singer, path, lyric, prelude\r\nFROM media_music"; $queryParamater = " WHERE enabled=1"; if (!isset($_REQUEST["sid"])) { echo json_encode(array("result" => null, "status" => false, "error" => "需提交歌手编号(sid)")); exit; } $artistid = intval($_REQUEST["sid"]); $queryParamater = $queryParamater . " AND (artist_sid_1=%d OR artist_sid_2=%d)"; $handle = ''; if (isset($_REQUEST["header"])) { $handle = '%' . strval($_REQUEST["header"]) . '%'; $queryParamater = $queryParamater . " AND header LIKE %s"; } else { if (isset($_REQUEST["pinyin"])) { $handle = '%' . strval($_REQUEST["pinyin"]) . '%'; $queryParamater = $queryParamater . " AND pinyin LIKE %s"; } else { if (isset($_REQUEST["name"])) { $handle = '%' . strval($_REQUEST["name"]) . '%'; $queryParamater = $queryParamater . " AND name LIKE %s"; }
<?php header("content-type:application/json"); require_once '../tools/db.php'; require_once '../tools/main.php'; $mdb = new MeekroDB(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_TABLE_NAME, DB_PORT, DB_CHARSET); if (!isset($_REQUEST["serialid"]) && !isset($_REQUEST["mid"])) { echo json_encode(array("result" => null, "status" => false, "error" => "请提交正确的参数")); exit; } $queryString = "SELECT A.mid, A.serial_id, A.name, A.singer, A.path, A.original_track, A.sound_track, A.start_volume_1, A.start_volume_2, A.lyric, A.prelude, A.match, B.name AS effect, C.name AS version \r\nFROM media A \r\nLEFT JOIN media_effect B ON A.effect = B.id \r\nLEFT JOIN media_version C ON A.version=C.id"; $queryParamater = " WHERE A.enabled=1"; $rb = $mdb->queryFirstRow("SELECT value FROM config_resource WHERE name = 'filter_black'"); if ($rb["value"] == 1) { $queryParamater = $queryParamater . " AND A.black=0"; } if (isset($_REQUEST["serialid"])) { $queryParamater = $queryParamater . " AND serial_id=%d"; $handler = $_REQUEST["serialid"]; } else { if (isset($_REQUEST["mid"])) { $queryParamater = $queryParamater . " AND mid=%d"; $handler = $_REQUEST["mid"]; } } $queryString = $queryString . $queryParamater; //echo $queryString."<br />"; $result = $mdb->queryFirstRow($queryString, $handler); if (!$result) { //未获取mv 则查找MP3 if (isset($_REQUEST["serialid"])) {
<?php header("content-type:application/json"); require_once '../tools/db.php'; require_once '../tools/main.php'; $mdb = new MeekroDB(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_TABLE_NAME, DB_PORT, DB_CHARSET); $queryString = "SELECT B.mid, B.serial_id, B.name, B.singer, B.path, B.original_track, B.sound_track, B.start_volume_1, B.start_volume_2, B.lyric, B.prelude, B.match, C.name AS effect, D.name AS version \r\nFROM media_recommand A \r\nLEFT JOIN media B ON A.rmid = B.mid \r\nLEFT JOIN media_effect C ON B.effect = C.id \r\nLEFT JOIN media_version D ON B.version=D.id"; $queryParamater = " WHERE B.enabled=1"; if (!isset($_REQUEST["mid"])) { echo json_encode(array("result" => null, "status" => false, "error" => "需提交歌曲编号(mid)")); exit; } $queryParamater = $queryParamater . " AND A.mid=%d"; //Check the black list option is open or not $rb = $mdb->queryFirstRow("SELECT value FROM config_resource WHERE name = 'filter_black'"); if ($rb["value"] == 1) { $queryParamater = $queryParamater . " AND B.black = 0"; } $queryString = $queryString . $queryParamater; // echo $queryString."<br />"; $results = $mdb->query($queryString, $_REQUEST["mid"]); $songs = formatSongsResult($results); //When ther is no recommend, add songs from this singer. if (count($songs) < 5) { $add_result = $mdb->query("SELECT A.mid, A.serial_id, A.name, A.singer, A.path, A.original_track, A.sound_track, A.start_volume_1, A.start_volume_2, A.lyric, A.prelude,A.match, B.name AS effect, C.name AS version \r\n FROM media A \r\n LEFT JOIN media_effect B ON A.effect = B.id \r\n LEFT JOIN media_version C ON A.version=C.id\r\n LEFT JOIN media D ON A.mid <> D.mid AND A.artist_sid_1=D.artist_sid_1 OR A.artist_sid_1=D.artist_sid_2\r\n WHERE D.mid=%d LIMIT 0,10", $_REQUEST["mid"]); foreach ($add_result as $row) { $song = formatSongResult($row); array_push($songs, $song); if (count($songs) == 5) { break; } }
function deleteBase($formvars = array()) { global $SERVER_EXTENSIONS; $mdb = $this->mdb; // add all missing keys to array fixFormVars($formvars, array('IDbase')); $this->notifs['base_deleted'] = true; $mdb->delete('base_client', "IDbase = %i AND IDbase IN (SELECT IDbase FROM base WHERE IDaccount = %i)", $formvars['IDbase'], $_SESSION['IDaccount']); $mdb->delete('txserver2base', "IDbase = %i AND IDbase IN (SELECT IDbase FROM base WHERE IDaccount = %i)", $formvars['IDbase'], $_SESSION['IDaccount']); // security check for log file deletion $base = $mdb->queryFirstRow("SELECT IDbase FROM base WHERE IDbase = %i AND IDaccount = %i", $formvars['IDbase'], $_SESSION['IDaccount']); if (count($base) !== NULL) { $path = server_basesock_log_path; $file = $path . $base['IDbase'] . '.json'; if (file_exists($file)) { unlink($file); } } // Handle Server Extensions deletion // first lets check if we own this IDbase... easiest way, not the smartest $is_my_base = $this->getBase($formvars['IDbase']); if (count($is_my_base) == 1) { // Android GCM is here? if (isset($SERVER_EXTENSIONS['se_android_gcm']) && $SERVER_EXTENSIONS['se_android_gcm']['enabled'] == 1) { $se_mdb = new MeekroDB(mysql_host, mysql_username, mysql_password, $SERVER_EXTENSIONS['se_android_gcm']['mysql_database']); $se_mdb->delete('base_config', "IDbase = %i", $formvars['IDbase']); } } // Lastly delete the Base record $mdb->delete('base', "IDbase = %i AND IDaccount = %i", $formvars['IDbase'], $_SESSION['IDaccount']); }
<?php header("content-type:application/json"); require_once '../tools/db.php'; require_once '../tools/main.php'; $mdb = new MeekroDB(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_TABLE_NAME, DB_PORT, DB_CHARSET); if (isset($_REQUEST["number"]) && intval($_REQUEST["number"]) > 9) { $number = $_REQUEST["number"]; } else { $number = 9; } $queryString = "SELECT A.mid, A.serial_id, A.name, A.singer, A.path, A.original_track, A.sound_track, A.start_volume_1, A.start_volume_2, A.lyric, A.prelude,A.match, B.name AS effect, C.name AS version \r\n FROM songlist_detail D \r\n LEFT JOIN media A ON D.mid = A.mid \r\n LEFT JOIN media_effect B ON A.effect = B.id \r\n LEFT JOIN media_version C ON A.version=C.id"; $queryParamater = " WHERE A.enabled=1"; if (!isset($_REQUEST["lid"])) { echo json_encode(array("result" => null, "status" => false, "error" => "需提交歌单编号(lid)")); exit; } $queryParamater = $queryParamater . " AND D.lid = %d"; //Check the black list option is open or not $rb = $mdb->queryFirstRow("SELECT value FROM config_resource WHERE name = 'filter_black'"); if ($rb["value"] == 1) { $queryParamater = $queryParamater . " AND B.black = 0"; } $countResult = $mdb->queryFirstRow("SELECT COUNT(*) AS count FROM songlist_detail WHERE lid=%d", intval($_REQUEST["lid"])); $totalNumber = 0; $countValue = $countResult['count']; if ($countValue == 0) { $pageCount = 0; } else { $pageCount = (int) ($countValue / $number); if ($countValue % $number != 0) { $pageCount = $pageCount + 1;
<?php header("content-type:application/json"); require_once '../tools/db.php'; require_once '../tools/main.php'; require_once '../tools/redisCache.php'; // header("content-type:text/html"); $mdb = new MeekroDB(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_TABLE_NAME, DB_PORT, DB_CHARSET); $redis = new redisCache(REDIS_HOST, REDIS_PORT); if (isset($_REQUEST["number"]) && intval($_REQUEST["number"]) > 9) { $number = $_REQUEST["number"]; } else { $number = 9; } $use_cache = true; $redis_key = "songlist#media#list"; $queryString = "SELECT A.mid, A.serial_id, A.name, A.singer, A.path, A.original_track, A.sound_track, A.start_volume_1, A.start_volume_2, A.lyric, A.prelude, A.match, B.name AS effect, C.name AS version, A.artist_sid_1 AS singer_id \r\nFROM media A \r\nLEFT JOIN media_effect B ON A.effect = B.id \r\nLEFT JOIN media_version C ON A.version=C.id"; $queryParamater = " WHERE A.enabled=1"; $type = ""; if (isset($_REQUEST["type"])) { $r1 = $mdb->queryFirstRow("SELECT id, name FROM media_type WHERE name=%s", $_REQUEST["type"]); $type = $r1["id"]; //set type if ($type == "") { echo json_encode(array("result" => null, "status" => false, "error" => "请求的类型不存在")); exit; } else { $queryParamater = $queryParamater . " AND A.type=" . $type; } } if ($type) { $redis_key .= "#" . $type;
$mdb = new MeekroDB(); $mdb->insert('cars', $_POST); }); $_PUT = $app->request->params(); // PUT route $app->put('/cars/:id', function ($id) use($_PUT) { $columns = array('id', 'brand', 'model', 'year', 'cost'); // Get a list of cars $mdb = new MeekroDB(); $params = array(); foreach ($columns as $column) { if (isset($_PUT[$column])) { $params[] = "`" . $column . "` = '" . $_PUT[$column] . "'"; } } $query = "UPDATE cars SET " . implode(',', $params) . " WHERE id=" . $id; echo json_encode($mdb->query($query)); }); // DELETE route $app->delete('/cars/:id', function ($id) { $query = 'DELETE FROM cars WHERE id=' . $id; $mdb = new MeekroDB(); echo json_encode($mdb->query($query)); }); /** * Step 4: Run the Slim application * * This method should be called last. This executes the Slim application * and returns the HTTP response to the HTTP client. */ $app->run();
<?php header("content-type:application/json"); require_once '../tools/db.php'; require_once '../tools/main.php'; $mdb = new MeekroDB(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_TABLE_NAME, DB_PORT, DB_CHARSET); if (isset($_REQUEST["number"]) && intval($_REQUEST["number"]) > 9) { $number = $_REQUEST["number"]; } else { $number = 10; } $queryString = "SELECT lid, title, image, type, count, special FROM songlist"; $queryParamater = ""; $type = ""; if (isset($_REQUEST["type"])) { $queryParamater = " WHERE type = %s"; $type = strval($_REQUEST["type"]); } $countResult = $mdb->queryFirstRow("SELECT COUNT(*) AS count FROM songlist" . $queryParamater, $type); $totalNumber = 0; $countValue = $countResult['count']; if ($countValue == 0) { $pageCount = 0; } else { $pageCount = (int) ($countValue / $number); if ($countValue % $number != 0) { $pageCount = $pageCount + 1; } $totalNumber = intval($countValue); } //echo $count."<br />"; if (isset($_REQUEST["page"]) && $_REQUEST["page"] > $pageCount) {
<?php if (!defined("CHECK_ON")) { exit; } require_once '../tools/db.php'; require_once '../tools/main.php'; header("Content-type: text/html; charset=utf-8"); $mdb = new MeekroDB(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_TABLE_NAME, DB_PORT, DB_CHARSET); $ret_str = ""; $check_list = array(); if ($check_list) { foreach ($check_list as $key => $check_table) { $ret = $mdb->query("SHOW COLUMNS FROM {$check_table['table_name']}"); if ($ret) { $field_arr = array(); foreach ($ret as $key => $value) { array_push($field_arr, $value['Field']); } foreach ($check_table['check_field'] as $key => $value) { if (!in_array($value, $field_arr)) { $ret_str .= "数据表{$check_table['table_name']}缺少字段:{$value}" . PHP_EOL; } } } } } return $ret_str;
require $meekro; $queries = array(); $queries[0] = "\nCREATE TABLE IF NOT EXISTS `activated_plugins` (\n `plugin_xml_path` varchar(255) NOT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=latin1;\n"; $queries[1] = "\nCREATE TABLE IF NOT EXISTS `articles` (\n `id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n `title` text NOT NULL,\n `content` mediumtext NOT NULL,\n `tags` text NOT NULL,\n `authorID` int(11) NOT NULL,\n `date` date NOT NULL,\n PRIMARY KEY (`id`)\n) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;\n"; $queries[2] = "\nCREATE TABLE IF NOT EXISTS `comments` (\n `id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n `content` text NOT NULL,\n `articleID` int(10) unsigned NOT NULL,\n `authorID` int(10) unsigned NOT NULL,\n `timestamp` int(11) NOT NULL,\n PRIMARY KEY (`id`)\n) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=23 ;\n"; $queries[3] = "\nCREATE TABLE IF NOT EXISTS `notifications` (\n `id` int(11) unsigned NOT NULL AUTO_INCREMENT,\n `title` text NOT NULL,\n `text` text NOT NULL,\n `image` text,\n `time` int(11) NOT NULL,\n `userID` int(11) unsigned NOT NULL,\n PRIMARY KEY (`id`)\n) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=65 ;\n"; $queries[4] = "\nCREATE TABLE IF NOT EXISTS `pages` (\n `id` int(11) unsigned NOT NULL AUTO_INCREMENT,\n `title` mediumtext NOT NULL,\n `content` text NOT NULL,\n PRIMARY KEY (`id`)\n) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;\n"; $queries[5] = "\nCREATE TABLE IF NOT EXISTS `plugin_data` (\n `access_key` text NOT NULL,\n `setting` text NOT NULL,\n `setting_type` varchar(255) NOT NULL,\n `setting_value` text NOT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=latin1;\n"; $queries[6] = "\nCREATE TABLE IF NOT EXISTS `sessions` (\n `userID` int(11) NOT NULL,\n `sessionID` text NOT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=latin1;\n"; $queries[7] = "\nCREATE TABLE IF NOT EXISTS `settings` (\n `setting` tinytext NOT NULL,\n `value` tinytext NOT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=latin1;\n"; $queries[8] = "\nCREATE TABLE IF NOT EXISTS `storage` (\n `key` text NOT NULL,\n `var` text NOT NULL,\n `is_object` varchar(255) NOT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=latin1;\n"; $queries[9] = "\nCREATE TABLE IF NOT EXISTS `style_data` (\n `style_main_class` text NOT NULL,\n `setting` text NOT NULL,\n `setting_type` varchar(255) NOT NULL,\n `setting_value` text NOT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=latin1;\n"; $queries[10] = "\nCREATE TABLE IF NOT EXISTS `users` (\n `id` int(11) unsigned NOT NULL AUTO_INCREMENT,\n `name` varchar(50) NOT NULL,\n `password` text NOT NULL,\n `email` varchar(80) NOT NULL,\n `rank` tinyint(1) NOT NULL,\n `activated` tinyint(1) NOT NULL,\n PRIMARY KEY (`id`)\n) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=30 ;\n"; $queries[11] = "\nCREATE TABLE IF NOT EXISTS `user_activations` (\n `userID` int(11) NOT NULL,\n `code` text NOT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=latin1;\n"; $creds = $_SESSION['mysql_creds']; $db = new MeekroDB($creds['host'], $creds['username'], $creds['password'], $creds['database']); foreach ($queries as $query) { $db->query($query); } unset($_SESSION['mysql_creds']); $db->insert("settings", array("setting" => "website_url", "value" => $_POST['website_url'])); $db->insert("settings", array("setting" => "website_name", "value" => $_POST['website_name'])); $db->insert("settings", array("setting" => "website_style", "value" => "monk")); $db->insert("settings", array("setting" => "website_email", "value" => $_POST['admin_email'])); $db->insert("settings", array("setting" => "website_lang", "value" => "en_US")); $db->insert("settings", array("setting" => "show_archive", "value" => "true")); $conf = new ConfigFile(); $config = array(); $config['db'] = array(); $config['security'] = array(); $config['db']['name'] = $creds['database'];
<?php define('ROOT_PATH', getcwd() . '/'); define('SHARED_PATH', ROOT_PATH . '../Shared/'); define('VENDOR_PATH', SHARED_PATH . './vendor/'); require SHARED_PATH . 'config.inc.php'; require SHARED_PATH . 'helpers.php'; require VENDOR_PATH . 'autoload.php'; require VENDOR_PATH . 'sergeytsalkov/meekrodb/db.class.php'; require VENDOR_PATH . 'erusev/parsedown/Parsedown.php'; set_error_handler("exceptionErrorHandler", E_ALL); $database = new MeekroDB(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME, DB_PORT, DB_CHARSET); $database->throw_exception_on_error = true; $database->error_handler = false; $parsedown = new Parsedown(); function patch($importEntity, $existingEntity, $mapping) { $result = array(); $isModified = false; if (isset($existingEntity)) { $result["Id"] = $existingEntity["Id"]; if ($existingEntity["IsDeleted"] == 1) { $isModified = true; } //Log::info(" Patching existing id=".$result["Id"]); } else { $isModified = true; $result["Id"] = GUID(); Log::info(" Creating new id=" . $result["Id"]); } $result["IsDeleted"] = 0;
define('SHARED_PATH', ROOT_PATH . '../Shared/'); define('VENDOR_PATH', SHARED_PATH . './vendor/'); require SHARED_PATH . 'config.inc.php'; require SHARED_PATH . 'helpers.php'; require VENDOR_PATH . 'autoload.php'; require VENDOR_PATH . 'sergeytsalkov/meekrodb/db.class.php'; require VENDOR_PATH . 'parsecsv/php-parsecsv/parsecsv.lib.php'; use YaLinqo\Enumerable; set_error_handler("exceptionErrorHandler", E_ALL); $fileName = isset($argv[1]) ? $argv[1] : "/temp/efschedule.csv"; Log::info("Trying to import from file: " . $fileName); if (!file_exists($fileName)) { Log::error("File dies not exist: " . $fileName); die; } $database = new MeekroDB(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME, DB_PORT, DB_CHARSET); $database->throw_exception_on_error = true; $database->error_handler = false; $csv = new parseCSV($fileName); $eventQuery = Enumerable::from($csv->data); function fixConferenceDayName($name) { $name = str_replace("Mon - ", "", $name); $name = str_replace("Tue - ", "", $name); $name = str_replace("Wed - ", "", $name); $name = str_replace("Thu - ", "", $name); $name = str_replace("Fri - ", "", $name); $name = str_replace("Sat - ", "", $name); $name = str_replace("Sun - ", "", $name); return $name; }
function archive_lmt_db($uname, $passw, $yrfrom, $yrto) { $yrfrom = intval($yrfrom); $yrto = intval($yrto); //Reconnect with the new username/password with more privileges $adminDB = new MeekroDB(NULL, $uname, $passw); //create new db //probably triggers error if already exists $adminDB->query("CREATE DATABASE `lmt-{$yrfrom}` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci"); $adminDB->useDB('lmt-' . $yrfrom); //copy db info to new db //This can be done dynamically using SHOW TABLES but this is easier. $tables = array('guts', 'individuals', 'map', 'pages', 'schools', 'teams'); foreach ($tables as $table) { $adminDB->query("CREATE TABLE `lmt-{$yrfrom}`.`{$table}` LIKE `lmt`.`{$table}`"); $adminDB->query("INSERT `lmt-{$yrfrom}`.`{$table}` SELECT * FROM `lmt`.`{$table}`"); } //truncate necessary fields in LMT db, since it's already archived. $tables_truncate = array('guts', 'individuals', 'schools', 'teams'); foreach ($tables_truncate as $table) { $adminDB->query("TRUNCATE TABLE `lmt`.`{$table}`"); } }
define('SHARED_PATH', ROOT_PATH . '../Shared/'); define('VENDOR_PATH', SHARED_PATH . './vendor/'); require SHARED_PATH . 'config.inc.php'; require SHARED_PATH . 'helpers.php'; require VENDOR_PATH . 'autoload.php'; require VENDOR_PATH . 'sergeytsalkov/meekrodb/db.class.php'; require VENDOR_PATH . 'parsecsv/php-parsecsv/parsecsv.lib.php'; use YaLinqo\Enumerable; set_error_handler("exceptionErrorHandler", E_ALL); $fileName = isset($argv[1]) ? $argv[1] : "/temp/wiki.txt"; Log::info("Trying to import from file: " . $fileName); if (!file_exists($fileName)) { Log::error("File dies not exist: " . $fileName); die; } $database = new MeekroDB(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME, DB_PORT, DB_CHARSET); $database->throw_exception_on_error = true; $database->error_handler = false; // Full page source of http://wiki.eurofurence.org/doku.php?id=ef22:it:mobileapp:coninfo $wikiText = file_get_contents($fileName); $regexParseContent = "/<WRAP[^>]*>PARSE_START<\\/WRAP>(.*)<WRAP[^>]*>PARSE_END<\\/WRAP>/si"; $regexGroup = "/====([^=]+)====(.+?)((?=====)|\$)/siu"; $regexEntry = "/===([^=]+)===.+?<WRAP box[^>]*>(.+?)<\\/WRAP>([^\\<]*<WRAP lo[^>]*>([^\\<]+)<\\/WRAP>){0,1}/si"; $regexLinks = "/ \\* \\[\\[([^\\|]+)\\|([^\\]]+)\\]\\]/si"; preg_match($regexParseContent, $wikiText, $matches); $wikiTextToParse = trim($matches[1]); preg_match_all($regexGroup, $wikiTextToParse, $groupMatches); $position = 0; $groupIds = array(); try { $database->startTransaction();
<?php header("content-type:application/json"); require_once '../tools/db.php'; require_once '../tools/main.php'; require_once '../tools/redisCache.php'; $mdb = new MeekroDB(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_TABLE_NAME, DB_PORT, DB_CHARSET); $redis = new redisCache(REDIS_HOST, REDIS_PORT); $use_cache = true; $redis_key = 'songlist#singer#list'; if (isset($_REQUEST["number"]) && intval($_REQUEST["number"]) > 12) { $number = $_REQUEST["number"]; } else { $number = 12; } $queryString = "SELECT sid, serial_id, A.name, nation, A.sex, B.name AS sexType, stars, song_count, baiwei_recommend\r\nFROM actor A \r\nLEFT JOIN actor_sex B ON A.sex=B.id\r\n"; $queryParamater = " WHERE enabled = 1"; //Check the black list option is open or not $rb = $mdb->queryFirstRow("SELECT value FROM config_resource WHERE name = 'filter_black'"); if ($rb["value"] == 1) { $queryParamater = $queryParamater . " AND A.black=0"; } $typeID = -1; if (isset($_REQUEST["type"])) { for ($x = 0; $x <= 15; $x++) { if ($singerType[$x] == strval($_REQUEST["type"])) { $typeID = $x; } } if ($typeID == -1) { echo json_encode(array("result" => null, "status" => false, "error" => "请求的类型不存在")); exit;
define('SHARED_PATH', ROOT_PATH . '../Shared/'); define('VENDOR_PATH', SHARED_PATH . './vendor/'); require SHARED_PATH . 'config.inc.php'; require SHARED_PATH . 'helpers.php'; require VENDOR_PATH . 'autoload.php'; require VENDOR_PATH . 'sergeytsalkov/meekrodb/db.class.php'; require VENDOR_PATH . 'parsecsv/php-parsecsv/parsecsv.lib.php'; use YaLinqo\Enumerable; set_error_handler("exceptionErrorHandler", E_ALL); $fileName = isset($argv[1]) ? $argv[1] : "/temp/EF22.zip"; Log::info("Trying to import from file: " . $fileName); if (!file_exists($fileName)) { Log::error("File dies not exist: " . $fileName); die; } $database = new MeekroDB(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME, DB_PORT, DB_CHARSET); $database->throw_exception_on_error = true; $database->error_handler = false; $zipArchiveLocation = $fileName; $zipContentsQueryable = getZipContentsAsQueryable($zipArchiveLocation); $csvEntry = $zipContentsQueryable->where(function ($v) { return endsWith($v["name"], "csv"); })->single(); $csvData = getZipContentOfFile($zipArchiveLocation, $csvEntry['name']); while (ord($csvData[0]) > 127) { $csvData = substr($csvData, 1); } $csvParser = new parseCSV(); $csvParser->delimiter = ";"; $csvContentsQueryable = from($csvParser->parse_string(utf8_decode($csvData))); try {
<?php header("content-type:application/json"); require_once '../tools/db.php'; require_once '../tools/main.php'; $mdb = new MeekroDB(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_TABLE_NAME, DB_PORT, DB_CHARSET); if (isset($_REQUEST["number"]) && intval($_REQUEST["number"]) > 9) { $number = $_REQUEST["number"]; } else { $number = 9; } $queryString = "SELECT A.mid, A.serial_id, A.name, A.singer, A.path, A.original_track, A.sound_track, A.start_volume_1, A.start_volume_2, A.lyric, A.prelude, A.match, B.name AS effect, C.name AS version \r\nFROM media A \r\nLEFT JOIN media_effect B ON A.effect = B.id \r\nLEFT JOIN media_version C ON A.version=C.id"; $queryParamater = " WHERE A.enabled=1"; if (!isset($_REQUEST["sid"])) { echo json_encode(array("result" => null, "status" => false, "error" => "需提交歌手编号(sid)")); exit; } $artistid = intval($_REQUEST["sid"]); $queryParamater = $queryParamater . " AND (A.artist_sid_1=%d OR A.artist_sid_2=%d)"; //Check the black list option is open or not $rb = $mdb->queryFirstRow("SELECT value FROM config_resource WHERE name = 'filter_black'"); if ($rb["value"] == 1) { $queryParamater = $queryParamater . " AND A.black=0"; } $handle = ''; if (isset($_REQUEST["header"])) { $handle = '%' . strval($_REQUEST["header"]) . '%'; $queryParamater = $queryParamater . " AND A.header LIKE %s"; } else { if (isset($_REQUEST["pinyin"])) { $handle = '%' . strval($_REQUEST["pinyin"]) . '%'; $queryParamater = $queryParamater . " AND A.pinyin LIKE %s";
<?php // header("content-type:text/html; charset=utf-8"); header("Content-Type: application/json"); require_once '../tools/db.php'; require_once '../tools/main.php'; require_once '../tools/redisCache.php'; //排行榜 $mdb = new MeekroDB(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_TABLE_NAME, DB_PORT, DB_CHARSET); $redis = new redisCache(REDIS_HOST, REDIS_PORT); $use_cache = true; $redis_key = "songlist#media#board"; if (isset($_REQUEST["number"]) && intval($_REQUEST["number"]) > 9) { $number = $_REQUEST["number"]; } else { $number = 9; } if (isset($_REQUEST["type"])) { $type = strval($_REQUEST["type"]); $redis_key .= "#" . $type; } else { echo json_encode(array("result" => null, "status" => false, "error" => "没有上传列表类型")); exit; } $queryString = "SELECT B.mid, B.serial_id, B.name, B.singer, B.path, B.original_track, B.sound_track, B.start_volume_1, B.start_volume_2, B.lyric, B.prelude, B.match, C.name AS effect, D.name AS version, B.artist_sid_1 AS singer_id\r\nFROM media_list A \r\nLEFT JOIN media B ON A.mid = B.mid \r\nLEFT JOIN media_effect C ON B.effect = C.id \r\nLEFT JOIN media_version D ON B.version=D.id \r\nWHERE B.enabled = 1 AND A.type=%s"; $queryParamater = ""; //Check the black list option is open or not $black = false; $rb = $mdb->queryFirstRow("SELECT value FROM config_resource WHERE name = 'filter_black'"); if ($rb["value"] == 1) { $black = true; $queryParamater = $queryParamater . " AND B.black = 0";
<?php header("content-type:application/json"); require_once '../tools/db.php'; require_once '../tools/main.php'; $mdb = new MeekroDB(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_TABLE_NAME, DB_PORT, DB_CHARSET); if (!isset($_REQUEST["serialid"]) && !isset($_REQUEST["mmid"])) { echo json_encode(array("result" => null, "status" => false, "error" => "请提交正确的参数")); exit; } $queryString = "SELECT mmid, serial_id, name, singer, path, lyric, prelude, has_lyric\r\nFROM media_music"; $queryParamater = " WHERE enabled=1"; if (isset($_REQUEST["serialid"])) { $queryParamater = $queryParamater . " AND serial_id=%d"; $handler = $_REQUEST["serialid"]; } else { if (isset($_REQUEST["mmid"])) { $queryParamater = $queryParamater . " AND mmid=%d"; $handler = $_REQUEST["mmid"]; } } $queryString = $queryString . $queryParamater; //echo $queryString."<br />"; $result = $mdb->queryFirstRow($queryString, $handler); if (!$result) { echo json_encode(array("result" => null, "status" => false, "error" => "查询内容不存在")); exit; } $finalResult = array("song" => formatMusicResult($result)); echo json_encode(array("result" => $finalResult, "status" => true, "error" => "")); saveLog($GLOBALS['timeStart'], $_SERVER['REQUEST_URI']);
} else { include_once '_music.php'; exit; } //Sphinx 搜索 header("content-type:application/json"); require_once '../tools/db.php'; require_once '../tools/main.php'; include_once "../tools/sphinxapi.php"; if (isset($_REQUEST["number"]) && intval($_REQUEST["number"]) > 9) { $number = $_REQUEST["number"]; } else { $number = 9; } $pageNum = isset($_REQUEST["page"]) ? intval($_REQUEST["page"]) : 0; $mdb = new MeekroDB(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_TABLE_NAME, DB_PORT, DB_CHARSET); $sphinx = new SphinxClient(); $sphinx->SetServer(SPHINX_HOST, SPHINX_PORT); $sphinx->SetArrayResult(true); $sphinx->SetLimits($pageNum * $number, $number, 5000); $sphinx->SetMaxQueryTime(10); $sphinx->SetMatchMode(SPH_MATCH_EXTENDED2); $sphinx->SetFilter('enabled', array(1)); if (isset($_REQUEST['words'])) { if (intval($_REQUEST['words']) < 9) { $sphinx->SetFilter('words', array(intval($_REQUEST['words']))); } else { $sphinx->SetFilterRange('words', 9, 100); } } $sphinx->SetSortMode(SPH_SORT_EXTENDED, "words ASC, count DESC, head ASC");
<?php header("content-type:application/json"); require_once '../tools/db.php'; require_once '../tools/main.php'; $mdb = new MeekroDB(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_TABLE_NAME, DB_PORT, DB_CHARSET); if (isset($_REQUEST["number"]) && intval($_REQUEST["number"]) > 9) { $number = $_REQUEST["number"]; } else { $number = 9; } $queryString = "SELECT B.mid, B.serial_id, B.name, B.singer, B.path, B.original_track, B.sound_track, B.start_volume_1, B.start_volume_2, B.lyric, B.prelude, B.match, C.name AS effect, D.name AS version \r\nFROM media_list A \r\nLEFT JOIN media B ON A.mid = B.mid \r\nLEFT JOIN media_effect C ON B.effect = C.id \r\nLEFT JOIN media_version D ON B.version=D.id \r\nWHERE A.type='pro'"; $queryParamater = ""; //Check the black list option is open or not $rb = $mdb->queryFirstRow("SELECT value FROM config_resource WHERE name = 'filter_black'"); if ($rb["value"] == 1) { $queryParamater = $queryParamater . " AND B.black = 0"; } $countResult = $mdb->queryFirstRow("SELECT COUNT(*) as count FROM media_list LEFT JOIN media ON media_list.mid = media.mid WHERE media_list.type = 'pro'" . $queryParamater); $totalNumber = 0; $countValue = $countResult['count']; if ($countValue == 0) { $pageCount = 0; } else { $pageCount = (int) ($countValue / $number); if ($countValue % $number != 0) { $pageCount = $pageCount + 1; } $totalNumber = intval($countValue); } if (isset($_REQUEST["page"]) && intval($_REQUEST["page"]) > $pageCount) { echo json_encode(array("result" => null, "status" => false, "error" => "请求页数超过总页数"));
<?php header("content-type:application/json"); require_once '../tools/db.php'; require_once '../tools/main.php'; $mdb = new MeekroDB(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_TABLE_NAME, DB_PORT, DB_CHARSET); if (isset($_REQUEST["number"]) && intval($_REQUEST["number"]) > 9) { $number = $_REQUEST["number"]; } else { $number = 9; } $queryString = "SELECT mmid, serial_id, name, singer, path, lyric, prelude\r\nFROM media_music A"; $queryParamater = " WHERE enabled=1"; if (!isset($_REQUEST["keyword"]) && !isset($_REQUEST["pinyin"]) && !isset($_REQUEST["header"])) { echo json_encode(array("result" => null, "status" => false, "error" => "未提交关键字")); exit; } // if (isset($_REQUEST["keyword"])){ // $queryParamater = $queryParamater." OR name LIKE ".'\'%'.strval($_REQUEST["keyword"]).'%\''; // } // if (isset($_REQUEST["pinyin"]) && isset($_REQUEST["header"])){ // $queryParamater = $queryParamater." OR (pinyin LIKE ".'\'%'.strval($_REQUEST["pinyin"]).'%\''."OR header LIKE ".'\'%'.strval($_REQUEST["header"]).'%\''.")"; // } $par_arr = array(); if (isset($_REQUEST["keyword"])) { $str = " A.name LIKE " . '\'%' . strval($_REQUEST["keyword"]) . '%\''; array_push($par_arr, $str); } if (isset($_REQUEST["pinyin"])) { $str = " A.pinyin LIKE " . '\'%' . strval($_REQUEST["pinyin"]) . '%\''; array_push($par_arr, $str); //$queryParamater = $queryParamater." OR (A.pinyin LIKE ".'\'%'.strval($_REQUEST["pinyin"]).'%\''."OR A.header LIKE ".'\'%'.strval($_REQUEST["header"]).'%\''.")";
<?php header("content-type:application/json"); require_once '../tools/db.php'; require_once '../tools/main.php'; require_once '../tools/redisCache.php'; $mdb = new MeekroDB(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_TABLE_NAME, DB_PORT, DB_CHARSET); $redis = new redisCache(REDIS_HOST, REDIS_PORT); $use_cache = true; $redis_key = 'songlist#music#list'; if (isset($_REQUEST["number"]) && intval($_REQUEST["number"]) > 9) { $number = $_REQUEST["number"]; } else { $number = 9; } $queryString = "SELECT mmid, serial_id, name, singer, path, lyric, prelude, has_lyric\r\nFROM media_music"; $queryParamater = " WHERE enabled=1"; $handle = ''; if (isset($_REQUEST["header"])) { $use_cache = false; $handle = '%' . strval($_REQUEST["header"]) . '%'; $queryParamater = $queryParamater . " AND header LIKE %s"; } else { if (isset($_REQUEST["pinyin"])) { $use_cache = false; $handle = '%' . strval($_REQUEST["pinyin"]) . '%'; $queryParamater = $queryParamater . " AND pinyin LIKE %s"; } else { if (isset($_REQUEST["name"])) { $use_cache = false; $handle = '%' . strval($_REQUEST["name"]) . '%'; $queryParamater = $queryParamater . " AND name LIKE %s";
<?php header("content-type:text/html; charset=utf-8"); require_once 'tools/db.php'; require_once 'tools/main.php'; $mdb = new MeekroDB(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_TABLE_NAME, DB_PORT, DB_CHARSET); if (isset($_REQUEST["number"]) && $_REQUEST["number"] > 10) { $number = $_REQUEST["number"]; } else { $number = 10; } $queryString = "SELECT aid, title, thumb, type, member_count, start_date, end_date, start_time, end_time, status, address, fee, sponsor, photos, description FROM activity"; $queryParamater = ""; $countResult = $mdb->queryFirstRow("SELECT COUNT(*) AS count FROM activity"); $totalNumber = 0; $countValue = $countResult['count']; if ($countValue == 0) { $pageCount = 0; } else { $pageCount = (int) ($countValue / $number); if ($countValue % $number != 0) { $pageCount = $pageCount + 1; } $totalNumber = intval($countValue); } //echo $count."<br />"; if (isset($_REQUEST["page"]) && $_REQUEST["page"] > $count) { echo json_encode(array("result" => "", "status" => false, "error" => "请求页数超过总页数")); exit; } if (isset($_REQUEST["page"]) && $_REQUEST["page"] != 0) {
} } } //$sphinx_index = 'media'; //Sphinx 搜索 header("content-type:application/json"); require_once '../tools/db.php'; require_once '../tools/main.php'; include_once "../tools/sphinxapi.php"; if (isset($_REQUEST["number"]) && intval($_REQUEST["number"]) > 9) { $number = $_REQUEST["number"]; } else { $number = 9; } $pageNum = isset($_REQUEST["page"]) ? intval($_REQUEST["page"]) : 0; $mdb = new MeekroDB(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_TABLE_NAME, DB_PORT, DB_CHARSET); $sphinx = new SphinxClient(); $sphinx->SetServer(SPHINX_HOST, SPHINX_PORT); $sphinx->SetArrayResult(true); $sphinx->SetLimits($pageNum * $number, $number, 5000); $sphinx->SetMaxQueryTime(10); $sphinx->SetMatchMode(SPH_MATCH_EXTENDED2); $sphinx->SetFilter('enabled', array(1)); if (isset($_REQUEST["type"])) { $r1 = $mdb->queryFirstRow("SELECT id, name FROM media_type WHERE name=%s", $_REQUEST["type"]); $type = $r1["id"]; //set type if ($type == "") { echo json_encode(array("result" => null, "status" => false, "error" => "请求的类型不存在")); exit; }
<?php define('ROOT_PATH', getcwd() . '/'); define('SHARED_PATH', ROOT_PATH . '../Shared/'); define('VENDOR_PATH', SHARED_PATH . './vendor/'); require SHARED_PATH . 'config.inc.php'; require VENDOR_PATH . 'autoload.php'; require VENDOR_PATH . 'sergeytsalkov/meekrodb/db.class.php'; use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Message\ResponseInterface as Response; use Slim\Http\Stream; $endpointDatabase = new MeekroDB(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME, DB_PORT, DB_CHARSET); $endpointDatabase->param_char = "##"; $endpointConfiguration = $endpointDatabase->query("SELECT * FROM EndpointConfiguration"); $endpointEntities = $endpointDatabase->query("SELECT Id, Name, TableName, SelectFields, DATE_FORMAT(DeltaStartDateTimeUtc, '%Y-%m-%dT%TZ') AS DeltaStartDateTimeUtc, JsonFields FROM EndpointEntity"); $app = new \Slim\App(['settings' => ['displayErrorDetails' => true]]); // Register Endpoint Metadata $app->get('/Endpoint', function (Request $request, Response $response, $args) use($endpointConfiguration, $endpointEntities, $endpointDatabase) { foreach ($endpointEntities as $id => $entity) { $row = $endpointDatabase->queryFirstRow("SELECT DATE_FORMAT(MAX(LastChangeDateTimeUtc), '%Y-%m-%dT%TZ') AS LastChangeDateTimeUtc, COUNT(*) AS Count FROM " . $entity["TableName"]); $endpointEntities[$id]["LastChangeDateTimeUtc"] = $row["LastChangeDateTimeUtc"]; $endpointEntities[$id]["Count"] = $row["Count"]; } return $response->withJson(array("CurrentDateTimeUtc" => gmdate("Y-m-d\\TH:i:s\\Z"), "Configuration" => $endpointConfiguration, "Entities" => $endpointEntities)); }); // Register all Endpoints for Table Enumeration & Indexer foreach ($endpointEntities as $id => $entity) { $app->get('/' . $entity["Name"], function (Request $request, Response $response) use($endpointDatabase, $entity) { $fields = preg_replace("(date:([^\$^,]+))", "DATE_FORMAT(\\1,'%Y-%m-%dT%TZ') AS \\1", $entity["SelectFields"]); $jsonFields = explode(",", $entity["JsonFields"]); $queryBase = "SELECT " . $fields . " FROM " . $entity["TableName"] . " tbl ";