783e3b36e32677571c85e7b8773404b7694bcd59
Jeremy D Completed Info Maker secti...

Jeremy D authored 12 years ago

assets/script_mod.js   1) /*
assets/script_mod.js   2)  * SMF Package Manager Generator
assets/script_mod.js   3)  * Author: SleePy (JeremyD)
assets/script_mod.js   4)  * Repository: https://github.com/jdarwood007/smf_package_maker
assets/script_mod.js   5)  * License: BSD 3 Clause; See license.txt
assets/script_mod.js   6) */
assets/script_mod.js   7) 
assets/script_mod.js   8) /* This gets things going once the document has loaded, also makes sure JQuery is here. */
Jeremy D Initial SMF Package Maker S...

Jeremy D authored 12 years ago

assets/script.js       9) $(document).ready(function(){
Jeremy D Completed Info Maker secti...

Jeremy D authored 12 years ago

assets/script_mod.js  10) 	/* Start off some counting */
Jeremy D Initial SMF Package Maker S...

Jeremy D authored 12 years ago

assets/script.js      11) 	file_count = 1;
assets/script.js      12) 	edit_count =new Array();
assets/script.js      13) 	edit_count[file_count] = 1;
assets/script.js      14) 
Jeremy D Forgot about using live, i...

Jeremy D authored 12 years ago

assets/script_mod.js  15) 	/* Bind some stuff to our files, using live so they auto update as new stuff is added. */
assets/script_mod.js  16) 	$('.collapse_file').live('click', collapse_file);
assets/script_mod.js  17) 	$('.expand_file').live('click', expand_file);
assets/script_mod.js  18) 	$('.delete_file').live('click', delete_file);
assets/script_mod.js  19) 	$('.restore_file').live('click', restore_file);
assets/script_mod.js  20) 
assets/script_mod.js  21) 	/* Now we will bind to the actual edits, again using live. */
assets/script_mod.js  22) 	$('.collapse_change').live('click', collapse_edit);
assets/script_mod.js  23) 	$('.expand_change').live('click', expand_edit);
assets/script_mod.js  24) 	$('.delete_change').live('click', delete_edit);
assets/script_mod.js  25) 	$('.restore_change').live('click', restore_edit);
Jeremy D Initial SMF Package Maker S...

Jeremy D authored 12 years ago

assets/script.js      26) 
Jeremy D Completed Info Maker secti...

Jeremy D authored 12 years ago

assets/script_mod.js  27) 	/* Give our buttons some actions. */
Jeremy D Forgot about using live, i...

Jeremy D authored 12 years ago

assets/script_mod.js  28) 	$('#add_file').click(create_new_file);
assets/script_mod.js  29) 	$('.add_edit').live('click', create_new_edit);
Jeremy D Initial SMF Package Maker S...

Jeremy D authored 12 years ago

assets/script.js      30) 	$('#show_preview').click(show_edit_preview);
Jeremy D Completed Info Maker secti...

Jeremy D authored 12 years ago

assets/script_mod.js  31) 
assets/script_mod.js  32) 	/* The details and basic buttons. */
assets/script_mod.js  33) 	$('#collapse_basic').click(function(){$('#basic_info .info').hide(); $('#collapse_basic').hide(); $('#restore_basic').show();});
assets/script_mod.js  34) 	$('#restore_basic').click(function(){$('#basic_info .info').show(); $('#restore_basic').hide(); $('#collapse_basic').show();});
assets/script_mod.js  35) 	$('#collapse_details').click(function(){$('#details_info .info').hide(); $('#collapse_details').hide(); $('#restore_details').show();});
assets/script_mod.js  36) 	$('#restore_details').click(function(){$('#details_info .info').show(); $('#restore_details').hide(); $('#collapse_details').show();});
Jeremy D Forgot about using live, i...

Jeremy D authored 12 years ago

assets/script_mod.js  37) 
assets/script_mod.js  38) 	/* Kick things off by creating a file. */
assets/script_mod.js  39) 	create_new_file();
Jeremy D Initial SMF Package Maker S...

Jeremy D authored 12 years ago

