[Fusionforge-commits] FusionForge branch master updated. fa8261974b92d3e3a17f38ec730ed37059efbbe3

Franck VILLAUME nerville at fusionforge.org
Fri Feb 21 16:46:48 CET 2014


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "FusionForge".

The branch, master has been updated
       via  fa8261974b92d3e3a17f38ec730ed37059efbbe3 (commit)
       via  de36cb79d3d93b3977371f124fa8e4cfa8230a9a (commit)
      from  7b4f41587075d19e4260f594824174808b7e7939 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit fa8261974b92d3e3a17f38ec730ed37059efbbe3
Author: Franck Villaume <franck.villaume at trivialdev.com>
Date:   Fri Feb 21 16:46:23 2014 +0100

    docman: use html_e et al. functions in addfile

diff --git a/src/common/docman/views/addfile.php b/src/common/docman/views/addfile.php
index 1e35f62..fcf9d9e 100644
--- a/src/common/docman/views/addfile.php
+++ b/src/common/docman/views/addfile.php
@@ -33,12 +33,12 @@ global $group_id; // id of the group
 global $dirid; //id of the doc_group
 
 // plugin projects-hierarchy
-$actionurl = '?group_id='.$group_id.'&action=addfile&dirid='.$dirid;
+$actionurl = '?group_id='.$group_id.'&action=addfile&dirid='.$dirid;
 $redirecturl = '/docman/?group_id='.$group_id.'&view=listfile&dirid='.$dirid;
 if (isset($childgroup_id) && $childgroup_id) {
 	$g = group_get_object($childgroup_id);
-	$actionurl .= '&childgroup_id='.$childgroup_id;
-	$redirecturl .= '&childgroup_id='.$childgroup_id;
+	$actionurl .= '&childgroup_id='.$childgroup_id;
+	$redirecturl .= '&childgroup_id='.$childgroup_id;
 }
 
 $dgf = new DocumentGroupFactory($g);
