亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? controller.php

?? 一款可以和GOOGLE媲美的開源統計系統,運用AJAX.功能強大. 無色提示:按照需要PHP5.1以上和MySQL數據庫支持。
?? PHP
字號:
<?php
/**
 * Piwik - Open source web analytics
 * 
 * @link http://piwik.org
 * @license http://www.gnu.org/licenses/gpl-3.0.html Gpl v3 or later
 * @version $Id: Controller.php 673 2008-11-04 13:03:15Z matt $
 * 
 * @package Piwik_Installation
 */

require_once "View.php";
require_once "Installation/View.php";

/**
 * 
 * @package Piwik_Installation
 */
class Piwik_Installation_Controller extends Piwik_Controller
{
	// public so plugins can add/delete installation steps
	public $steps = array(
			'welcome',
			'systemCheck',
			'databaseSetup',
			'tablesCreation',
			'generalSetup',
			'firstWebsiteSetup',
			'displayJavascriptCode',
			'finished'
		);
		
	protected $pathView = 'Installation/templates/';
	
	public function __construct()
	{
		if(!isset($_SESSION['currentStepDone'])) 
		{
			$_SESSION['currentStepDone'] = '';
		}
		
		Piwik_PostEvent('InstallationController.construct', $this);
	}
	
	public function getInstallationSteps()
	{
		return $this->steps;
	}
	
	function getDefaultAction()
	{
		return $this->steps[0];
	}
	
	function welcome()
	{		Piwik_Login_Controller::clearSession();		
		$view = new Piwik_Install_View(
						$this->pathView . 'welcome.tpl', 
						$this->getInstallationSteps(),
						__FUNCTION__
					);
		$this->skipThisStep( __FUNCTION__ );
		$view->showNextStep = true;
		
		$_SESSION['currentStepDone'] = __FUNCTION__;		
		echo $view->render();
	}
	
