added missed files.
This commit is contained in:
		| @ -3,6 +3,7 @@ www_DATA =  \ | |||||||
| 	error.php \ | 	error.php \ | ||||||
| 	code_blame.php \ | 	code_blame.php \ | ||||||
| 	code_diff.php \ | 	code_diff.php \ | ||||||
|  | 	code_edit.php \ | ||||||
| 	code_file.php \ | 	code_file.php \ | ||||||
| 	code_folder.php \ | 	code_folder.php \ | ||||||
| 	code_history.php \ | 	code_history.php \ | ||||||
|  | |||||||
| @ -202,6 +202,7 @@ www_DATA = \ | |||||||
| 	error.php \ | 	error.php \ | ||||||
| 	code_blame.php \ | 	code_blame.php \ | ||||||
| 	code_diff.php \ | 	code_diff.php \ | ||||||
|  | 	code_edit.php \ | ||||||
| 	code_file.php \ | 	code_file.php \ | ||||||
| 	code_folder.php \ | 	code_folder.php \ | ||||||
| 	code_history.php \ | 	code_history.php \ | ||||||
|  | |||||||
							
								
								
									
										357
									
								
								codepot/src/codepot/views/code_edit.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										357
									
								
								codepot/src/codepot/views/code_edit.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,357 @@ | |||||||