assets/script.js      40) });
assets/script.js      41) 
assets/script.js      42) /* Handles adding files */
assets/script.js      43) function create_new_file()
assets/script.js      44) {
assets/script.js      45) 	/* We have been through this before */
assets/script.js      46) 	$('#file_container').append($('#file_template').html().replace(/#FILEINDEX#/g, file_count));
assets/script.js      47) 
assets/script.js      48) 	/* Now we pretend to click said element */
assets/script.js      49) 	$('#file-' + file_count).find('.add_edit').click();
assets/script.js      50) 
assets/script.js      51) 	/* Move the index and add defaults */
assets/script.js      52) 	file_count++;
assets/script.js      53) 	edit_count[file_count] = 1;
assets/script.js      54) 
assets/script.js      55) 	update_counter();
assets/script.js      56) }
assets/script.js      57) 
assets/script.js      58) /* Handles adding of edits */
assets/script.js      59) function create_new_edit()
assets/script.js      60) {
assets/script.js      61) 	file_index = $(this).attr('data-file');
assets/script.js      62) 
assets/script.js      63) 	$('#file-' + file_index + '-edit_container').append($('#edit_template').html().replace(/#FILEINDEX#/g, file_index).replace(/#EDITINDEX#/g, edit_count[file_index]));
assets/script.js      64) 	edit_count[file_index]++;
assets/script.js      65) 
assets/script.js      66) 	update_counter();
assets/script.js      67) }
assets/script.js      68) 
assets/script.js      69) /* Handles collapsing of the edit */
assets/script.js      70) function collapse_edit()
assets/script.js      71) {
assets/script.js      72) 	file_index = $(this).attr('data-file');
assets/script.js      73) 	edit_index = $(this).attr('data-edit');
assets/script.js      74) 
assets/script.js      75) 	/* Simply hide the edit, and give a expand button */
assets/script.js      76) 	$('#file-' + file_index + '-edit-' + edit_index + ' .edits').hide();
assets/script.js      77) 	$('#file-' + file_index + '-edit-' + edit_index + ' .expand_change').show();
assets/script.js      78) 	$(this).hide();
Jeremy D Forgot about using live, i...

Jeremy D authored 12 years ago

assets/script_mod.js  79) 
assets/script_mod.js  80) 	return false;
Jeremy D Initial SMF Package Maker S...

Jeremy D authored 12 years ago

assets/script.js      81) }
assets/script.js      82) 
assets/script.js      83) /* Handles expanding of the edit */
assets/script.js      84) function expand_edit()
assets/script.js      85) {
assets/script.js      86) 	file_index = $(this).attr('data-file');
assets/script.js      87) 	edit_index = $(this).attr('data-edit');
assets/script.js      88) 
assets/script.js      89) 	/* Simply show the edit, and return to the original collapse button */
assets/script.js      90) 	$('#file-' + file_index + '-edit-' + edit_index + ' .edits').show();
assets/script.js      91) 	$('#file-' + file_index + '-edit-' + edit_index + ' .collapse_change').show();
assets/script.js      92) 	$(this).hide();
Jeremy D Forgot about using live, i...

Jeremy D authored 12 years ago

assets/script_mod.js  93) 
assets/script_mod.js  94) 	return false;
Jeremy D Initial SMF Package Maker S...

Jeremy D authored 12 years ago

assets/script.js      95) }
assets/script.js      96) 
assets/script.js      97) /* Handles deleting a edit */
assets/script.js      98) function delete_edit()
assets/script.js      99) {
assets/script.js     100) 	file_index = $(this).attr('data-file');
assets/script.js     101) 	edit_index = $(this).attr('data-edit');
assets/script.js     102) 
assets/script.js     103) 	/* First we let the data know its deleted. */
assets/script.js     104) 	$('#file-' + file_index + '-edit-' + edit_index + '-delete').val('1');
assets/script.js     105) 
assets/script.js     106) 	/* Then we hide this header, collapse the edit and show the restore button */
assets/script.js     107) 	$('#file-' + file_index + '-edit-' + edit_index + ' .edits').hide();
assets/script.js     108) 	$('#file-' + file_index + '-edit-' + edit_index + ' .restore_change').show();
assets/script.js     109) 	$(this).hide();
assets/script.js     110) 
assets/script.js     111) 	update_counter();
Jeremy D Forgot about using live, i...

Jeremy D authored 12 years ago

assets/script_mod.js 112) 	return false;
Jeremy D Initial SMF Package Maker S...

Jeremy D authored 12 years ago