@@ -74,7 +74,7 @@ jQuery(document).ready(function() {
 
 //]]></script>
 <?php
-echo '<div class="docmanDivIncluded">';
+echo html_ao('div', array('class' => 'docmanDivIncluded'));
 if ($dgf->getNested() == NULL) {
 	$dg = new DocumentGroup($g);
 
@@ -85,90 +85,79 @@ if ($dgf->getNested() == NULL) {
 		session_redirect('/docman/?group_id='.$group_id.'&view=additem');
 	}
 
-	echo '<div class="warning">'. _('You MUST first create at least one folder to store your document.') .'</div>';
+	echo html_e('div', array('class' => 'warning'), _('You MUST first create at least one folder to store your document.'), false);
 } else {
 	/* display the add new documentation form */
-	echo '<p><strong>'. _('Document Title')._(': ').'</strong> '. _('Refers to the relatively brief title of the document (e.g. How to use the download server).'). '</p>';
-	echo '<p><strong>'. _('Description')._(': ').'</strong> '. _('A brief description to be placed just under the title.') .'</p>';
+	echo html_ao('p');
+	echo html_e('strong', array(), _('Document Title')._(': ')._('Refers to the relatively brief title of the document (e.g. How to use the download server).'), false);
+	echo html_ac(html_ap() - 1);
+	echo html_ao('p');
+	echo html_e('strong', array(), _('Description')._(': ')._('A brief description to be placed just under the title.'), false);
+	echo html_ac(html_ap() - 1);
 	if ($g->useDocmanSearch())
-		echo '<p>'._('Both fields are used by the document search engine.').'</p>';
+		echo html_e('p', array(), _('Both fields are used by the document search engine.'), false);
 
-	echo '<form name="adddata" action="'.$actionurl.'" method="post" enctype="multipart/form-data">';
-	echo '<table class="infotable">
-				<tr>
-					<td>
-						'. _('Document Title').utils_requiredField()
-					.'</td><td>'
-					.'<input pattern=".{5,}" placeholder="'._('Document Title').'" title="'.sprintf(_('(at least %s characters)'), 5).'" type="text" name="title" size="40" maxlength="255" required="required" /> '
-					.sprintf(_('(at least %s characters)'), 5)
-					.'</td>
-				</tr>
-				<tr>
-					<td>
-						'. _('Description') .utils_requiredField()
-				 	.'</td><td>'
-						.'<input pattern=".{10,}" placeholder="'._('Description').'" title="'.sprintf(_('(at least %s characters)'), 10).'" type="text" name="description" size="50" maxlength="255" required="required" /> '
-						.sprintf(_('(at least %s characters)'), 10)
-					.'</td>
-				</tr>
-				<tr>
-					<td>
-						'. _('Type of Document') .utils_requiredField()
-					.'</td><td>
-					<input type="radio" id="buttonFile" name="type" value="httpupload" checked="checked" required="required" />'. _('File') .
-					'<input type="radio" id="buttonUrl" name="type" value="pasteurl" required="required" />'. _('URL');
+	echo html_ao('form', array('name' => 'adddata', 'action' => $actionurl, 'method' => 'post', 'enctype' => 'multipart/form-data'));
+	echo html_ao('table', array('class' => 'infotable'));
+	echo html_ao('tr');
+	echo html_e('td', array(), _('Document Title').utils_requiredField(), false);
+	echo html_ao('td');
+	echo html_e('input', array('pattern' => '.{5,}', 'placeholder' => _('Document Title'), 'title' => sprintf(_('(at least %s characters)'), 5), 'type' => 'text', 'name' => 'title', 'size' => '40', 'maxlength' => '255', 'required' => 'required'));
+	echo html_e('span', array(), sprintf(_('(at least %s characters)'), 5), false);
+	echo html_ac(html_ap() - 2);
+	echo html_ao('tr');
+	echo html_e('td', array(), _('Description') .utils_requiredField(), false);
+	echo html_ao('td');
+	echo html_e('input', array('pattern' => '.{10,}', 'placeholder' => _('Description'), 'title' => sprintf(_('(at least %s characters)'), 10), 'type' => 'text', 'name' => 'description', 'size' => '50', 'maxlength' => '255', 'required' => 'required'));
+	echo html_e('span', array(), sprintf(_('(at least %s characters)'), 10), false);
+	echo html_ac(html_ap() - 2);
+	echo html_ao('tr');
+	echo html_e('td', array(), _('Type of Document') .utils_requiredField());
+	echo html_ao('td');
+	echo html_e('input', array('type' => 'radio', 'id' => 'buttonFile', 'name' => 'type', 'value' => 'httpupload', 'checked' => 'checked', 'required' => 'required')).html_e('span', array(), _('File'), false);
+	echo html_e('input', array('type' => 'radio', 'id' => 'buttonUrl', 'name' => 'type', 'value' => 'pasteurl', 'required' => 'required')).html_e('span', array(), _('URL'), false);
 	if (forge_get_config('use_manual_uploads')) {
-					echo '<input type="radio" id="buttonManualUpload" name="type" value="manualupload" required="required" />'. _('Already-uploaded file');
+		echo html_e('input', array('type' => 'radio', 'id' => 'buttonManualUpload', 'name' => 'type', 'value' => 'manualupload', 'required' => 'required')).html_e('span', array(), _('Already-uploaded file'), false);
 	}
 	if ($g->useCreateOnline()) {
-					echo '<input type="radio" id="buttonEditor" name="type" value="editor" required="required" />'. _('Create online');
+		echo html_e('input', array('type' => 'radio', 'id' => 'buttonEditor', 'name' => 'type', 'value' => 'editor', 'required' => 'required')).html_e('span', array(), _('Create online'), false);
 	}
-	echo '				</td>
-				</tr>
-				<tr id="filerow">
-					<td>
-						'. _('Upload File') .utils_requiredField()
-					.'</td><td>'
-						.'<input type="file" required="required" name="uploaded_data" />'.sprintf(_('(max upload size: %s)'),human_readable_bytes(util_get_maxuploadfilesize())).'
-					</td>
-				</tr>
-				<tr id="urlrow" style="display:none">
-					<td>
-						'. _('URL') . utils_requiredField()
-					.'</td><td>'
-						.'<input type="url" name="file_url" size="30" placeholder="'._('Enter a valid URL').'" pattern="ftp://.+|https?://.+" />
-					</td>
-				</tr>
-				<tr id="pathrow" style="display:none">
-					<td>
-						'. _('File') . utils_requiredField() . '</td><td>';
-
-	$incoming = forge_get_config('groupdir_prefix')."/".$g->getUnixName()."/incoming";
-	$manual_files_arr = ls($incoming, true);
-	if (count($manual_files_arr)) {
-		echo html_build_select_box_from_arrays($manual_files_arr, $manual_files_arr, 'manual_path', '');
-		echo '		<br />';
-		printf(_('Pick a file already uploaded (by SFTP or SCP) to the <a href="%2$s">project\'s incoming directory</a> (%1$s).'),
-		       $incoming, "sftp://" . forge_get_config('web_host') . $incoming . "/");
-		echo '
-					</td>
-				</tr>';
-	} else {
-		echo '		<p class="warning">';
-			printf(_('You need first to upload file in %s'),$incoming);
-		echo '		</p>';
-		echo '			</td>
-				</tr>';
+	echo html_ac(html_ap() - 2);
+	echo html_ao('tr', array('id' => 'filerow'));
+	echo html_e('td', array(), _('Upload File').utils_requiredField(), false);
+	echo html_ao('td');
+	echo html_e('input', array('type' => 'file', 'required' => 'required', 'name' => 'uploaded_data'));
+	echo html_e('span', array(), sprintf(_('(max upload size: %s)'), human_readable_bytes(util_get_maxuploadfilesize())), false);
+	echo html_ac(html_ap() - 2);
+	echo html_ao('tr', array('id' => 'urlrow', 'style' => 'display:none'));
+	echo html_e('td', array(), _('URL').utils_requiredField());
+	echo html_ao('td');
+	echo html_e('input', array('type' => 'url', 'name' => 'file_url', 'size' => '30', 'placeholder' => _('Enter a valid URL'), 'pattern' => 'ftp://.+|https?://.+'));
+	echo html_ac(html_ap() - 2);
+	echo html_ao('tr', array('id' => 'pathrow', 'style' => 'display:none'));
+	echo html_e('td', array(), _('File') . utils_requiredField(), false);
+	if (forge_get_config('use_manual_uploads')) {
+		echo html_ao('td');
+		$incoming = forge_get_config('groupdir_prefix')."/".$g->getUnixName()."/incoming";
+		$manual_files_arr = ls($incoming, true);
+		if (count($manual_files_arr)) {
+			echo html_build_select_box_from_arrays($manual_files_arr, $manual_files_arr, 'manual_path', '');
+			echo html_e('br');
+			echo html_e('span', array(), sprintf(_('Pick a file already uploaded (by SFTP or SCP) to the <a href="%1$s">project\'s incoming directory</a> (%2$s).'),
+								'sftp://'.forge_get_config('web_host').$incoming.'/', $incoming), false);
+		} else {
+			echo html_e('p', array('class' => 'warning'), printf(_('You need first to upload file in %s'),$incoming), false);
+		}
+		echo html_ac(html_ap() - 1);
 	}
-	echo '			<tr id="editnamerow" style="display:none">
-					<td>
-						'. _('File Name') . utils_requiredField()
-					.'</td><td>'
-						.'<input type="text" name="name" size="30" />
-					</td>
-				</tr>
-				<tr id="editrow" style="display:none">
-					<td colspan="2">';
+	echo html_ac(html_ap() - 1);
+	echo html_ao('tr', array('id' => 'editnamerow', 'style' => 'display:none'));
+	echo html_e('td', array(), _('File Name').utils_requiredField(), false);
+	echo html_ao('td');
+	echo html_e('input', array('type' => 'text', 'name' => 'name', 'size' => '30'));
+	echo html_ac(html_ap() - 2);
+	echo html_ao('tr', array('id' => 'editrow', 'style' => 'display:none'));
+	echo html_ao('td', array('colspan' => '2'));
 	$GLOBALS['editor_was_set_up'] = false;
 	$params = array() ;
 	/* name must be details !!! if name = data then nothing is displayed */
@@ -181,41 +170,30 @@ if ($dgf->getNested() == NULL) {
 		echo '<textarea name="details" rows="5" cols="80"></textarea>';
 	}
 	unset($GLOBALS['editor_was_set_up']);
-	echo '
-					</td>
-				</tr>';
+	echo html_ac(html_ap() - 2);
 	if ($dirid) {
-		echo '		<tr><td colspan="2"><input type="hidden" name="doc_group" value="'.$dirid.'"></td></tr>';
+		echo html_ao('tr');
+		echo html_ao('td', array('colspan' => 2));
+		echo html_e('input', array('type' => 'hidden', 'name' => 'doc_group', 'value' => $dirid));
+		echo html_ac(html_ap() - 2);
 	} else {
-		echo '
-				<tr>
-					<td>
-						'. _('Documents folder that document belongs in').'
-					</td><td>';
+		echo html_ao('tr');
+		echo html_e('td', array(), _('Documents folder that document belongs in'), false);
+		echo html_ao('td');
 		$dgh->showSelectNestedGroups($dgf->getNested(), 'doc_group', false, $dirid);
-		echo '
-					</td>
-				</tr>';
+		echo html_ac(html_ap() - 2);
 	}
 	if (forge_check_perm('docman', $group_id, 'approve')) {
-		echo '
-				<tr>
-					<td>
-						'. _('Status of that document').'
-					</td><td>';
+		echo html_ao('tr');
+		echo html_e('td', array(), _('Status of that document'), false);
+		echo html_ao('td');
 		doc_get_state_box('xzxz', 2); /**no direct deleted status */
-		echo '
-					</td>
-				</tr>';
+		echo html_ac(html_ap() - 2);
 	}
-	echo '	</table>';
-	echo '	<p>';
-	printf(_('Fields marked with %s are mandatory.'), utils_requiredField());
-	echo '	</p>';
-	echo '	<div class="docmanSubmitDiv">
-			<input type="submit" name="submit" value="'. _('Submit Information'). '" />
-		</div>
-		</form>';
+	echo html_ac(html_ap() - 1);
+	echo html_eo('p', array(), printf(_('Fields marked with %s are mandatory.'), utils_requiredField()));
+	echo html_ao('div', array('class' => 'docmanSubmitDiv'));
+	echo html_e('input', array('type' => 'submit', 'name' => 'submit', 'value' => _('Submit Information')));
+	echo html_ac(html_ap() - 2);
 }
-
-echo '</div>';
+echo html_ac(html_ap() - 1);

commit de36cb79d3d93b3977371f124fa8e4cfa8230a9a
Author: Franck Villaume <franck.villaume at trivialdev.com>
Date:   Fri Feb 21 16:45:53 2014 +0100

    more html_e in common functions

diff --git a/src/www/include/html.php b/src/www/include/html.php
index 72f2709..3afb610 100644
--- a/src/www/include/html.php
+++ b/src/www/include/html.php
@@ -562,10 +562,6 @@ function html_build_select_box_from_arrays($vals, $texts, $select_name, $checked
 					   $show_100 = true, $text_100 = 'none',
 					   $show_any = false, $text_any = 'any', $allowed = false) {
 	$have_a_subelement = false;
-
-	if ($text_100 == 'none') {
-		$text_100 = _('None');
-	}
 	$return = '';
 
 	$rows = count($vals);
@@ -577,25 +573,31 @@ function html_build_select_box_from_arrays($vals, $texts, $select_name, $checked
 	$title = html_get_tooltip_description($select_name);
 	$id = '';
 	if ($title) {
-		$id = ' id="tracker-'.$select_name.'"';
+		$id = 'tracker-'.$select_name.'"';
 		if (preg_match('/\[\]/', $id)) {
 			$id = '';
 		}
 	}
 
-	$return .= '
-		<select'.$id.' name="'.$select_name.'" title="'.util_html_secure($title).'">';
+	$return .= html_ao('select', array('id' => $id, 'name' => $select_name, 'title' => util_html_secure($title)));
 
 	//we don't always want the default Any row shown
 	if ($show_any) {
-		$return .= '
-		<option value=""'.(($checked_val == '') ? ' selected="selected"' : '').'>'. util_html_secure($text_any) .'</option>';
+		$attrs = array('value' => '');
+		if ($checked_val)
+			$attrs['selected'] = 'selected';
+		$return .= html_e('option', $attrs, util_html_secure($text_any), false);
 		$have_a_subelement = true;
 	}
 	//we don't always want the default 100 row shown
 	if ($show_100) {
-		$return .= '
-		<option value="100"'.(($checked_val == 100) ? ' selected="selected"' : '').'>'. util_html_secure($text_100) .'</option>';
+		if ($text_100 == 'none') {
+			$text_100 = _('None');
+		}
+		$attrs = array('value' => 100);
+		if ($checked_val)
+			$attrs['selected'] = 'selected';
+		$return .= html_e('option', $attrs, util_html_secure($text_100), false);
 		$have_a_subelement = true;
 	}
 
@@ -605,16 +607,17 @@ function html_build_select_box_from_arrays($vals, $texts, $select_name, $checked
 		//  uggh - sorry - don't show the 100 row
 		//  if it was shown above, otherwise do show it
 		if (($vals[$i] != '100') || ($vals[$i] == '100' && !$show_100)) {
-			$return .= '
-				<option value="'.util_html_secure($vals[$i]).'"';
+			$attrs = array();
+			$attrs['value'] = util_html_secure($vals[$i]);
 			if ((string)$vals[$i] == (string)$checked_val) {
 				$checked_found = true;
-				$return .= ' selected="selected"';
+				$attrs['selected'] = 'selected';
 			}
 			if (is_array($allowed) && !in_array($vals[$i], $allowed)) {
-				$return .= ' disabled="disabled" class="option_disabled"';
+				$attrs['disabled'] = 'disabled';
+				$attrs['class'] = 'option_disabled';
 			}
-			$return .= '>'.util_html_secure($texts[$i]).'</option>';
+			$return .= html_e('option', $attrs, util_html_secure($texts[$i]));
 			$have_a_subelement = true;
 		}
 	}
@@ -623,18 +626,16 @@ function html_build_select_box_from_arrays($vals, $texts, $select_name, $checked
 	//	we want to preserve that value UNLESS that value was 'xzxz', the default value
 	//
 	if (!$checked_found && $checked_val != 'xzxz' && $checked_val && $checked_val != 100) {
-		$return .= '
-		<option value="'.util_html_secure($checked_val).'" selected="selected">'._('No Change').'</option>';
+		$return .= html_e('option', array('value' => util_html_secure($checked_val), 'selected' => 'selected'), _('No Change'), false);
 		$have_a_subelement = true;
 	}
 
 	if (!$have_a_subelement) {
 		/* <select></select> without <option/> in between is invalid */
-		return '<!-- select without options -->';
+		return '<!-- select without options -->'."\n";
 	}
 
-	$return .= '
-		</select>';
+	$return .= html_ac(html_ap() -1);
 	return $return;
 }
 
@@ -695,45 +696,46 @@ function html_build_select_box_sorted($result, $name, $checked_val = "xzxz", $sh
  * @param	string		$checked_array	The item that should be checked
  * @param	int		$size		The size of this box
  * @param	bool		$show_100	Whether or not to show the '100 row'
+ * @param	string		$text_100	The displayed text of the '100 row'
  * @return	string
  */
-function html_build_multiple_select_box($result, $name, $checked_array, $size = 8, $show_100 = true) {
+function html_build_multiple_select_box($result, $name, $checked_array, $size = 8, $show_100 = true, $text_100 = 'none') {
 	$checked_count = count($checked_array);
-	$return = '
-		<select name="'.$name.'" multiple="multiple" size="'.$size.'">';
+	$return = html_ao('select', array('name' => $name, 'multiple' => 'multiple', 'size' => $size));
 	if ($show_100) {
+		if ($text_100 == 'none') {
+			$text_100 = _('None');
+		}
 		/*
 			Put in the default NONE box
 		*/
-		$return .= '
-		<option value="100"';
+		$attrs = array('value' => 100);
 		for ($j = 0; $j < $checked_count; $j++) {
 			if ($checked_array[$j] == '100') {
-				$return .= ' selected="selected"';
+				$attrs['selected'] = 'selected';
 			}
 		}
-		$return .= '>'._('None').'</option>';
+		$return .= html_e('option', $attrs, $text_100, false);
 	}
 
 	$rows = db_numrows($result);
 	for ($i = 0; $i < $rows; $i++) {
 		if ((db_result($result, $i, 0) != '100') || (db_result($result, $i, 0) == '100' && !$show_100)) {
-			$return .= '
-				<option value="'.db_result($result, $i, 0).'"';
+			$attrs = array();
+			$attrs = array('value' => db_result($result, $i, 0));
 			/*
 				Determine if it's checked
 			*/
 			$val = db_result($result, $i, 0);
 			for ($j = 0; $j < $checked_count; $j++) {
 				if ($val == $checked_array[$j]) {
-					$return .= ' selected="selected"';
+					$attrs['selected'] = 'selected';
 				}
 			}
-			$return .= '>'.substr(db_result($result, $i, 1), 0, 35).'</option>';
+			$return .= html_e('option', $attrs, substr(db_result($result, $i, 1), 0, 35), false);
 		}
 	}
-	$return .= '
-		</select>';
+	$return .= html_ac(html_ap() -1);
 	return $return;
 }
 
@@ -751,8 +753,7 @@ function html_build_multiple_select_box($result, $name, $checked_array, $size =
  */
 function html_build_multiple_select_box_from_arrays($ids, $texts, $name, $checked_array, $size = 8, $show_100 = true, $text_100 = 'none') {
 	$checked_count = count($checked_array);
-	$return = '
-		<select name="'.$name.'" multiple="multiple" size="'.$size.'">';
+	$return = html_ao('select', array('name' => $name, 'multiple' => 'multiple', 'size' => $size));
 	if ($show_100) {
 		if ($text_100 == 'none') {
 			$text_100 = _('None');
@@ -760,35 +761,33 @@ function html_build_multiple_select_box_from_arrays($ids, $texts, $name, $checke
 		/*
 			Put in the default NONE box
 		*/
-		$return .= '
-		<option value="100"';
+		$attrs = array('value' => 100);
 		for ($j = 0; $j < $checked_count; $j++) {
 			if ($checked_array[$j] == '100') {
-				$return .= ' selected="selected"';
+				$attrs['selected'] = 'selected';
 			}
 		}
-		$return .= '>'.$text_100.'</option>';
+		$return .= html_e('option', $attrs, $text_100, false);
 	}
 
 	$rows = count($ids);
 	for ($i = 0; $i < $rows; $i++) {
 		if (($ids[$i] != '100') || ($ids[$i] == '100' && !$show_100)) {
-			$return .= '
-				<option value="'.$ids[$i].'"';
+			$attrs = array();
+			$attrs = array('value' => $ids[$i]);
 			/*
 				Determine if it's checked
 			*/
 			$val = $ids[$i];
 			for ($j = 0; $j < $checked_count; $j++) {
 				if ($val == $checked_array[$j]) {
-					$return .= ' selected="selected"';
+					$attrs['selected'] = 'selected';
 				}
 			}
-			$return .= '>'.$texts[$i].' </option>';
+			$return .= html_e('option', $attrs, $texts[$i], false);
 		}
 	}
-	$return .= '
-		</select>';
+	$return .= html_ac(html_ap() -1);
 	return $return;
 }
 
@@ -801,10 +800,7 @@ function html_build_multiple_select_box_from_arrays($ids, $texts, $name, $checke
  * @return	html code for checkbox control
  */
 function html_build_checkbox($name, $value, $checked) {
-	$attrs = array();
-	$attrs['id'] = $name;
-	$attrs['name'] = $name;
-	$attrs['value'] = $value;
+	$attrs = array('id' => $name, 'name' => $name, 'value' => $value);
 	if ($checked) {
 		$attrs['checked'] = 'checked';
 	}
@@ -1119,7 +1115,7 @@ function html_eo($name, $attrs = array()) {
 		if ($value === false) {
 			continue;
 		}
-		$rv .= ' '.$key.'="'.htmlspecialchars($value).'"';
+		$rv .= ' '.$key.'="'.util_html_secure($value).'"';
 	}
 	$rv .= '>'."\n";
 	return $rv;
@@ -1162,7 +1158,7 @@ function html_e($name, $attrs = array(), $content = "", $shortform = true) {
 		if ($value === false) {
 			continue;
 		}
-		$rv .= ' '.$key.'="'.htmlspecialchars($value).'"';
+		$rv .= ' '.$key.'="'.util_html_secure($value).'"';
 	}
 	if ($content === "" && $shortform) {
 		$rv .= ' />'."\n";

-----------------------------------------------------------------------

Summary of changes:
 src/common/docman/views/addfile.php |  196 ++++++++++++++++-------------------
 src/www/include/html.php            |  100 +++++++++---------
 2 files changed, 135 insertions(+), 161 deletions(-)


hooks/post-receive
-- 
FusionForge



More information about the Fusionforge-commits mailing list