|  | <html> | ||||||
|  |  | ||||||
|  | <head> | ||||||
|  | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> | ||||||
|  |  | ||||||
|  | <script type="text/javascript" src="<?php print base_url_make('/js/codepot.js')?>"></script> | ||||||
|  | <link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/common.css')?>" /> | ||||||
|  | <link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/code.css')?>" /> | ||||||
|  | <link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/font-awesome.min.css')?>" /> | ||||||
|  |  | ||||||
|  | <script type="text/javascript" src="<?php print base_url_make('/js/jquery.min.js')?>"></script> | ||||||
|  | <script type="text/javascript" src="<?php print base_url_make('/js/jquery-ui.min.js')?>"></script> | ||||||
|  | <link type="text/css" rel="stylesheet" href="<?php print base_url_make('/css/jquery-ui.css')?>" /> | ||||||
|  |  | ||||||
|  | <script type="text/javascript" src="<?php print base_url_make('/ace/ace.js')?>"></script> | ||||||
|  |  | ||||||
|  | <?php | ||||||
|  | $enstyle_anchor_text = '<i class="fa fa-magic"></i> ' . $this->lang->line('Enstyle'); | ||||||
|  | $destyle_anchor_text = '<i class="fa fa-times"></i> ' . $this->lang->line('Destyle'); | ||||||
|  |  | ||||||
|  | if ($revision <= 0) | ||||||
|  | { | ||||||
|  | 	$revreq = ''; | ||||||
|  | 	$revreqroot = ''; | ||||||
|  | } | ||||||
|  | else | ||||||
|  | { | ||||||
|  | 	$revreq = "/{$file['created_rev']}"; | ||||||
|  | 	$revreqroot = '/' . $this->converter->AsciiToHex ('.') . $revreq; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | $hex_headpath = $this->converter->AsciiToHex($headpath); | ||||||
|  | ?> | ||||||
|  |  | ||||||
|  | <script type="text/javascript"> | ||||||
|  | var base_return_anchor = codepot_merge_path('<?php print site_url() ?>', '<?php print "/code/file/{$project->id}/{$hex_headpath}" ?>'); | ||||||
|  |  | ||||||
|  | function resize_editor() | ||||||
|  | { | ||||||
|  | 	var infostrip = $("#code_edit_mainarea_infostrip"); | ||||||
|  | 	var code = $("#code_edit_mainarea_result_code"); | ||||||
|  | 	var footer = $("#codepot_footer"); | ||||||
|  |  | ||||||
|  | 	var ioff = infostrip.offset(); | ||||||
|  | 	var foff = footer.offset(); | ||||||
|  |  | ||||||
|  | 	ioff.top += infostrip.outerHeight() + 5; | ||||||
|  | 	code.offset (ioff); | ||||||
|  | 	code.innerHeight (foff.top - ioff.top - 5); | ||||||
|  | 	code.innerWidth (infostrip.innerWidth()); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | function show_alert (outputMsg, titleMsg)  | ||||||
|  | { | ||||||
|  | 	$("#code_edit_mainarea_alert").html(outputMsg).dialog({ | ||||||
|  | 		title: titleMsg, | ||||||
|  | 		resizable: false, | ||||||
|  | 		modal: true, | ||||||
|  | 		buttons: { | ||||||
|  | 			"OK": function () { | ||||||
|  | 				$(this).dialog("close"); | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 	}); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var ace_modes = null; | ||||||
|  | var editor_changed = false; | ||||||
|  | var save_button = null; | ||||||
|  | var return_button = null; | ||||||
|  |  | ||||||
|  | function set_editor_changed (changed) | ||||||
|  | { | ||||||
|  | 	if (editor_changed != changed) | ||||||
|  | 	{ | ||||||
|  | 		editor_changed = changed; | ||||||
|  | 		if (changed) | ||||||
|  | 		{ | ||||||
|  | 			$(window).on ("beforeunload", function () { | ||||||
|  | 				return 'Do you want to discard changes?'; | ||||||
|  | 			}); | ||||||
|  | 		} | ||||||
|  | 		else | ||||||
|  | 		{ | ||||||
|  | 			$(window).off ("beforeunload"); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | $(function () { | ||||||
|  | 	save_button = $("#code_edit_mainarea_save_button").button(); | ||||||
|  | 	return_button = $("#code_edit_mainarea_return_button").button(); | ||||||
|  |  | ||||||
|  | 	var mode_menu = $("#code_edit_mainarea_mode"); | ||||||
|  |  | ||||||
|  | 	ace_modes = codepot_get_ace_modes(); | ||||||
|  | 	var detected_mode = null; | ||||||
|  | 	for (var i in ace_modes) | ||||||
|  | 	{ | ||||||
|  | 		var mode = ace_modes[i]; | ||||||
|  |  | ||||||
|  | 		var opt = $("<option></option>").val(mode.mode).text(mode.caption); | ||||||
|  |  | ||||||
|  | 		if (mode.supportsFile("<?php print addslashes($file['name']); ?>")) | ||||||
|  | 		{ | ||||||
|  | 			if (!detected_mode)  | ||||||
|  | 			{ | ||||||
|  | 				opt.attr('selected', 'selected'); | ||||||
|  | 				detected_mode = mode; | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  |  | ||||||
|  | 		 | ||||||
|  | 		mode_menu.append(opt); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	var editor = ace.edit("code_edit_mainarea_result_code"); | ||||||
|  | 	//editor.setTheme("ace/theme/chrome"); | ||||||
|  | 	if (detected_mode) editor.getSession().setMode (detected_mode.mode); | ||||||
|  | 	editor.getSession().setUseSoftTabs(false); | ||||||
|  | 	editor.setShowInvisibles(true); | ||||||
|  | 	editor.setBehavioursEnabled(false); | ||||||
|  |  | ||||||
|  | 	set_editor_changed (false); | ||||||
|  | 	save_button.button ("disable"); | ||||||
|  | 	editor.on ("change", function (e) { | ||||||
|  | 		set_editor_changed (true); | ||||||
|  | 		save_button.button ("enable"); | ||||||
|  | 	}); | ||||||
|  |  | ||||||
|  | 	mode_menu.change (function() { | ||||||
|  | 		editor.getSession().setMode ($(this).val()); | ||||||
|  | 	}); | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	$("#code_edit_mainarea_save_form").dialog ({ | ||||||
|  | 		title: '<?php print $this->lang->line('Save')?>', | ||||||
|  | 		autoOpen: false, | ||||||
|  | 		modal: true, | ||||||
|  | 		width: '60%', | ||||||
|  | 		buttons: {  | ||||||
|  | 			'<?php print $this->lang->line('OK')?>': function () {  | ||||||
|  | 				var save_message = $("#code_edit_mainarea_save_message").val(); | ||||||
|  | 				if (save_message == '') return false; | ||||||
|  |  | ||||||
|  | 				editor.setReadOnly (true); | ||||||
|  | 				save_button.button ("disable"); | ||||||
|  | 				$.ajax({ | ||||||
|  | 					method: "POST", | ||||||
|  | 					dataType: "json", | ||||||
|  | 					url: codepot_merge_path('<?php print site_url() ?>',  '<?php print "/code/enjson_save/{$project->id}/{$hex_headpath}"; ?>'), | ||||||
|  | 					data: { "message": save_message, "text": editor.getValue() }, | ||||||
|  |  | ||||||
|  | 					success: function(json) {  | ||||||
|  |  | ||||||
|  | 						if (json.status == "ok") | ||||||
|  | 						{ | ||||||
|  | 							set_editor_changed (false); | ||||||
|  | 							save_button.button ("disable"); | ||||||
|  | 							// once the existing document is saved, arrange to return  | ||||||
|  | 							// to the the head revision regardless of the original revision. | ||||||
|  | 							return_button.attr ('href', base_return_anchor); | ||||||
|  | 							show_alert ('Saved', ''); | ||||||
|  | 						} | ||||||
|  | 						else | ||||||
|  | 						{ | ||||||
|  | 							show_alert ('Not saved - ' + codepot_htmlspecialchars(json.status), ''); | ||||||
|  | 							save_button.button ("enable"); | ||||||
|  | 						} | ||||||
|  | 						editor.setReadOnly (false); | ||||||
|  | 					}, | ||||||
|  |  | ||||||
|  | 					error: function(data) {  | ||||||
|  | 						show_alert ('Not saved', ''); | ||||||
|  | 						editor.setReadOnly (false); | ||||||
|  | 						save_button.button ("enable"); | ||||||
|  | 					} | ||||||
|  | 				}); | ||||||
|  | 				$(this).dialog('close');  | ||||||
|  | 			}, | ||||||
|  |  | ||||||
|  | 			'<?php print $this->lang->line('Cancel')?>': function () {  | ||||||
|  | 				$(this).dialog('close');  | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
|  | 		close: function() { } | ||||||
|  | 	});  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	save_button.click (function() { | ||||||
|  | 		if (editor_changed) $("#code_edit_mainarea_save_form").dialog('open'); | ||||||
|  | 		return false; | ||||||
|  | 	}); | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	$(window).resize(resize_editor); | ||||||
|  | 	resize_editor (); | ||||||
|  | }); | ||||||
|  | </script> | ||||||
|  |  | ||||||
|  | <title><?php  | ||||||
|  | 	if ($headpath == '') | ||||||
|  | 		printf ('%s', htmlspecialchars($project->name)); | ||||||
|  | 	else | ||||||
|  | 		printf ('%s - %s', htmlspecialchars($project->name), htmlspecialchars($headpath)); | ||||||
|  | ?></title> | ||||||
|  | </head> | ||||||
|  |  | ||||||
|  | <body> | ||||||
|  |  | ||||||
|  | <div class="content" id="code_edit_content"> | ||||||
|  |  | ||||||
|  | <!----------------------------------------------------------------------------> | ||||||
|  |  | ||||||
|  | <?php $this->load->view ('taskbar'); ?> | ||||||
|  |  | ||||||
|  | <!----------------------------------------------------------------------------> | ||||||
|  |  | ||||||
|  | <?php | ||||||
|  | $this->load->view ( | ||||||
|  | 	'projectbar', | ||||||
|  | 	array ( | ||||||
|  | 		'banner' => NULL, | ||||||
|  |  | ||||||
|  | 		'page' => array ( | ||||||
|  | 			'type' => 'project', | ||||||
|  | 			'id' => 'code', | ||||||
|  | 			'project' => $project, | ||||||
|  | 		), | ||||||
|  |  | ||||||
|  | 		'ctxmenuitems' => array () | ||||||
|  | 	) | ||||||
|  | ); | ||||||
|  | ?> | ||||||
|  |  | ||||||
|  | <!----------------------------------------------------------------------------> | ||||||
|  |  | ||||||
|  | <div class="mainarea" id="code_edit_mainarea"> | ||||||
|  |  | ||||||
|  | <div class="title" id="code_edit_mainarea_title"> | ||||||
|  | <?php | ||||||
|  | 	/*print anchor ( | ||||||
|  | 		"code/file/{$project->id}{$revreqroot}", | ||||||
|  | 		htmlspecialchars($project->name));*/ | ||||||
|  | 	print htmlspecialchars($project->name); | ||||||
|  |  | ||||||
|  | 	$exps = explode ('/', $headpath); | ||||||
|  | 	$expsize = count($exps); | ||||||
|  | 	$par = ''; | ||||||
|  | 	for ($i = 1; $i < $expsize; $i++) | ||||||
|  | 	{ | ||||||
|  | 		$par .= '/' . $exps[$i]; | ||||||
|  | 		$xpar = $this->converter->AsciiToHex ($par); | ||||||
|  |  | ||||||
|  | 		print '/'; | ||||||
|  | 		/* | ||||||
|  | 		print anchor ( | ||||||
|  | 			"code/file/{$project->id}/{$xpar}{$revreq}", | ||||||
|  | 			htmlspecialchars($exps[$i])); | ||||||
|  | 		*/ | ||||||
|  | 		print htmlspecialchars($exps[$i]); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	if ($headpath != $file['fullpath']) | ||||||
|  | 	{ | ||||||
|  | 		print ' - '; | ||||||
|  | 		print htmlspecialchars($file['fullpath']); | ||||||
|  | 	} | ||||||
|  | ?> | ||||||
|  | </div> <!-- code_edit_mainarea_title --> | ||||||
|  |  | ||||||
|  | <div class="infostrip" id="code_edit_mainarea_infostrip"> | ||||||
|  |  | ||||||
|  | 	<?php  | ||||||
|  | 		/* Saving file work on the head only. so the links here don't include the given revision anymore */ | ||||||
|  | 		print '<select id="code_edit_mainarea_mode"></select>'; | ||||||
|  | 		print ' '; | ||||||
|  | 		print anchor ("code/file/{$project->id}/{$hex_headpath}", $this->lang->line('Save'), 'id="code_edit_mainarea_save_button"'); | ||||||
|  | 		print ' '; | ||||||
|  | 		print anchor ("code/file/{$project->id}/{$hex_headpath}{$revreq}", $this->lang->line('Return'), 'id="code_edit_mainarea_return_button"'); | ||||||
|  | 	?> | ||||||
|  |  | ||||||
|  | </div> | ||||||
|  |  | ||||||
|  | <div class="result" id="code_edit_mainarea_result"> | ||||||
|  |  | ||||||
|  | <?php  | ||||||
|  | /* | ||||||
|  | $fileext = substr(strrchr($file['name'], '.'), 1); | ||||||
|  | if ($fileext == 'adb' || $fileext == 'ads') $fileext = 'ada'; | ||||||
|  | else if ($fileext == 'pas') $fileext = 'pascal'; | ||||||
|  | else if ($fileext == 'bas') $fileext = 'basic'; | ||||||
|  | */ | ||||||
|  | ?> | ||||||
|  |  | ||||||
|  | <div id="code_edit_mainarea_result_code"><?php  | ||||||
|  | /* | ||||||
|  | 	$is_octet_stream = FALSE; | ||||||
|  | 	if (array_key_exists('properties', $file) && count($file['properties']) > 0) | ||||||
|  | 	{ | ||||||
|  | 		foreach ($file['properties'] as $pn => $pv) | ||||||
|  | 		{ | ||||||
|  | 			if ($pn == 'svn:mime-type' && $pv == 'application/octet-stream') | ||||||
|  | 			{ | ||||||
|  | 				$is_octet_stream = TRUE; | ||||||
|  | 				break; | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	$is_image_stream = FALSE; | ||||||
|  | 	if ($is_octet_stream ||  | ||||||
|  | 	    in_array (strtolower($fileext), array ('png', 'jpg', 'gif', 'tif', 'bmp', 'ico'))) | ||||||
|  | 	{ | ||||||
|  | 		$img = @imagecreatefromstring ($file['content']); | ||||||
|  | 		if ($img !== FALSE) | ||||||
|  | 		{ | ||||||
|  | 			@imagedestroy ($img); | ||||||
|  | 			print ('<img src="data:image;base64,' . base64_encode ($file['content']) . '" alt="[image]" />'); | ||||||
|  | 			$is_image_stream = TRUE; | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	if (!$is_image_stream)*/ print htmlspecialchars($file['content']);  | ||||||
|  | ?></div> | ||||||
|  |  | ||||||
|  | </div> <!-- code_edit_mainarea_result --> | ||||||
|  |  | ||||||
|  | <div id="code_edit_mainarea_save_form"> | ||||||
|  | 	<div> | ||||||
|  | 		<?php print $this->lang->line('Message'); ?> | ||||||
|  | 	</div> | ||||||
|  | 	<div> | ||||||
|  | 		<textarea id='code_edit_mainarea_save_message' rows=10 cols=60 style="width: 100%;"></textarea> | ||||||
|  | 	</div> | ||||||
|  | </div> | ||||||
|  |  | ||||||
|  | <div id="code_edit_mainarea_alert"> | ||||||
|  | </div> | ||||||
|  |  | ||||||
|  | </div> <!-- code_edit_mainarea --> | ||||||
|  |  | ||||||
|  | <div class='footer-pusher'></div> <!-- for sticky footer --> | ||||||
|  |  | ||||||
|  | </div> <!--  code_edit_content --> | ||||||
|  |  | ||||||
|  | <!----------------------------------------------------------------------------> | ||||||
|  |  | ||||||
|  | <?php $this->load->view ('footer'); ?> | ||||||
|  |  | ||||||
|  | <!----------------------------------------------------------------------------> | ||||||
|  |  | ||||||
|  |  | ||||||
|  | </body> | ||||||
|  |  | ||||||
|  | </html> | ||||||
|  |  | ||||||
		Reference in New Issue
	
	Block a user