assets/script.js     113) }
assets/script.js     114) 
assets/script.js     115) /* Handles restoring a edit */
assets/script.js     116) function restore_edit()
assets/script.js     117) {
assets/script.js     118) 	file_index = $(this).attr('data-file');
assets/script.js     119) 	edit_index = $(this).attr('data-edit');
assets/script.js     120) 
assets/script.js     121) 	/* First we let the data know its deleted. */
assets/script.js     122) 	$('#file-' + file_index + '-edit-' + edit_index + '-delete').val('0');
assets/script.js     123) 
assets/script.js     124) 	/* Then we hide this header, collapse the edit and show the restore button */
assets/script.js     125) 	$('#file-' + file_index + '-edit-' + edit_index + ' .edits').show();
assets/script.js     126) 	$('#file-' + file_index + '-edit-' + edit_index + ' .delete_change').show();
assets/script.js     127) 	$(this).hide();
assets/script.js     128) 
assets/script.js     129) 	update_counter();
Jeremy D Forgot about using live, i...

Jeremy D authored 12 years ago

assets/script_mod.js 130) 	return false;
Jeremy D Initial SMF Package Maker S...

Jeremy D authored 12 years ago

assets/script.js     131) }
assets/script.js     132) 
assets/script.js     133) /* Handles collapsing of the file */
assets/script.js     134) function collapse_file()
assets/script.js     135) {
assets/script.js     136) 	file_index = $(this).attr('data-file');
assets/script.js     137) 
assets/script.js     138) 	/* Simply hide the file, and give a expand button */
assets/script.js     139) 	$('#file-' + file_index + '-edit_container').hide();
assets/script.js     140) 	$('#file-' + file_index + ' .expand_file').show();
assets/script.js     141) 	$(this).hide();
Jeremy D Forgot about using live, i...

Jeremy D authored 12 years ago

assets/script_mod.js 142) 
assets/script_mod.js 143) 	return false;
Jeremy D Initial SMF Package Maker S...

Jeremy D authored 12 years ago

assets/script.js     144) }
assets/script.js     145) 
assets/script.js     146) /* Handles expanding of the file */
assets/script.js     147) function expand_file()
assets/script.js     148) {
assets/script.js     149) 	file_index = $(this).attr('data-file');
assets/script.js     150) 
assets/script.js     151) 	/* Simply show the file, and return to the original collapse button */
assets/script.js     152) 	$('#file-' + file_index + '-edit_container').show();
assets/script.js     153) 	$('#file-' + file_index + ' .collapse_file').show();
assets/script.js     154) 	$(this).hide();
Jeremy D Forgot about using live, i...

Jeremy D authored 12 years ago

assets/script_mod.js 155) 
assets/script_mod.js 156) 	return false;
Jeremy D Initial SMF Package Maker S...

Jeremy D authored 12 years ago

assets/script.js     157) }
assets/script.js     158) 
assets/script.js     159) /* Handles deleting a file */
assets/script.js     160) function delete_file()
assets/script.js     161) {
assets/script.js     162) 	file_index = $(this).attr('data-file');
assets/script.js     163) 
assets/script.js     164) 	/* First we let the data know its deleted. */
assets/script.js     165) 	$('#file-' + file_index + '-delete').val('1');
assets/script.js     166) 
assets/script.js     167) 	/* Then we hide this header, collapse the edit and show the restore button */
assets/script.js     168) 	$('#file-' + file_index + '-edit_container').hide();
assets/script.js     169) 	$('#file-' + file_index + ' .restore_file').show();
assets/script.js     170) 	$(this).hide();
assets/script.js     171) 
assets/script.js     172) 	update_counter();
Jeremy D Forgot about using live, i...

Jeremy D authored 12 years ago

assets/script_mod.js 173) 	return false;
Jeremy D Initial SMF Package Maker S...

Jeremy D authored 12 years ago

assets/script.js     174) }
assets/script.js     175) 
assets/script.js     176) /* Handles restoring a file */
assets/script.js     177) function restore_file()
assets/script.js     178) {
assets/script.js     179) 	file_index = $(this).attr('data-file');
assets/script.js     180) 
assets/script.js     181) 	/* First we let the data know its deleted. */
assets/script.js     182) 	$('#file-' + file_index + '-delete').val('0');
assets/script.js     183) 
assets/script.js     184) 	/* Then we hide this header, collapse the edit and show the restore button */
Jeremy D Couldn't restore a file/ac...

Jeremy D authored 12 years ago

assets/script_mod.js 185) 	$('#file-' + file_index + '-edit_container').show();
Jeremy D Initial SMF Package Maker S...

Jeremy D authored 12 years ago

