Root/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | <?php /* -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* # ***** BEGIN LICENSE BLOCK ***** # This file is part of InDefero, an open source project management application. # Copyright (C) 2008-2011 Céondo Ltd and contributors. # # InDefero is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # InDefero 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 General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # # ***** END LICENSE BLOCK ***** */ /** * Add the new IDF_IssueRelation model. * */ function IDF_Migrations_17AddIssueRelations_up( $params =null) { $db = Pluf::db(); $schema = new Pluf_DB_Schema( $db ); $schema ->model = new IDF_IssueRelation(); $schema ->createTables(); // change the serialization format for added / removed labels in IDF_IssueComment $comments = Pluf::factory( 'IDF_IssueComment' )->getList(); foreach ( $comments as $comment ) { if (!isset( $comment ->changes[ 'lb' ])) continue ; $changes = $comment ->changes; $adds = $removals = array (); foreach ( $comment ->changes[ 'lb' ] as $lb ) { if ( substr ( $lb , 0, 1) == '-' ) $removals [] = substr ( $lb , 1); else $adds [] = $lb ; } $changes [ 'lb' ] = array (); if ( count ( $adds ) > 0) $changes [ 'lb' ][ 'add' ] = $adds ; if ( count ( $removals ) > 0) $changes [ 'lb' ][ 'rem' ] = $removals ; $comment ->changes = $changes ; $comment ->update(); } } function IDF_Migrations_17AddIssueRelations_down( $params =null) { $db = Pluf::db(); $schema = new Pluf_DB_Schema( $db ); $schema ->model = new IDF_IssueRelation(); $schema ->dropTables(); // change the serialization format for added / removed labels in IDF_IssueComment $comments = Pluf::factory( 'IDF_IssueComment' )->getList(); foreach ( $comments as $comment ) { $changes = $comment ->changes; if ( empty ( $changes )) continue ; if (isset( $changes [ 'lb' ])) { $labels = array (); foreach ( $changes [ 'lb' ] as $type => $lbs ) { if (! is_array ( $lbs )) { $labels [] = $lbs ; continue ; } foreach ( $lbs as $lb ) { $labels [] = ( $type == 'rem' ? '-' : '' ) . $lb ; } } $changes [ 'lb' ] = $labels ; } // while we're at it, remove any 'rel' changes unset( $changes [ 'rel' ]); $comment ->changes = $changes ; $comment ->update(); } } |
Source at commit a3ac0b28bf15 created 11 years 5 months ago. By "Nathan Adams ", Removing uneeded comments |
---|