Esempio n. 1
0
    foreach ($G_TOKEN_SESSION_DATA->{NQ_SESSION_GROUP}->update->{$G_TABLE_DETAILS['alias']} as $column => $value) {
        $_CGET[$column] = $value;
    }
}
# Setting up our return content
$content = new stdClass();
$content->success = true;
$content->affected_rows = 0;
$content->matched_rows = 0;
$content->partition = $partition_evaluation;
$content->env = PostParser::create_attribute($G_APP_ENVIRONMENT);
# Partition evaluations
$evaluation_query = '';
# Specific partitions
if (isset($_CGET['partition'])) {
    $search = MySQLParser::column_compare_info($_CGET['partition']);
    $values = [];
    foreach (array_unique($search['values']) as $value) {
        $values[] = "'" . mysqli_escape_string($G_CONTROLLER_DBLINK, $value) . "'";
    }
    $evaluation_query = " AND `evaluation`" . $search['compare'] . implode(isset($search['separator']) ? $search['separator'] : ',', $values) . $search['close'];
} else {
    $partition_evaluation = get_table_partition_evaluation($G_TABLE_DETAILS, (object) $_CGET);
    $evaluation_query = $partition_evaluation !== false ? " AND `evaluation` ='" . mysqli_escape_string($G_CONTROLLER_DBLINK, $partition_evaluation) . "'" : "";
}
# Which partitions are we going to be working with
$partition_query = "\t\tSELECT\n\t\t\t\t\t\t`p`.*,\n\t\t\t\t\t\t`d`.`host`,\n\t\t\t\t\t\t`d`.`username`,\n\t\t\t\t\t\t`d`.`password`,\n\t\t\t\t\t\t`d`.`database`\n\t\t\t\t\tFROM\n\t\t\t\t\t\t" . NQ_TABLE_PARTITIONS_TABLE . " `p`\n\t\t\t\t\tLEFT JOIN\n\t\t\t\t\t\t" . NQ_SERVERS_TABLE . " `d`\n\t\t\t\t\t\tON\n\t\t\t\t\t\t\t`d`.`id`=`p`.`host_id`\n\t\t\t\t\tWHERE\n\t\t\t\t\t\t`table_id`=" . (int) $G_TABLE_DETAILS['id'] . "\n\t\t\t\t\t\t" . $evaluation_query . "\n\t\t\t\t\tORDER BY\n\t\t\t\t\t\t" . (isset($_CGET['partitionorder']) && $_CGET['partitionorder'] == 'value' ? "`evaluation`" : "`number`") . "\n\t\t\t\t\t\t" . (isset($_CGET['partitionordersort']) && $_CGET['partitionordersort'] == 'DESC' ? "DESC" : "ASC") . "";
$partition_results = mysqli_multi_result_query($G_CONTROLLER_DBLINK, $partition_query);
# Processing each partition
$query = false;
$partitions_affected = new stdClass();