public function createVersionFile($description = '', $prefix = '')
 {
     $description = $this->purifyDescriptionForFile($description);
     $prefix = $this->preparePrefix($prefix);
     $originTz = date_default_timezone_get();
     date_default_timezone_set('Europe/Moscow');
     $ts = date('YmdHis');
     date_default_timezone_set($originTz);
     $versionName = $prefix . $ts;
     list($extendUse, $extendClass) = explode(' as ', $this->getConfigVal('migration_extend_class'));
     $extendUse = trim($extendUse);
     $extendClass = trim($extendClass);
     if (!empty($extendClass)) {
         $extendUse = 'use ' . $extendUse . ' as ' . $extendClass . ';' . PHP_EOL;
     } else {
         $extendClass = $extendUse;
         $extendUse = '';
     }
     $str = $this->renderFile($this->getConfigVal('migration_template'), array('version' => $versionName, 'description' => $description, 'extendUse' => $extendUse, 'extendClass' => $extendClass));
     $file = $this->getVersionFile($versionName);
     file_put_contents($file, $str);
     if (!is_file($file)) {
         Out::outError('%s, error: can\'t create a file "%s"', $versionName, $file);
         return false;
     }
     return $this->getVersionMeta($versionName);
 }
Пример #2
0
 public function createMigrationFile($description = '')
 {
     $description = preg_replace("/\r\n|\r|\n/", '<br/>', $description);
     $description = strip_tags($description);
     $description = addslashes($description);
     $originTz = date_default_timezone_get();
     date_default_timezone_set('Europe/Moscow');
     $version = 'Version' . date('YmdHis');
     date_default_timezone_set($originTz);
     $str = $this->renderVersionFile(array('version' => $version, 'description' => $description));
     $file = $this->getFileName($version);
     file_put_contents($file, $str);
     if (is_file($file)) {
         Out::out('%s created', $version);
         return $version;
     } else {
         Out::out('%s, error: can\'t create a file "%s"', $version, $file);
         return false;
     }
 }
                ?>
"><?php 
                echo $aItem['version'];
                ?>
</span>
                    <?php 
            }
            ?>
                    <?php 
            if (!empty($aItem['description'])) {
                if ($taskUrl && false !== strpos($taskUrl, '$1')) {
                    $aItem['description'] = preg_replace('/#(\\d+)/', '<a target="_blank" href="' . $taskUrl . '">#$1</a>', $aItem['description']);
                }
                ?>
                        <?php 
                echo \Sprint\Migration\Out::prepareToHtml($aItem['description']);
                ?>
                    <?php 
            }
            ?>
                </td>
            </tr>
        <?php 
        }
        ?>
        </table>
    <?php 
    } else {
        ?>
        <?php 
        echo GetMessage('SPRINT_MIGRATION_LIST_EMPTY');
Пример #4
0
 public function createVersionFile($description = '')
 {
     $description = $this->prepareDescription($description);
     $originTz = date_default_timezone_get();
     date_default_timezone_set('Europe/Moscow');
     $versionName = 'Version' . date('YmdHis');
     date_default_timezone_set($originTz);
     list($extendUse, $extendClass) = explode(' as ', Module::getMigrationExtendClass());
     $extendUse = trim($extendUse);
     $extendClass = trim($extendClass);
     if (!empty($extendClass)) {
         $extendUse = 'use ' . $extendUse . ' as ' . $extendClass . ';' . PHP_EOL;
     } else {
         $extendClass = $extendUse;
         $extendUse = '';
     }
     $str = $this->renderFile(Module::getMigrationTemplate(), array('version' => $versionName, 'description' => $description, 'extendUse' => $extendUse, 'extendClass' => $extendClass));
     $file = $this->getVersionFile($versionName);
     file_put_contents($file, $str);
     if (!is_file($file)) {
         Out::outError('%s, error: can\'t create a file "%s"', $versionName, $file);
         return false;
     }
     return array('version' => $versionName, 'location' => $file, 'description' => $description);
 }