function editView() { global $connection; global $DBErrorMsg; $message = 'false'; if (isset($_GET['ord']) && isset($_GET['up']) && isset($_GET['ty']) && isset($_GET['def'])) { $order = $connection->real_escape_string($_GET['ord']); $newName = $connection->real_escape_string($_GET['up']); $viewType = $connection->real_escape_string($_GET['ty']); $def = $connection->real_escape_string($_GET['def']); if (isset($_GET['id'])) { $viewId = $connection->real_escape_string($_GET['id']); } else { //create new view and return id $viewId = createView($viewType, $newName, $def); if (!is_int(intval($viewId))) { return; } } if ($order === '_same') { $query = generateQuery($newName, false, $def, $viewId); } elseif ($order === '_last') { //get max relOrder $relOrder; $relQ = "SELECT..."; if ($result = $connection->query($relQ)) { while ($row = $result->fetch_assoc()) { $relOrder = $row['ro']; } $relOrder += 1; $query = generateQuery($newName, $relOrder, $def, $viewId); } else { echo $DBErrorMsg; } } elseif ($order === '_first') { //get list of views to update $ordQ = "SELECT..."; $adj = adjustOrder($ordQ, false); if ($adj === true) { //success, create query $query = generateQuery($newName, 1, $def, $viewId); } } elseif (is_int(intval($order))) { //find what rel_order should be based on the view id $ordQ = "SELECT..."; if ($result = $connection->query($ordQ)) { while ($row = $result->fetch_assoc()) { //if first view was selected then set to 1 instead of going to 0 if ($row['rel_order'] === 1) { $relOrder = 1; } else { $relOrder = $row['rel_order']; } //get list of views to update $ordQ = "SELECT..."; $adj = adjustOrder($ordQ, false); if ($adj === true) { //success, create query $query = generateQuery($newName, $relOrder, $def, $viewId); } } } else { echo $DBErrorMsg; } } //update view being edited if (isset($query)) { //send query if ($result = $connection->query($query)) { //adjust rel_order to fill in any gaps $ordQ = "SELECT..."; $adj = adjustOrder($ordQ, true); if ($adj !== true) { return; } //Success, send back id $message = $viewId; } else { echo $DBErrorMsg; } } } return $message; }
function crawl_all() { include 'cc-settings.php'; include_once 'util.php'; $sth = $dbh->query("SELECT * FROM {$db_prefix}cast"); if ($sth) { $urls = array(); $xml = array(); $GLOBALS['casts'] = array(); foreach ($sth as $row) { array_push($urls, $row['URL']); $cache = json_decode($row['XML']); array_push($xml, $cache); $cast = array("id" => $row['CastID'], "url" => $row['URL']); if (isset($cache->etag)) { $cast["etag"] = $cache->etag; } array_push($GLOBALS['casts'], $cast); } $sth = $dbh->query("SELECT GUID FROM {$db_prefix}episode"); $GLOBALS['guids'] = $sth->fetchAll(PDO::FETCH_COLUMN, 0); $dbh->exec("UPDATE {$db_prefix}cast SET crawlts=" . time()); $t = microtime(true); $feeds = multiHTTP($urls); $GLOBALS['download_time'] = microtime(true) - $t; $size_downloaded = 0; foreach ($feeds as $feed) { $size_downloaded += strlen($feed); } $size_downloaded /= 1024 * 1024; echo "Downloaded " . sizeof($feeds) . " feeds, {$size_downloaded} MB in " . $GLOBALS['download_time'] . " seconds\n"; $i = 0; $GLOBALS['cast_data'] = array(); $dbh->beginTransaction(); $sth = $dbh->prepare("UPDATE {$db_prefix}cast SET xml=? WHERE url=?"); foreach ($feeds as $feed) { echo "#" . ($i + 1) . " " . $urls[$i] . "\n"; if ($feed != null) { $header = array(); foreach (explode("\r\n", substr($feed, 0, strpos($feed, "\r\n\r\n"))) as $line) { $line = explode(":", $line); if (sizeof($line) > 1) { $header[$line[0]] = trim($line[1]); } else { $status = explode(" ", $line[0])[1]; } } if ($status == 200) { $data = substr($feed, strpos($feed, "\r\n\r\n") + 4); $cache = array(); if (array_key_exists("ETag", $header)) { $cache["etag"] = $header["ETag"]; } $hash = md5($data); $cache["hash"] = $hash; if (strcmp($xml[$i]->hash, $hash) != 0) { $sth->execute(array(json_encode($cache), $urls[$i])); $t = microtime(true); crawl($urls[$i], $data); $GLOBALS['crawl_time'] += microtime(true) - $t; } } } else { echo "Feed failed downloading\n"; } $i++; } $push_this = $GLOBALS['push_this']; $t = microtime(true); $n = 250; for ($i = 0; $i < sizeof($push_this); $i += $n * 4) { $vals = array_slice($push_this, $i, $n * 4); $sth = $dbh->prepare(generateQuery(sizeof($vals) / 4)); $sth->execute($vals); } $GLOBALS['insert_time'] = microtime(true) - $t; echo sizeof($push_this) / 4 . " rows inserted\n"; $sth = $dbh->prepare("UPDATE {$db_prefix}cast SET content=? WHERE castid=?"); foreach ($GLOBALS['cast_data'] as $id => $data) { $sth->execute(array($data, $id)); } $dbh->commit(); echo "download " . $GLOBALS['download_time'] . " sec\nparse " . $GLOBALS['parse_time'] . " sec\ncrawl " . $GLOBALS['crawl_time'] . "sec\ninsert " . $GLOBALS['insert_time'] . " sec"; } }
} } } // ADDING THE JOINED TABLES $queryFilter = ""; $queryTableSing = substr($queryTable, 0, -1); if (property_exists($filter, $qTable)) { if (property_exists($filter->{$qTable}, 'join')) { $f = $filter->{$qTable}->join; $c = 0; foreach ($f as $value) { $joinTableNameSing = substr($value, 0, -1); // subtitles -> subtitle used for model.json $queryWhere = "WHERE " . $queryTableSing . "_id = " . $r['id']; $queryFilter = generateFilter($joinTableNameSing); $q = generateQuery($queryFilter, $value, $queryWhere, "", ""); $c = $db->query($q); if ($c) { $r[$value] = array(); while ($t = $c->fetch(PDO::FETCH_ASSOC)) { array_push($r[$value], $t); } } } } } array_push($return[$qTable], $r); $return['success'] = true; } if ($return['count'] == 0) { $return['success'] = true;
$question = $_POST['_q_' . $key]; $answer = $_POST['_a_' . $key]; if (empty($question)) { if ($suq_id) { $delete_suq_id[] = $suq_id; } continue; } $suq_sort++; $value = array('su_id' => $su_id, 'suq_id' => $suq_id, 'suq_sort' => $suq_sort, 'suq_category' => $category, 'suq_type' => $type, 'suq_max_select' => $max_select, 'suq_question' => $question, 'suq_enable_etc' => is_null($etc) ? 'disabled' : 'enabled'); for ($ak = 0; $ak < 10; $ak++) { $a = $answer[$ak]; $value['suq_answer_' . ($ak + 1)] = $a; } array_push($values, $value); } foreach ($values as $row) { $condition = null; if ($row['suq_id']) { $condition = array('suq_id' => $row['suq_id']); } else { $row['suq_created'] = G5_TIME_YMDHIS; } $sql = generateQuery($row, $g5['surveys_q_table'], null, $condition); sql_query($sql); } if (count($delete_suq_id) > 0) { sql_query("delete from {$g5['surveys_q_table']} where suq_id in (" . implode(',', $delete_suq_id) . ")"); } surveys_count_update($su_id); goto_url('./questions.php?su_id=' . $su_id);
<?php $sub_menu = '700600'; include_once './_common.php'; auth_check($auth[$sub_menu], "w"); $values = array('su_id' => $su_id, 'suc_name' => $suc_name, 'suc_summary' => $suc_summary, 'suc_created' => G5_TIME_YMDHIS); $condition = null; if (isset($suc_id) && $suc_id > 0) { $condition = array('suc_id' => $suc_id); } $sql = generateQuery($values, $g5['surveys_c_table'], null, $condition); sql_query($sql, true); goto_url('./index.php?su_id=' . $su_id);