	function systemCheck()
	{
		$view = new Piwik_Install_View(
						$this->pathView . 'systemCheck.tpl', 
						$this->getInstallationSteps(),
						__FUNCTION__
					);
		$this->checkPreviousStepIsValid( __FUNCTION__ );
		$this->skipThisStep( __FUNCTION__ );
		
		$view->infos = $this->getSystemInformation();
		$view->problemWithSomeDirectories = (false !== array_search(false, $view->infos['directories']));
		
		$view->showNextStep = !$view->problemWithSomeDirectories 
							&& $view->infos['phpVersion_ok']
							&& $view->infos['pdo_ok']
							&& $view->infos['pdo_mysql_ok']

						;
		$_SESSION['currentStepDone'] = __FUNCTION__;		

		echo $view->render();
	}
	
	
	function databaseSetup()
	{
		// case the user hits the back button
		$_SESSION['skipThisStep']['firstWebsiteSetup'] = false;
		$_SESSION['skipThisStep']['displayJavascriptCode'] = false;
		
		$view = new Piwik_Install_View(
						$this->pathView . 'databaseSetup.tpl', 
						$this->getInstallationSteps(),
						__FUNCTION__
					);
		$this->checkPreviousStepIsValid( __FUNCTION__ );
		$this->skipThisStep( __FUNCTION__ );
					
		$view->showNextStep = false;
		require_once "FormDatabaseSetup.php";
		$form = new Piwik_Installation_FormDatabaseSetup;
		
		if($form->validate())
		{
			$dbInfos = array(
				'host' 			=> $form->getSubmitValue('host'),
				'username' 		=> $form->getSubmitValue('username'),
				'password' 		=> $form->getSubmitValue('password'),
				'dbname' 		=> $form->getSubmitValue('dbname'),
				'tables_prefix' => $form->getSubmitValue('tables_prefix'),
				'adapter' 		=> Zend_Registry::get('config')->database->adapter,
				'port'			=> Zend_Registry::get('config')->database->port,
			);
			
			$dbInfos['password'] = '"'.htmlspecialchars($form->getSubmitValue('password')).'"';
			
			if(($portIndex = strpos($dbInfos['host'],':')) !== false)
			{
				$dbInfos['port'] = substr($dbInfos['host'], $portIndex + 1 );
				$dbInfos['host'] = substr($dbInfos['host'], 0, $portIndex);
			}
							try{ 				try {					Piwik::createDatabaseObject($dbInfos);				} catch (Zend_Db_Adapter_Exception $e) {					// database not found, we try to create  it					if(ereg('[1049]',$e->getMessage() ))					{						$dbInfosConnectOnly = $dbInfos;						$dbInfosConnectOnly['dbname'] = null;						Piwik::createDatabaseObject($dbInfosConnectOnly);						Piwik::createDatabase($dbInfos['dbname']);						$_SESSION['databaseCreated'] = true;					}				}								$mysqlVersion = Piwik::getMysqlVersion();				$minimumMysqlVersion = Zend_Registry::get('config')->General->minimum_mysql_version;				if(version_compare($mysqlVersion, $minimumMysqlVersion) === -1) 				{					throw new Exception(vsprintf("Your MySQL version is %s but Piwik requires at least %s.", array($mysqlVersion, $minimumMysqlVersion)));				}				
				$_SESSION['db_infos'] = $dbInfos;				$this->redirectToNextStep( __FUNCTION__ );
			} catch(Exception $e) {
				$view->errorMessage = $e->getMessage();
			}
		}
		$view->addForm($form);
		
		$view->infos = $this->getSystemInformation();
			
		echo $view->render();
	}
	
	function tablesCreation()
	{
		$view = new Piwik_Install_View(
						$this->pathView . 'tablesCreation.tpl', 
						$this->getInstallationSteps(),
						__FUNCTION__
					);
		$this->checkPreviousStepIsValid( __FUNCTION__ );
		$this->skipThisStep( __FUNCTION__ );
		$this->createDbFromSessionInformation();
		
		if(Piwik_Common::getRequestVar('deleteTables', 0, 'int') == 1)
		{
			Piwik::dropTables();
			$view->existingTablesDeleted = true;
			
			// when the user decides to drop the tables then we dont skip the next steps anymore
			$_SESSION['skipThisStep']['firstWebsiteSetup'] = false;
			$_SESSION['skipThisStep']['displayJavascriptCode'] = false;
		}
		
		$tablesInstalled = Piwik::getTablesInstalled();
		$tablesToInstall = Piwik::getTablesNames();
		
		if(count($tablesInstalled) > 0)
		{
			$view->someTablesInstalled = true;
			$view->tablesInstalled = implode(", ", $tablesInstalled);
			
			// when the user reuses the same tables we skip the website creation step
			$_SESSION['skipThisStep']['firstWebsiteSetup'] = true;
			$_SESSION['skipThisStep']['displayJavascriptCode'] = true;
		}
		else
		{
			Piwik::createTables();
			Piwik::createAnonymousUser();
			require_once "Version.php";			require_once "Updater.php";
			$updater = new Piwik_Updater();			$updater->recordComponentSuccessfullyUpdated('core', Piwik_Version::VERSION);
			$view->tablesCreated = true;
			$view->showNextStep = true;
		}
				if(isset($_SESSION['databaseCreated'])			&& $_SESSION['databaseCreated'] === true)		{			$view->databaseName = $_SESSION['db_infos']['dbname'];			$view->databaseCreated = true;			$_SESSION['databaseCreated'] = null;		}		
		$_SESSION['currentStepDone'] = __FUNCTION__;
		echo $view->render();
	}
	
	function generalSetup()
	{		
		$view = new Piwik_Install_View(
						$this->pathView . 'generalSetup.tpl', 
						$this->getInstallationSteps(),
						__FUNCTION__
					);
		$this->checkPreviousStepIsValid( __FUNCTION__ );
		$this->skipThisStep( __FUNCTION__ );
		
		require_once "FormGeneralSetup.php";
		$form = new Piwik_Installation_FormGeneralSetup;
		
		if($form->validate())
		{			
			$superUserInfos = array(
				'login' 		=> $form->getSubmitValue('login'),
				'password' 		=> md5( $form->getSubmitValue('password') ),
				'email' 		=> $form->getSubmitValue('email'),
			);
			
			$_SESSION['superuser_infos'] = $superUserInfos;
			$this->redirectToNextStep( __FUNCTION__ );
		}
		$view->addForm($form);
			
		echo $view->render();
	}
	
	public function firstWebsiteSetup()
	{
				
		$view = new Piwik_Install_View(
						$this->pathView . 'firstWebsiteSetup.tpl', 
						$this->getInstallationSteps(),
						__FUNCTION__
					);
		$this->checkPreviousStepIsValid( __FUNCTION__ );
		$this->skipThisStep( __FUNCTION__ );
		
		require_once "FormFirstWebsiteSetup.php";
		$form = new Piwik_Installation_FormFirstWebsiteSetup;
		
		if( !isset($_SESSION['generalSetupSuccessMessage']))
		{
			$view->displayGeneralSetupSuccess = true;
			$_SESSION['generalSetupSuccessMessage'] = true;
		}
		
		if($form->validate())
		{
			// we setup the superuser login & password in the config that will be checked by the
			// API authentication process
			Zend_Registry::get('config')->superuser = $_SESSION['superuser_infos'];
			
			$name = urlencode($form->getSubmitValue('siteName'));
			$url = urlencode($form->getSubmitValue('url'));
			
			$this->initObjectsToCallAPI();
						
			require_once "API/Request.php";
			$request = new Piwik_API_Request("
							method=SitesManager.addSite
							&siteName=$name
							&urls=$url
							&format=original
						");
						
			try {
				$result = $request->process();
				$_SESSION['site_idSite'] = $result;
				$_SESSION['site_name'] = $name;
				$_SESSION['site_url'] = $url;
				
				$this->redirectToNextStep( __FUNCTION__ );
			} catch(Exception $e) {
				$view->errorMessage = $e->getMessage();
			}

		}
		$view->addForm($form);
		echo $view->render();
	}	
	public function displayJavascriptCode()
	{
		$view = new Piwik_Install_View(
						$this->pathView . 'displayJavascriptCode.tpl', 
						$this->getInstallationSteps(),
						__FUNCTION__
					);
		$this->checkPreviousStepIsValid( __FUNCTION__ );
		$this->skipThisStep( __FUNCTION__ );
		
		if( !isset($_SESSION['firstWebsiteSetupSuccessMessage']))
		{
			$view->displayfirstWebsiteSetupSuccess = true;
			$_SESSION['firstWebsiteSetupSuccessMessage'] = true;
		}
		
		
		$view->websiteName = urldecode($_SESSION['site_name']);
		
		$jsTag = Piwik::getJavascriptCode($_SESSION['site_idSite'], Piwik_Url::getCurrentUrlWithoutFileName());
		
		$view->javascriptTag = $jsTag;
		$view->showNextStep = true;
		
		$_SESSION['currentStepDone'] = __FUNCTION__;
		echo $view->render();
	}
	
	public function finished()
	{
		$view = new Piwik_Install_View(
						$this->pathView . 'finished.tpl', 
						$this->getInstallationSteps(),
						__FUNCTION__
					);
		$this->checkPreviousStepIsValid( __FUNCTION__ );
		$this->skipThisStep( __FUNCTION__ );
		$this->writeConfigFileFromSession();
		
		$_SESSION['currentStepDone'] = __FUNCTION__;		
		$view->showNextStep = false;
		
	    setcookie(session_name(), session_id(), 1, '/');
		@session_destroy();	
		echo $view->render();
	}
	
	protected function initObjectsToCallAPI()
	{
		// connect to the database using the DB infos currently in the session
		$this->createDbFromSessionInformation();

		// create the fake access to grant super user privilege
		Zend_Registry::set('access', new Piwik_FakeAccess_SetSuperUser);
		
		// we need to create the logs otherwise the API request throws an exception
		Piwik::createLogObject();
	}
	
	protected function writeConfigFileFromSession()
	{		if(!isset($_SESSION['superuser_infos'])			|| !isset($_SESSION['db_infos']))		{			return;		}
		$configFile = "; <?php exit; ?> DO NOT REMOVE THIS LINE\n";
		$configFile .= "; file automatically generated during the piwik installation process\n";
		
		// super user information
		$configFile .= "[superuser]\n";
		foreach( $_SESSION['superuser_infos'] as $key => $value)
		{
			$configFile .= "$key = $value\n";
		}
		$configFile .= "\n";
		
		// database information
		$configFile .= "[database]\n";
		foreach($_SESSION['db_infos'] as  $key => $value)
		{
			$configFile .= "$key = $value\n";
		}
		
		file_put_contents(Piwik_Config::getDefaultUserConfigPath(), $configFile);
	}
	/**
	 * The previous step is valid if it is either 
	 * - any step before (OK to go back)
	 * - the current step (case when validating a form)
	 */
	function checkPreviousStepIsValid( $currentStep )
	{		if(empty($_SESSION['currentStepDone']))		{			return;		}
		// the currentStep
		$currentStepId = array_search($currentStep, $this->steps);
		
		// the step before
		$previousStepId = array_search($_SESSION['currentStepDone'], $this->steps);
		// not OK if currentStepId > previous+1
		if( $currentStepId > $previousStepId + 1 )
		{
			$message = "Error: it seems you try to skip a step of the Installation process, 
						or your cookies are disabled. 
						<br /><b>Make sure your cookies are enabled</b> and go back 
						<a href='".Piwik_Url::getCurrentUrlWithoutFileName()."'>
						to the first page of the installation</a>.";
			Piwik::exitWithErrorMessage( $message );
		}		
	}

	protected function redirectToNextStep($currentStep)
	{
		$_SESSION['currentStepDone'] = $currentStep;
		$nextStep = $this->steps[1 + array_search($currentStep, $this->steps)];
		Piwik::redirectToModule('Installation' , $nextStep);
	}
	
	protected function createDbFromSessionInformation()
	{
		$dbInfos = $_SESSION['db_infos'];
		
		Zend_Registry::get('config')->database = $dbInfos;
		Piwik::createDatabaseObject($dbInfos);
	}
	
	protected function getSystemInformation()
	{
		$minimumPhpVersion = Zend_Registry::get('config')->General->minimum_php_version;
		$minimumMemoryLimit = Zend_Registry::get('config')->General->minimum_memory_limit;
		
		$infos = array();
	
		$infos['directories'] = Piwik::checkDirectoriesWritable();
		$infos['phpVersion_minimum'] = $minimumPhpVersion;
		$infos['phpVersion'] = phpversion();
		$infos['phpVersion_ok'] = version_compare( $minimumPhpVersion, $infos['phpVersion']) === -1;
		
		$extensions = @get_loaded_extensions();
		
		$infos['pdo_ok'] = false;
		if (in_array('PDO', $extensions))  
		{
		    $infos['pdo_ok'] = true;
		}
				
		$infos['pdo_mysql_ok'] = false;
		if (in_array('pdo_mysql', $extensions))  
		{
		    $infos['pdo_mysql_ok'] = true;
		}
				$infos['gd_ok'] = false;
		if (in_array('gd', $extensions)) 
		{
		    $gdInfo = gd_info();
			$infos['gd_version'] = $gdInfo['GD Version'];
		    ereg ("([0-9]{1})", $gdInfo['GD Version'], $gdVersion);
		    if($gdVersion[0] >= 2) 
		    {
				$infos['gd_ok'] = true;
		    }
		}
			
		$infos['serverVersion'] = addslashes($_SERVER['SERVER_SOFTWARE']);
		$infos['serverOs'] = @php_uname();
		$infos['serverTime'] = date('H:i:s');

		$infos['setTimeLimit_ok'] = false;
		if(function_exists( 'set_time_limit'))
		{
			$infos['setTimeLimit_ok'] = true;
		}

		$infos['mail_ok'] = false;
		if(function_exists('mail'))
		{
			$infos['mail_ok'] = true;
		}
		
		$infos['registerGlobals_ok'] = ini_get('register_globals') == 0;
		$infos['memoryMinimum'] = $minimumMemoryLimit;
		
		$infos['memory_ok'] = true;
		// on windows the ini_get is not working?
		$infos['memoryCurrent'] = '?M';

		$raised = Piwik::raiseMemoryLimitIfNecessary();
		if(	$memoryValue = Piwik::getMemoryLimitValue() )
		{
			$infos['memoryCurrent'] = $memoryValue."M";
			$infos['memory_ok'] = $memoryValue >= $minimumMemoryLimit;
		}
		
		return $infos;
	}		protected function skipThisStep( $step )	{		if(isset($_SESSION['skipThisStep'][$step])			&& $_SESSION['skipThisStep'][$step])		{			$this->redirectToNextStep($step);		}	}
}


/**
 * 
 * @package Piwik_Installation
 */
class Piwik_FakeAccess_SetSuperUser {
	function checkUserIsSuperUser()
	{
		return true;
	}
	function loadAccess() {}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区中文日韩| 一区二区三区中文字幕| 日韩一区国产二区欧美三区| 91蝌蚪国产九色| 精品视频在线视频| 日韩午夜激情免费电影| 2023国产精品| 亚洲欧美国产毛片在线| 一区二区三区资源| 另类人妖一区二区av| 久久精工是国产品牌吗| 国产精品自拍毛片| 欧美专区日韩专区| 欧美成人aa大片| 日韩美女视频19| 美女视频黄 久久| 成人午夜碰碰视频| 欧美一个色资源| 国产精品福利影院| 国产另类ts人妖一区二区| 国产精品你懂的在线| 欧美一区国产二区| 欧美精品一区二区高清在线观看| 26uuu国产在线精品一区二区| 成人欧美一区二区三区黑人麻豆 | 日韩精品一区二区三区在线播放| 久久久久久久久一| 亚洲图片欧美综合| 欧美精品在线观看一区二区| 国产欧美在线观看一区| 亚洲综合在线第一页| 成人高清视频免费观看| 4438成人网| 亚洲高清免费一级二级三级| 丁香亚洲综合激情啪啪综合| 69精品人人人人| 最新中文字幕一区二区三区| 国产成人亚洲精品狼色在线| 日韩精品一区二| 九九九精品视频| 精品欧美乱码久久久久久1区2区| 午夜视频在线观看一区二区| 在线不卡的av| 精久久久久久久久久久| 日韩免费观看高清完整版| 美国毛片一区二区| 中文字幕精品三区| 国产一区二区精品久久91| 国产亚洲综合色| 国产成人精品在线看| 成人免费一区二区三区视频| 成人av电影免费在线播放| 一区二区欧美在线观看| 欧美美女激情18p| 国产一区91精品张津瑜| 亚洲特黄一级片| 91精品国产一区二区三区蜜臀| 精品一二线国产| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 一区二区三区中文字幕| 日韩欧美一区二区免费| 国产a区久久久| 秋霞电影一区二区| 亚洲精品乱码久久久久久黑人| 欧美一卡二卡三卡| 色呦呦网站一区| 国产一区二区在线影院| 亚洲精品久久久蜜桃| 精品久久久久久久一区二区蜜臀| 91女神在线视频| 国产99久久精品| 国产精品中文字幕日韩精品| 亚洲国产欧美一区二区三区丁香婷| 精品久久久久av影院| 欧美日韩不卡在线| 色综合天天狠狠| 91在线观看美女| av动漫一区二区| 国产一区二区在线电影| 亚洲美女屁股眼交3| 91香蕉视频污| 秋霞午夜av一区二区三区| 亚洲男女一区二区三区| 久久先锋影音av| 欧美一区二区三区四区高清| 91免费小视频| av在线不卡免费看| 不卡电影免费在线播放一区| 风流少妇一区二区| 成人免费毛片片v| 99国产精品久久久久久久久久 | 本田岬高潮一区二区三区| 国产一区二区三区在线观看免费视频 | 亚洲激情自拍视频| 亚洲一区二区在线免费观看视频 | thepron国产精品| 91欧美一区二区| 7777精品伊人久久久大香线蕉超级流畅| 欧美性生交片4| 欧美不卡在线视频| 国产日韩成人精品| 亚洲九九爱视频| 日本麻豆一区二区三区视频| 久久精品国产亚洲5555| av不卡在线播放| 91精品国产综合久久香蕉麻豆 | 麻豆成人在线观看| 成人激情综合网站| 欧美一级xxx| 一二三四社区欧美黄| 国产精品一二三四| 欧美日韩免费观看一区三区| 国产亚洲欧美日韩日本| 亚洲综合精品久久| 粉嫩aⅴ一区二区三区四区| 欧美日韩不卡一区| 洋洋av久久久久久久一区| 老司机午夜精品| 欧美一区二区免费| 亚洲3atv精品一区二区三区| aaa亚洲精品一二三区| 精品国产乱码久久久久久免费| 一区二区欧美精品| 色综合久久久久网| 国产精品久久三区| 国产一区二区三区久久久| 欧美一区二区视频在线观看| 日本一区二区三区在线不卡| 国产一区二区三区在线观看免费视频| 欧美性极品少妇| 午夜在线成人av| 欧美片在线播放| 婷婷综合久久一区二区三区| 欧美日韩免费视频| 久久99国产精品成人| 精品粉嫩aⅴ一区二区三区四区| 捆绑调教一区二区三区| 欧美白人最猛性xxxxx69交| 国产一区二区三区四区五区入口 | 狠狠色狠狠色合久久伊人| 精品久久久久久最新网址| 国产中文一区二区三区| 国产清纯白嫩初高生在线观看91 | 丁香婷婷深情五月亚洲| 风间由美一区二区av101| 亚洲国产精品精华液2区45| www.亚洲激情.com| 亚洲国产裸拍裸体视频在线观看乱了 | 成人小视频免费观看| 一区二区高清免费观看影视大全| 欧美色手机在线观看| 韩国视频一区二区| 亚洲一区免费观看| xnxx国产精品| 精品视频在线免费| 国产麻豆视频一区二区| 亚洲国产毛片aaaaa无费看| 精品国免费一区二区三区| 91蜜桃在线观看| 激情综合五月天| 亚洲成人动漫精品| 日韩久久一区二区| 国产日韩欧美a| 欧美精品一区二区三区蜜桃视频| 91性感美女视频| 国产精品白丝av| 黑人巨大精品欧美黑白配亚洲| 亚洲激情六月丁香| 久久久久久亚洲综合影院红桃| 欧美美女网站色| 欧美日韩一区不卡| 欧美三级电影精品| 一本一本大道香蕉久在线精品| 丁香激情综合国产| 国产成人精品三级| 国产成人自拍在线| 国产乱码精品一区二区三区忘忧草 | 国产一区二区中文字幕| 精品一区二区三区欧美| 精品在线播放免费| 国产精品亚洲成人| 99在线精品一区二区三区| av影院午夜一区| 在线免费观看不卡av| 欧美色网站导航| 亚洲精品在线观看网站| 欧美激情一区二区三区| 国产视频一区二区在线观看| 亚洲国产精品黑人久久久| 中文字幕一区二区三区蜜月| 亚洲精品少妇30p| 日韩激情中文字幕| 国产高清亚洲一区| 欧美综合久久久| 久久久国产午夜精品| 亚洲欧美激情插| 日本欧美韩国一区三区| 国产成人精品影院| 欧美三级电影精品| 中文一区在线播放|