diff options
Diffstat (limited to 'views/installation')
23 files changed, 554 insertions, 0 deletions
diff --git a/views/installation/forms/install/template.php b/views/installation/forms/install/template.php new file mode 100644 index 000000000..a01914f12 --- /dev/null +++ b/views/installation/forms/install/template.php @@ -0,0 +1,30 @@ +<?php +/** + * Generic form template for install forms + * + * @uses $vars['variables'] + * @uses $vars['type'] Type of form: admin, database, settings + */ + +$variables = $vars['variables']; +$type = $vars['type']; + +$form_body = ''; +foreach ($variables as $field => $params) { +	$label = elgg_echo("install:$type:label:$field"); +	$help = elgg_echo("install:$type:help:$field"); +	$params['name'] = $field; + +	$form_body .= '<div>'; +	$form_body .= "<label>$label</label>"; +	$form_body .= elgg_view("input/{$params['type']}", $params); +	$form_body .= "<span class=\"install-help\">$help</span>"; +	$form_body .= '</div>'; +} + +$submit_params = array( +	'value' => elgg_echo('install:next'), +); +$form_body .= elgg_view('input/submit', $submit_params); + +echo $form_body; diff --git a/views/installation/input/access.php b/views/installation/input/access.php new file mode 100644 index 000000000..c3d4713bc --- /dev/null +++ b/views/installation/input/access.php @@ -0,0 +1,38 @@ +<?php +/** + * Elgg access level input + * Displays a dropdown input field + * + * @uses $vars['value'] The current value, if any + * @uses $vars['name'] The name of the input field + * + */ + +$class = "elgg-input-access"; + +if ((!isset($vars['options'])) || (!is_array($vars['options']))) { +	$vars['options'] = array(); +	$vars['options'] = get_write_access_array(); +} + +if (is_array($vars['options']) && sizeof($vars['options']) > 0) { + +	?> + +	<select name="<?php echo $vars['name']; ?>" class="<?php echo $class; ?>"> +	<?php + +		foreach($vars['options'] as $key => $option) { +			if ($key != $vars['value']) { +				echo "<option value=\"{$key}\">{$option}</option>"; +			} else { +				echo "<option value=\"{$key}\" selected=\"selected\">{$option}</option>"; +			} +		} + +	?> +	</select> + +	<?php + +} diff --git a/views/installation/input/button.php b/views/installation/input/button.php new file mode 100644 index 000000000..ec90fed9d --- /dev/null +++ b/views/installation/input/button.php @@ -0,0 +1,40 @@ +<?php +/** + * Create a input button + * + * @uses $vars['value'] The current value, if any + * @uses $vars['name'] The name of the input field + * @uses $vars['type'] submit or button. + */ + +if (isset($vars['class'])) { +	$class = $vars['class']; +} else { +	$class = "elgg-button-submit"; +} + +if (isset($vars['name'])) { +	$name = $vars['name']; +} else { +	$name = ''; +} + +if (isset($vars['type'])) { +	$type = strtolower($vars['type']); +} else { +	$type = 'submit'; +} + +switch ($type) { +	case 'button' : +		$type='button'; +		break; +	case 'submit': +	default: +		$type = 'submit'; +} + +$value = htmlentities($vars['value'], ENT_QUOTES, 'UTF-8'); + +?> +<input type="<?php echo $type; ?>" value="<?php echo $value; ?>" class="<?php echo $class; ?>" />
\ No newline at end of file diff --git a/views/installation/input/checkbox.php b/views/installation/input/checkbox.php new file mode 100644 index 000000000..6fbe25169 --- /dev/null +++ b/views/installation/input/checkbox.php @@ -0,0 +1,24 @@ +<?php +/** + * Elgg checkbox input + * Displays a checkbox input tag + * + * @uses $var['name'] + * @uses $vars['value'] + * @uses $vars['class'] + */ + + +if (isset($vars['class'])) { +	$id = "class=\"{$vars['class']}\""; +} else { +	$id = ''; +} + +if (!isset($vars['value'])) { +	$vars['value'] = $vars['name']; +} + +?> + +<input type="checkbox" <?php echo $class; ?> name="<?php echo $vars['name']; ?>" value="<?php echo $vars['value']; ?>" />
\ No newline at end of file diff --git a/views/installation/input/combo.php b/views/installation/input/combo.php new file mode 100644 index 000000000..508dbcd01 --- /dev/null +++ b/views/installation/input/combo.php @@ -0,0 +1,19 @@ +<?php +/** + * Combination of text box and check box. When the checkbox is checked, the + * text field is cleared and disabled. + * + */ + +$label = elgg_echo('install:label:combo:' . $vars['name']); + +$vars['class'] = "elgg-combo-text"; +echo elgg_view('input/text', $vars); + +$vars['class'] = "elgg-combo-checkbox"; +$vars['value'] = "{$vars['name']}-checkbox"; +echo elgg_view('input/checkbox', $vars); + +echo "<label class=\"elgg-combo-label\">$label</label>"; + +echo '<div class="clearfloat"></div>';
\ No newline at end of file diff --git a/views/installation/input/dropdown.php b/views/installation/input/dropdown.php new file mode 100644 index 000000000..cf875492e --- /dev/null +++ b/views/installation/input/dropdown.php @@ -0,0 +1,36 @@ +<?php +/** + * Elgg dropdown input + * Displays a dropdown input field + * + * @uses $vars['value'] The current value, if any + * @uses $vars['name'] The name of the input field + * @uses $vars['options'] An array of strings representing the options for the dropdown field + * @uses $vars['options_values'] An associative array of "value" => "option" where "value" is an internal name and "option" is + * 								 the value displayed on the button. Replaces $vars['options'] when defined. + */ + +$class = "elgg-input-dropdown"; + +?> +<select name="<?php echo $vars['name']; ?>" class="<?php echo $class; ?>"> +<?php +if (isset($vars['options_values'])) { +	foreach ($vars['options_values'] as $value => $option) { +		if ($value != $vars['value']) { +			echo "<option value=\"$value\">{$option}</option>"; +		} else { +			echo "<option value=\"$value\" selected=\"selected\">{$option}</option>"; +		} +	} +} else { +	foreach ($vars['options'] as $option) { +		if ($option != $vars['value']) { +			echo "<option>{$option}</option>"; +		} else { +			echo "<option selected=\"selected\">{$option}</option>"; +		} +	} +} +?> +</select> diff --git a/views/installation/input/form.php b/views/installation/input/form.php new file mode 100644 index 000000000..3556413a8 --- /dev/null +++ b/views/installation/input/form.php @@ -0,0 +1,30 @@ +<?php +/** + * Create a form for data submission. + * + * @uses $vars['body']   The body of the form (made up of other input/xxx views and html + * @uses $vars['action'] URL of the action being called + * @uses $vars['method'] Method (default POST) + * @uses $vars['name']   Form name + */ + +if (isset($vars['name'])) { +	$name = "name=\"{$vars['name']}\""; +} else { +	$name = ''; +} + +$body = $vars['body']; +$action = $vars['action']; +if (isset($vars['method'])) { +	$method = $vars['method']; +} else { +	$method = 'POST'; +} + +$method = strtolower($method); + +?> +<form <?php echo $name; ?> action="<?php echo $action; ?>" method="<?php echo $method; ?>"> +<?php echo $body; ?> +</form>
\ No newline at end of file diff --git a/views/installation/input/password.php b/views/installation/input/password.php new file mode 100644 index 000000000..2265ab117 --- /dev/null +++ b/views/installation/input/password.php @@ -0,0 +1,17 @@ +<?php +/** + * Elgg password input + * Displays a password input field + * + * @uses $vars['value'] The current value, if any + * @uses $vars['name'] The name of the input field + * + */ + +$class = "input-password"; + +$value = htmlentities($vars['value'], ENT_QUOTES, 'UTF-8'); + +?> + +<input type="password" name="<?php echo $vars['name']; ?>" value="<?php echo $value; ?>" class="<?php echo $class; ?>" /> diff --git a/views/installation/input/submit.php b/views/installation/input/submit.php new file mode 100644 index 000000000..5d891c380 --- /dev/null +++ b/views/installation/input/submit.php @@ -0,0 +1,11 @@ +<?php +/** + * Create a submit input button + * + * @uses $vars['value'] The current value, if any + * @uses $vars['name'] The name of the input field + */ + +$vars['type'] = 'submit'; + +echo elgg_view('input/button', $vars);
\ No newline at end of file diff --git a/views/installation/input/text.php b/views/installation/input/text.php new file mode 100644 index 000000000..375b91c44 --- /dev/null +++ b/views/installation/input/text.php @@ -0,0 +1,20 @@ +<?php +/** + * Elgg text input + * Displays a text input field + * + * @uses $vars['value'] The current value, if any + * @uses $vars['name']  The name of the input field + * @uses $vars['class'] CSS class + */ + +if (isset($vars['class'])) { +	$class = "class=\"{$vars['class']}\""; +} else { +	$class = "elgg-input-text"; +} + +$value = htmlentities($vars['value'], ENT_QUOTES, 'UTF-8'); + +?> +<input type="text" name="<?php echo $vars['name']; ?>" value="<?php echo $value; ?>" <?php echo $class; ?> />
\ No newline at end of file diff --git a/views/installation/install/js_rewrite_check.php b/views/installation/install/js_rewrite_check.php new file mode 100644 index 000000000..04d81171d --- /dev/null +++ b/views/installation/install/js_rewrite_check.php @@ -0,0 +1,12 @@ +<?php +/** + * Some servers don't allow PHP to check the rewrite, so try via AJAX + */ +?> +<script type="text/javascript"> +	elgg.installer.rewriteTest( +		'<?php echo $vars['url'];?>', +		'<?php echo elgg_echo('install:check:rewrite:success'); ?>', +		'<?php echo $vars['config']->wwwroot; ?>install.php?step=database' +	); +</script>
\ No newline at end of file diff --git a/views/installation/install/nav.php b/views/installation/install/nav.php new file mode 100644 index 000000000..c150cb2cb --- /dev/null +++ b/views/installation/install/nav.php @@ -0,0 +1,35 @@ +<?php +/** + * Navigation for installation pages + * + * @uses $vars['url'] base url of site + * @uses $vars['next_step'] next step as string + * @uses $vars['refresh'] should refresh button be shown? + * @uses $vars['advance'] should the next button be active? + */ + + +// has a refresh button been requested +$refresh = ''; +if (isset($vars['refresh']) && $vars['refresh']) { +	$refresh_text = elgg_echo('install:refresh'); +	$refresh = "<a href=\"\">$refresh_text</a>"; +} + +// create next button and selectively disable +$next_text = elgg_echo('install:next'); +$next_link = elgg_get_site_url()."install.php?step={$vars['next_step']}"; +$next = "<a href=\"$next_link\">$next_text</a>"; +if (isset($vars['advance']) && !$vars['advance']) { +	// disable the next button +	$next = "<a class=\"elgg-state-disabled\">$next_text</a>"; +} + + +echo <<<___END +<div class="elgg-install-nav"> +	$next +	$refresh +</div> + +___END; diff --git a/views/installation/install/pages/admin.php b/views/installation/install/pages/admin.php new file mode 100644 index 000000000..e810aa701 --- /dev/null +++ b/views/installation/install/pages/admin.php @@ -0,0 +1,17 @@ +<?php +/** + * Install create admin account page + */ + +echo elgg_autop(elgg_echo('install:admin:instructions')); + +$vars['type'] = 'admin'; + +$url = current_page_url(); + +$form_vars = array( +	'action' => $url, +	'disable_security' => TRUE, +); + +echo elgg_view_form('install/template', $form_vars, $vars); diff --git a/views/installation/install/pages/complete.php b/views/installation/install/pages/complete.php new file mode 100644 index 000000000..80f8e7434 --- /dev/null +++ b/views/installation/install/pages/complete.php @@ -0,0 +1,16 @@ +<?php +/** + * Install completion page + */ + +echo elgg_autop(elgg_echo('install:complete:instructions')); + +?> + +<div class="elgg-install-nav"> +<?php +	$url = elgg_get_site_url() . $vars['destination']; +	$text = elgg_echo('install:complete:gotosite'); +	echo "<a href=\"$url\">$text</a>"; +?> +</div> diff --git a/views/installation/install/pages/database.php b/views/installation/install/pages/database.php new file mode 100644 index 000000000..d24b4f57b --- /dev/null +++ b/views/installation/install/pages/database.php @@ -0,0 +1,26 @@ +<?php +/** + * Install database page + * + * @uses $vars['failure'] Settings file exists but something went wrong + */ + +if (isset($vars['failure']) && $vars['failure']) { +	echo elgg_autop(elgg_echo('install:database:error')); +	$vars['refresh'] = TRUE; +	$vars['advance'] = FALSE; +	echo elgg_view('install/nav', $vars); +} else { +	echo elgg_autop(elgg_echo('install:database:instructions')); +	 +	$vars['type'] = 'database'; +	 +	$url = current_page_url(); +	 +	$form_vars = array( +		'action' => $url, +		'disable_security' => TRUE, +	); +	 +	echo elgg_view_form('install/template', $form_vars, $vars); +}
\ No newline at end of file diff --git a/views/installation/install/pages/requirements.php b/views/installation/install/pages/requirements.php new file mode 100644 index 000000000..3f0941c95 --- /dev/null +++ b/views/installation/install/pages/requirements.php @@ -0,0 +1,39 @@ +<?php +/** + * Install requirements checking page + * + * @uses $vars['num_failures] Number of requirements failures + * @uses $vars['num_warnings] Number of recommendation warnings + */ + +if ($vars['num_failures'] != 0) { +	$instruct_text = elgg_echo('install:requirements:instructions:failure'); +} elseif ($vars['num_warnings'] != 0) { +	$instruct_text = elgg_echo('install:requirements:instructions:warning'); +} else { +	$instruct_text = elgg_echo('install:requirements:instructions:success'); +} + +echo elgg_autop($instruct_text); + +$report = $vars['report']; +foreach ($report as $category => $checks) { +	$title = elgg_echo("install:require:$category"); +	echo "<h3>$title</h3>"; +	echo "<ul class=\"elgg-require-$category\">"; +	foreach ($checks as $check) { +		echo "<li class=\"{$check['severity']}\">"; +		echo elgg_autop($check['message']); +		echo "</li>"; +	} +	echo "</ul>"; +} + +$vars['refresh'] = true; + +// cannot advance to next step with a failure +if ($vars['num_failures'] != 0) { +	$vars['advance'] = false; +} + +echo elgg_view('install/nav', $vars); diff --git a/views/installation/install/pages/settings.php b/views/installation/install/pages/settings.php new file mode 100644 index 000000000..04f23c0ea --- /dev/null +++ b/views/installation/install/pages/settings.php @@ -0,0 +1,14 @@ +<?php + +echo elgg_autop(elgg_echo('install:settings:instructions')); + +$vars['type'] = 'settings'; + +$url = current_page_url(); + +$form_vars = array( +	'action' => $url, +	'disable_security' => TRUE, +); + +echo elgg_view_form('install/template', $form_vars, $vars); diff --git a/views/installation/install/pages/welcome.php b/views/installation/install/pages/welcome.php new file mode 100644 index 000000000..f370c15f3 --- /dev/null +++ b/views/installation/install/pages/welcome.php @@ -0,0 +1,8 @@ +<?php +/** + * Install welcome page + */ + +echo elgg_autop(elgg_echo('install:welcome:instructions')); + +echo elgg_view('install/nav', $vars); diff --git a/views/installation/page/default.php b/views/installation/page/default.php new file mode 100644 index 000000000..662e8206e --- /dev/null +++ b/views/installation/page/default.php @@ -0,0 +1,57 @@ +<?php +/** + * Elgg install pageshell + * + * @package Elgg + * @subpackage Core + * + * @uses $vars['title'] The page title + * @uses $vars['body'] The main content of the page + * @uses $vars['sysmessages'] Array of system status messages + */ + +$title = elgg_echo('install:title'); +$title .= " : {$vars['title']}"; + +// we won't trust server configuration but specify utf-8 +header('Content-type: text/html; charset=utf-8'); + +// turn off browser caching +header('Pragma: public', TRUE); +header("Cache-Control: no-cache, must-revalidate", TRUE); +header('Expires: Fri, 05 Feb 1982 00:00:00 -0500', TRUE); + +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +	<head> +		<title><?php echo $title; ?></title> +		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +		<link rel="SHORTCUT ICON" href="<?php echo elgg_get_site_url(); ?>_graphics/favicon.ico" /> +		<link rel="stylesheet" href="<?php echo elgg_get_site_url(); ?>install/css/install.css" type="text/css" /> +		<script type="text/javascript" src="<?php echo elgg_get_site_url(); ?>vendors/jquery/jquery-1.6.4.min.js"></script> +		<script type="text/javascript" src="<?php echo elgg_get_site_url(); ?>install/js/install.js"></script> +	</head> +	<body> +		<div class="elgg-page"> +			<div class="elgg-page-header"> +				<?php echo elgg_view('page/elements/header', $vars); ?> +			</div> +			<div class="elgg-page-body"> +				<div class="elgg-layout"> +					<div class="elgg-sidebar"> +						<?php echo elgg_view('page/elements/sidebar', $vars); ?> +					</div> +					<div class="elgg-body"> +						<h2><?php echo $vars['title']; ?></h2> +						<?php echo elgg_view('page/elements/messages', array('object' => $vars['sysmessages'])); ?> +						<?php echo $vars['body']; ?> +					</div> +				</div> +			</div> +			<div class="elgg-page-footer"> +				<?php echo elgg_view('page/elements/footer'); ?> +			</div> +		</div> +	</body> +</html> diff --git a/views/installation/page/elements/footer.php b/views/installation/page/elements/footer.php new file mode 100644 index 000000000..d6a755fba --- /dev/null +++ b/views/installation/page/elements/footer.php @@ -0,0 +1,10 @@ +<?php +/** + * Install footer - offers help links + */ +?> +<ul> +	<li><a href="http://docs.elgg.org/wiki/Installation" target="_blank">Install instructions</a></li> +	<li><a href="http://docs.elgg.org/wiki/Install_Troubleshooting" target="_blank">Install troubleshooting</a></li> +	<li><a href="http://community.elgg.org/pg/groups/world" target="_blank">Elgg community forums</a></li> +</ul>
\ No newline at end of file diff --git a/views/installation/page/elements/header.php b/views/installation/page/elements/header.php new file mode 100644 index 000000000..8c18dbffd --- /dev/null +++ b/views/installation/page/elements/header.php @@ -0,0 +1,8 @@ +<?php +/** + * Install header + */ + +$url = elgg_get_site_url()."_graphics/elgg_logo.png"; +?> +<img src="<?php echo $url; ?>" alt="Elgg" /> diff --git a/views/installation/page/elements/messages.php b/views/installation/page/elements/messages.php new file mode 100644 index 000000000..46261dca4 --- /dev/null +++ b/views/installation/page/elements/messages.php @@ -0,0 +1,21 @@ +<?php +/** + * Lists all system messages + * + * @uses $vars['object'] The array of message registers + */ + +if (isset($vars['object']) && is_array($vars['object']) && sizeof($vars['object']) > 0) { + +	echo '<ul class="elgg-system-messages">'; + +	foreach ($vars['object'] as $type => $list ) { +		foreach ($list as $message) { +			echo "<li class=\"elgg-state-$type\">"; +			echo elgg_autop($message); +			echo '</li>'; +		} +	} + +	echo '</ul>'; +} diff --git a/views/installation/page/elements/sidebar.php b/views/installation/page/elements/sidebar.php new file mode 100644 index 000000000..8136cd898 --- /dev/null +++ b/views/installation/page/elements/sidebar.php @@ -0,0 +1,26 @@ +<?php +/** + * Install sidebar + * + * @uses $vars['step'] Current step + * @uses $vars['steps'] Array of steps + */ + +$current_step = $vars['step']; +$steps = $vars['steps']; + +$current_step_index = array_search($current_step, $steps); + +echo '<ol>'; +foreach ($steps as $index => $step) { +	if ($index < $current_step_index) { +		$class = 'past'; +	} elseif ($index == $current_step_index) { +		$class = 'present'; +	} else { +		$class = 'future'; +	} +	$text = elgg_echo("install:$step"); +	echo "<li class=\"$class\">$text</li>"; +} +echo '</ol>';  | 