assets/script.js     186) 	$('#file-' + file_index + ' .delete_file').show();
assets/script.js     187) 	$(this).hide();
assets/script.js     188) 
assets/script.js     189) 	update_counter();
Jeremy D Forgot about using live, i...

Jeremy D authored 12 years ago

assets/script_mod.js 190) 	return false;
Jeremy D Initial SMF Package Maker S...

Jeremy D authored 12 years ago

assets/script.js     191) }
assets/script.js     192) 
assets/script.js     193) /* This is the nasty guy */
assets/script.js     194) function show_edit_preview()
assets/script.js     195) {
assets/script.js     196) 	$('#preview_container').show();
assets/script.js     197) 
assets/script.js     198) 	author = $('#basic_info_name').val().replace(/ /g,'_');
assets/script.js     199) 	name = $('#basic_info_mod').val().replace(/ /g,'_');
assets/script.js     200) 	version = $('#basic_info_version').val().replace(/ /g,'_');
assets/script.js     201) 
assets/script.js     202) 	preview = '<' + '?xml version="1.0"?' + '>' + "\n" + '\
assets/script.js     203) <!DOCTYPE modification SYSTEM "http://www.simplemachines.org/xml/modification">' + "\n" + '\
assets/script.js     204) <!-- This package was generated by SleePys Modification Maker at http://sleepycode.com -->' + "\n" + '\
assets/script.js     205) <modification xmlns="http://www.simplemachines.org/xml/modification" xmlns:smf="http://www.simplemachines.org/">' + "\n" + '\
assets/script.js     206) 	<id>' + author + ':' + name + '</id>' + "\n" + '\
assets/script.js     207) 	<version>' + version + '</version>' + "\n";
assets/script.js     208) 
assets/script.js     209) 	i = 1;
assets/script.js     210) 	for (i = 1; i < file_count; i++)
assets/script.js     211) 	{
assets/script.js     212) 		/* Skip this edit if we deleted it. */
assets/script.js     213) 		if ($('#file-' + i + '-delete').val() == '1')
assets/script.js     214) 		{
assets/script.js     215) 			continue;
assets/script.js     216) 		}
assets/script.js     217) 
assets/script.js     218) 		/* Find our edit count */
assets/script.js     219) 		ecount = edit_count[i];
assets/script.js     220) 
assets/script.js     221) 		/* Get the file info */
assets/script.js     222) 		file_type = $('#file-' + i + '-file_type').val();
assets/script.js     223) 		file_name = $('#file-' + i + '-file_name').val();
assets/script.js     224) 		file_fail = $('#file-' + i + '-file_fail').val();
assets/script.js     225) 
assets/script.js     226) 		/* Start off with the file attribute */
assets/script.js     227) 		preview += "\n" + '\
assets/script.js     228) 	<file name="' + file_type + '/' + file_name + '"';
assets/script.js     229) 
assets/script.js     230) 		/* We don't need to define the default error type. */
assets/script.js     231) 		if ($.inArray(file_fail, ["ignore", "skip"]) > -1)
assets/script.js     232) 		{
assets/script.js     233) 			preview += ' error="' + file_fail + '"';
assets/script.js     234) 		}
assets/script.js     235) 		preview += '>';
assets/script.js     236) 
assets/script.js     237) 		/* Now onto the individual edits we made! */
assets/script.js     238) 		for (j = 1; j < ecount; j++)
assets/script.js     239) 		{
assets/script.js     240) 			/* Skip this edit if we deleted it. */
assets/script.js     241) 			if ($('#file-' + i + '-edit-' + j + '-delete').val() == '1')
assets/script.js     242) 			{
assets/script.js     243) 				continue;
assets/script.js     244) 			}
assets/script.js     245) 
assets/script.js     246) 			/* Get our edit info */
assets/script.js     247) 			edit_action		=	$('#file-' + i + '-edit-' + j + '-action').val();
assets/script.js     248) 			edit_error		=	$('#file-' + i + '-edit-' + j + '-error').val();
assets/script.js     249) 			edit_whitespace	=	$('#file-' + i + '-edit-' + j + '-action').is(':checked');
assets/script.js     250) 			edit_search		=	$('#file-' + i + '-edit-' + j + '-search').val();
assets/script.js     251) 			edit_replace	=	$('#file-' + i + '-edit-' + j + '-replace').val();
assets/script.js     252) 
assets/script.js     253) 			/* Start off our editing */
assets/script.js     254) 			preview += "\n\
assets/script.js     255) 		<operation";
assets/script.js     256) 
assets/script.js     257) 			/* We only need to add error handling for non default */
assets/script.js     258) 			if ($.inArray(edit_error, ["ignore", "required"]) > -1)
assets/script.js     259) 			{
assets/script.js     260) 				preview += ' error="' + file_fail + '"';
assets/script.js     261) 			}
assets/script.js     262) 			preview += '>';
assets/script.js     263) 
assets/script.js     264) 			/* Handle our search action */
assets/script.js     265) 			if (edit_action == 'end')
assets/script.js     266) 			{
assets/script.js     267) 				preview += "\n" + '\
assets/script.js     268) 			<search position="end"/>';
assets/script.js     269) 			}
assets/script.js     270) 			else
assets/script.js     271) 			{
assets/script.js     272) 				preview += "\n" + '\
assets/script.js     273) 			<search position="' + edit_action + '"';
assets/script.js     274) 
assets/script.js     275) 				/* Ignore whitespace issues */
assets/script.js     276) 				if (edit_whitespace)
assets/script.js     277) 				{
assets/script.js     278) 					preview += ' whitespace="loose"';
assets/script.js     279) 				}
assets/script.js     280) 
assets/script.js     281) 				/* Finally our code. */
assets/script.js     282) 				preview += '><![CDATA[' + edit_search + ']]></search>';
assets/script.js     283) 			}
assets/script.js     284) 
assets/script.js     285) 			/* Now our replace/add operation */
assets/script.js     286) 			preview += "\n" + '\
assets/script.js     287) 			<add><![CDATA[' + edit_replace + ']]></add>' + "\n" + '\
assets/script.js     288) 		</operation>';
assets/script.js     289) 
assets/script.js     290) 		}
assets/script.js     291) 
assets/script.js     292) 		/* Close up the file edit */
assets/script.js     293) 		preview += "\n\
assets/script.js     294) 	</file>";
assets/script.js     295) 
assets/script.js     296) 	}
assets/script.js     297) 
Jeremy D ! Forgot a few closing ret...

