+ Script to fill ID columns
This commit is contained in:
83
workflow/engine/bin/tasks/cliListIds.php
Normal file
83
workflow/engine/bin/tasks/cliListIds.php
Normal file
@@ -0,0 +1,83 @@
|
||||
<?php
|
||||
/**
|
||||
* cliUpgrade.php
|
||||
*
|
||||
* ProcessMaker Open Source Edition
|
||||
* Copyright (C) 2011 Colosa Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
|
||||
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
|
||||
*
|
||||
* @author Alexandre Rosenfeld <alexandre@colosa.com>
|
||||
* @package workflow-engine-bin-tasks
|
||||
*/
|
||||
CLI::taskName('list-ids');
|
||||
CLI::taskDescription(<<<EOT
|
||||
Complete the PRO_ID and USR_ID in the LIST_* tables.
|
||||
EOT
|
||||
);
|
||||
CLI::taskOpt("lang", "", "lLANG", "lang=LANG");
|
||||
CLI::taskArg('workspace');
|
||||
CLI::taskRun("list_ids");
|
||||
|
||||
function list_ids($command, $args)
|
||||
{
|
||||
CLI::logging("list-ids\n");
|
||||
|
||||
$workspaces = get_workspaces_from_args($command);
|
||||
|
||||
foreach ($workspaces as $index => $workspace) {
|
||||
$hostPort1 = explode(":", $workspace->dbInfo['DB_HOST']);
|
||||
$hostPort = $hostPort1[0].(isset($hostPort[1]) ? ";port=".$hostPort[1] : "");
|
||||
$connectionString = sprintf("%s:host=%s;dbname=%s",
|
||||
$workspace->dbInfo['DB_ADAPTER'], $hostPort,
|
||||
$workspace->dbInfo['DB_NAME']);
|
||||
$dbh = new PDO(
|
||||
$connectionString,
|
||||
$workspace->dbInfo['DB_USER'],
|
||||
$workspace->dbInfo['DB_PASS']
|
||||
);
|
||||
$dbh->query('UPDATE LIST_CANCELLED SET '
|
||||
. 'USR_ID=(SELECT USR_ID FROM USERS WHERE USERS.USR_UID=LIST_CANCELLED.USR_UID), '
|
||||
. 'PRO_ID=(SELECT PRO_ID FROM PROCESS WHERE PROCESS.PRO_UID=LIST_CANCELLED.PRO_UID);');
|
||||
$dbh->query('UPDATE LIST_COMPLETED SET '
|
||||
. 'USR_ID=(SELECT USR_ID FROM USERS WHERE USERS.USR_UID=LIST_COMPLETED.USR_UID), '
|
||||
. 'PRO_ID=(SELECT PRO_ID FROM PROCESS WHERE PROCESS.PRO_UID=LIST_COMPLETED.PRO_UID)');
|
||||
$dbh->query('UPDATE LIST_INBOX SET '
|
||||
. 'USR_ID=(SELECT USR_ID FROM USERS WHERE USERS.USR_UID=LIST_INBOX.USR_UID), '
|
||||
. 'PRO_ID=(SELECT PRO_ID FROM PROCESS WHERE PROCESS.PRO_UID=LIST_INBOX.PRO_UID);');
|
||||
$dbh->query('UPDATE LIST_MY_INBOX SET '
|
||||
. 'USR_ID=(SELECT USR_ID FROM USERS WHERE USERS.USR_UID=LIST_MY_INBOX.USR_UID), '
|
||||
. 'PRO_ID=(SELECT PRO_ID FROM PROCESS WHERE PROCESS.PRO_UID=LIST_MY_INBOX.PRO_UID);');
|
||||
$dbh->query('UPDATE LIST_PARTICIPATED_HISTORY SET '
|
||||
. 'USR_ID=(SELECT USR_ID FROM USERS WHERE USERS.USR_UID=LIST_PARTICIPATED_HISTORY.USR_UID), '
|
||||
. 'PRO_ID=(SELECT PRO_ID FROM PROCESS WHERE PROCESS.PRO_UID=LIST_PARTICIPATED_HISTORY.PRO_UID);');
|
||||
$dbh->query('UPDATE LIST_PARTICIPATED_LAST SET '
|
||||
. 'USR_ID=(SELECT USR_ID FROM USERS WHERE USERS.USR_UID=LIST_PARTICIPATED_LAST.USR_UID), '
|
||||
. 'PRO_ID=(SELECT PRO_ID FROM PROCESS WHERE PROCESS.PRO_UID=LIST_PARTICIPATED_LAST.PRO_UID);');
|
||||
$dbh->query('UPDATE LIST_PAUSED SET '
|
||||
. 'USR_ID=(SELECT USR_ID FROM USERS WHERE USERS.USR_UID=LIST_PAUSED.USR_UID), '
|
||||
. 'PRO_ID=(SELECT PRO_ID FROM PROCESS WHERE PROCESS.PRO_UID=LIST_PAUSED.PRO_UID);');
|
||||
$dbh->query('UPDATE LIST_UNASSIGNED SET '
|
||||
. 'PRO_ID=(SELECT PRO_ID FROM PROCESS WHERE PROCESS.PRO_UID=LIST_UNASSIGNED.PRO_UID);');
|
||||
$dbh->query('UPDATE LIST_UNASSIGNED_GROUP SET '
|
||||
. 'USR_ID=(SELECT USR_ID FROM USERS WHERE USERS.USR_UID=LIST_UNASSIGNED_GROUP.USR_UID); '
|
||||
);
|
||||
}
|
||||
|
||||
//Done
|
||||
CLI::logging("list-ids\n");
|
||||
}
|
||||
Reference in New Issue
Block a user