source: trunk/scripts/add-round-task-order @ 1184

Revision 1132, 1.3 KB checked in by bogdan2412, 2 years ago (diff)

Merge branch taskreordering into trunk.

  • Property svn:executable set to *
Line 
1#! /usr/bin/env php
2<?php
3
4require_once(dirname($argv[0])."/utilities.php");
5require_once(dirname($argv[0])."/../common/db/task.php");
6
7db_connect();
8
9// Add new column in ia_round_task
10$query = "ALTER TABLE ia_round_task ADD COLUMN order_id INT";
11db_query($query);
12
13// Get all the round ids
14$query = "SELECT DISTINCT id FROM ia_round";
15$res = db_fetch_all($query);
16
17// Complete order_id column for each round
18foreach ($res as $row) {
19    $round_id = $row['id'];
20
21    // Get all tasks for a round
22    $query = sprintf(
23        "SELECT ia_round_task.task_id, ia_task.order
24         FROM ia_round_task
25         LEFT JOIN ia_task ON ia_round_task.task_id = ia_task.id
26         WHERE (round_id = %s)
27         ORDER BY ia_task.order",
28         db_quote($round_id));
29    $res = db_fetch_all($query);
30
31    $count = 1;
32    foreach ($res as $row) {
33        $task_id = $row['task_id'];
34
35        $query = sprintf(
36            "UPDATE ia_round_task
37             SET order_id = %s
38             WHERE (round_id = %s AND task_id = %s)",
39             db_quote($count), db_quote($round_id), db_quote($task_id));
40        db_query($query);
41
42        $count += 1;
43    }
44}
45
46// Update forum topics
47$query = "SELECT task_id FROM ia_round_task
48          WHERE round_id = 'arhiva'";
49$res = db_fetch_all($query);
50foreach ($res as $task) {
51    task_update_forum_topic($task['task_id']);
52}
53
54?>
Note: See TracBrowser for help on using the repository browser.