Jeremy D authored 12 years ago

assets/script_mod.js 298) 	preview += "\n" + '\
assets/script_mod.js 299) </modification>';
assets/script_mod.js 300) 
Jeremy D Initial SMF Package Maker S...

Jeremy D authored 12 years ago

assets/script.js     301) 	$('#preview').text(preview);
assets/script.js     302) }
assets/script.js     303) 
assets/script.js     304) function download_file_generate()
assets/script.js     305) {
assets/script.js     306) 	show_edit_preview();
assets/script.js     307) 
assets/script.js     308) 	$.generateFile({
Jeremy D Made it so we can change t...

Jeremy D authored 12 years ago

assets/script_mod.js 309) 		filename	: 'install.xml',
Jeremy D Initial SMF Package Maker S...

Jeremy D authored 12 years ago

assets/script.js     310) 		content		: $('#preview').text(),
Jeremy D Made it so we can change t...

Jeremy D authored 12 years ago

assets/script_mod.js 311) 		script		: $('#downloadername').val() + '?download'
Jeremy D Initial SMF Package Maker S...

Jeremy D authored 12 years ago

assets/script.js     312) 	});
assets/script.js     313) }
assets/script.js     314) 
assets/script.js     315) function download_file_data()
assets/script.js     316) {
assets/script.js     317) 	show_edit_preview();
assets/script.js     318) 
assets/script.js     319) 	data = $.base64.encode($('#preview').text());
assets/script.js     320) 
assets/script.js     321) 	/* No filename can be specified by a data URI */
Jeremy D Made it so we can change t...

Jeremy D authored 12 years ago

assets/script_mod.js 322) 	window.location = 'data:application/octet-stream;charset=utf-8;base64,' + data;
Jeremy D Initial SMF Package Maker S...

Jeremy D authored 12 years ago

assets/script.js     323) }
assets/script.js     324) 
assets/script.js     325) /* Updates our details counters */
assets/script.js     326) function update_counter()
assets/script.js     327) {
assets/script.js     328) 	temp_file_count = 0;
assets/script.js     329) 	temp_edit_count = 0;
assets/script.js     330) 	temp_line_count = 0;
assets/script.js     331) 
Jeremy D Added Package Info stuff a...

Jeremy D authored 12 years ago

assets/script_mod.js 332) 	/* Because of deleted actions, we can't simply use length */