magallanes/Mage/Command/BuiltIn/Install.php

56 lines
1.7 KiB
PHP
Raw Normal View History

2011-11-28 03:18:43 +01:00
<?php
class Mage_Task_Install
{
public function run ()
{
Mage_Console::output('Installing <dark_gray>Magallanes</dark_gray>... ', 1, 0);
2012-01-10 21:21:31 +01:00
$this->_recursiveCopy('./', '/opt/magallanes-' . MAGALLANES_VERSION);
if (file_exists('/opt/magallanes') && is_link('/opt/magallanes')) {
unlink('/opt/magallanes');
}
symlink('/opt/magallanes-' . MAGALLANES_VERSION, '/opt/magallanes');
2011-11-28 03:18:43 +01:00
chmod('/opt/magallanes/bin/mage', 0755);
if (!file_exists('/usr/bin/mage')) {
2012-01-10 21:21:31 +01:00
symlink('/opt/magallanes/bin/mage', '/usr/bin/mage');
2011-11-28 03:18:43 +01:00
}
2012-01-10 21:21:31 +01:00
2011-11-28 03:18:43 +01:00
Mage_Console::output('<light_green>Success!</light_green>', 0, 2);
}
private function _recursiveCopy ($from, $to)
{
if (is_dir($from)) {
mkdir($to);
$files = scandir($from);
if (count($files) > 0) {
foreach ($files as $file) {
if (strpos($file, '.') === 0) {
continue;
}
if (is_dir($from . DIRECTORY_SEPARATOR . $file)) {
$this->_recursiveCopy(
$from . DIRECTORY_SEPARATOR . $file,
$to . DIRECTORY_SEPARATOR . $file
);
} else {
copy(
$from . DIRECTORY_SEPARATOR . $file,
$to . DIRECTORY_SEPARATOR . $file
);
}
}
}
return true;
} elseif (is_file($from)) {
return copy($from, $to);
} else {
return false;
}
}
}