protected function _checkForModifications($initialize = false) { return true; // Just disable it for now $currentSignature = $this->_session->currentInstallerSignature; $installedPackages = $this->_packageManager->listInstalledPackages(); $currentInstallerPackage = $installedPackages->offsetGet('core-install'); if (!$currentInstallerPackage || strlen($currentSignature) == 40) { $signature = sha1(file_get_contents(__FILE__)); } else { $signature = $currentInstallerPackage->getVersion(); } // Initialize if (true === $initialize) { $this->_session->currentInstallerSignature = $signature; return true; } else { if ($signature != $this->_session->currentInstallerSignature) { $extractedPackages = $this->_packageManager->listExtractedPackages(); $this->view->extractedPackageKeys = $extractedPackages->getArrayKeys(); $this->view->extractedPackageKeys = array_diff($this->view->extractedPackageKeys, array($extractedPackages->getKeyByGuid('core-install'), $extractedPackages->getKeyByGuid('library-engine'))); $this->_session->unsetAll(); $this->_helper->viewRenderer->renderScript('_installerUpdated.tpl'); return false; } } // Was not updated return true; }
public function diffAction() { if ($this->_getParam('hideIdentifiers')) { $this->view->layout()->hideIdentifiers = true; } $left = $this->_getParam('left'); $right = $this->_getParam('right'); $file = $this->_getParam('file'); $packageKey = $this->_getParam('package'); $type = $this->_getParam('type', 'inline'); $show = $this->_getParam('show', 0); // Left/right mode if ($left && $right) { // Calculate base file? $file = ''; for ($il = strlen($left) - 1, $ir = strlen($right) - 1; $il >= 0 && $ir >= 0; $il--, $ir--) { if ($left[$il] === $right[$ir]) { $file = $left[$il] . $file; } else { break; } } $file = trim($file, '/\\'); // Add base path if ($left[0] != '/' && $left[0] != '\\') { $left = APPLICATION_PATH . DIRECTORY_SEPARATOR . $left; } if ($right[0] != '/' && $right[0] != '\\') { $right = APPLICATION_PATH . DIRECTORY_SEPARATOR . $right; } // Make sure it's within the installation if (0 !== strpos($left, APPLICATION_PATH) || 0 !== strpos($right, APPLICATION_PATH)) { throw new Engine_Exception('Not within the installation'); } } else { if ($file && $packageKey) { $package = $this->_packageManager->listExtractedPackages()->offsetGet($packageKey); if (!$package) { throw new Engine_Exception('Package does not exist.'); } $left = $package->getBasePath() . DIRECTORY_SEPARATOR . ltrim($file, '/\\'); $right = APPLICATION_PATH . DIRECTORY_SEPARATOR . ltrim($file, '/\\'); } else { return; } } // Must have at least left or right if (!$left && !$right) { return; } else { if (!file_exists($left) && !file_exists($right)) { return; } } // Assign $this->view->file = $file; $this->view->left = $left; $this->view->right = $right; // Options $this->view->type = $type; $this->view->showEverything = $show; $arr = array(); parse_str($_SERVER['QUERY_STRING'], $arr); $this->view->parts = $arr; // Diff include_once 'Text/Diff.php'; include_once 'Text/Diff/Renderer.php'; include_once 'Text/Diff/Renderer/context.php'; include_once 'Text/Diff/Renderer/inline.php'; include_once 'Text/Diff/Renderer/unified.php'; $this->view->textDiff = $textDiff = new Text_Diff('native', array(file_exists($left) ? file($left, FILE_IGNORE_NEW_LINES) : array(), file_exists($right) ? file($right, FILE_IGNORE_NEW_LINES) : array())); }