/** * Validate that the Gdata component of Zend Framework is installed * properly. Also checks that the required YouTube API helper methods are * found. * * @return boolean False if there were errors. */ private function validateZendFrameworkInstallation() { $zendFrameworkInstallationErrors = array(); $zendLoaderPresent = false; try { $zendLoaderPresent = @fopen('Zend/Loader.php', 'r', true); } catch (Exception $e) { $zendFrameworkInstallationErrors[] = 'Exception thrown trying to ' . 'access Zend/Loader.php using \'use_include_path\' = true ' . 'Make sure you include the Zend Framework in your ' . 'include_path which currently contains: "' . ini_get('include_path') . '"'; } if ($zendLoaderPresent) { @fclose($zendLoaderPresent); require_once 'Zend/Loader.php'; require_once 'Zend/Version.php'; Zend_Loader::loadClass('Zend_Gdata_YouTube'); Zend_Loader::loadClass('Zend_Gdata_YouTube_VideoEntry'); $yt = new Zend_Gdata_YouTube(); $videoEntry = $yt->newVideoEntry(); if (!method_exists($videoEntry, 'setVideoTitle')) { $zendFrameworkMessage = 'Your version of the ' . 'Zend Framework ' . Zend_Version::VERSION . ' is too old' . ' to run the YouTube demo application and does not' . ' contain the new helper methods. Please check out a' . ' newer version from Zend\'s repository: ' . checkAndAddHTMLLink(self::ZEND_SUBVERSION_URI); $zendFrameworkInstallationErrors[] = $zendFrameworkMessage; } } else { if (count($zendFrameworkInstallationErrors) < 1) { $zendFrameworkInstallationErrors[] = 'Exception thrown trying' . ' to access Zend/Loader.php using \'use_include_path\' =' . ' true. Make sure you include Zend Framework in your' . ' include_path which currently contains: ' . ini_get('include_path'); } } $this->_allErrors[self::ZEND_GDATA_INSTALL_ERRORS]['tested'] = true; if (count($zendFrameworkInstallationErrors) > 0) { $this->_allErrors[self::ZEND_GDATA_INSTALL_ERRORS]['errors'] = $zendFrameworkInstallationErrors; return false; } return true; }