You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							116 lines
						
					
					
						
							3.8 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							116 lines
						
					
					
						
							3.8 KiB
						
					
					
				
								  <div class="narrow">
							 | 
						|
								    <?= partial('partials/header') ?>
							 | 
						|
								
							 | 
						|
								      <div style="clear: both;" class="notice-pad">
							 | 
						|
								        <div class="alert alert-success hidden" id="test_success"><strong>Success! </strong><a href="" id="post_href">View your post</a></div>
							 | 
						|
								        <div class="alert alert-danger hidden" id="test_error"><strong>Something went wrong!</strong><br>Your Micropub endpoint indicated that something went wrong creating the post.</div>
							 | 
						|
								      </div>
							 | 
						|
								
							 | 
						|
								      <form role="form" style="margin-top: 20px;" id="note_form">
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								        <div class="form-group" id="note-name">
							 | 
						|
								          <label for="note_name">File Name (optional)</label>
							 | 
						|
								          <input type="text" id="note_name" value="<?= htmlspecialchars($this->edit_data['name']) ?>" class="form-control" placeholder="">
							 | 
						|
								        </div>
							 | 
						|
								
							 | 
						|
								        <div class="form-group">
							 | 
						|
								          <label for="note_content">Code</label>
							 | 
						|
								          <textarea id="note_content" value="" class="form-control code-snippet" style="height: 12em;"><?= htmlspecialchars($this->edit_data['content']) ?></textarea>
							 | 
						|
								        </div>
							 | 
						|
								
							 | 
						|
								        <?php if(!$this->url): ?>
							 | 
						|
								        <label for="note_language">Language</label>
							 | 
						|
								        <select class="form-control" id="note_language">
							 | 
						|
								          <?php
							 | 
						|
								            foreach($this->languages as $lang=>$exts):
							 | 
						|
								              ?>
							 | 
						|
								              <option value="<?= $lang ?>"<?= $lang == 'text' ? ' selected="selected"' : '' ?>><?= $lang ?></option>
							 | 
						|
								              <?php
							 | 
						|
								            endforeach;
							 | 
						|
								          ?>
							 | 
						|
								        </select>
							 | 
						|
								        <?php endif; ?>
							 | 
						|
								
							 | 
						|
								        <div style="float: right; margin-top: 6px;">
							 | 
						|
								          <button class="btn btn-success" id="btn_post"><?= $this->url ? 'Save' : 'Post' ?></button>
							 | 
						|
								        </div>
							 | 
						|
								
							 | 
						|
								        <input type="hidden" id="edit_url" value="<?= $this->url ?>">
							 | 
						|
								      </form>
							 | 
						|
								
							 | 
						|
								      <div style="clear: both;"></div>
							 | 
						|
								
							 | 
						|
								      <hr>
							 | 
						|
								      <div style="text-align: right;" id="bookmarklet">
							 | 
						|
								        Bookmarklet: <a href="javascript:<?= js_bookmarklet('partials/code-bookmarklet', $this) ?>" class="btn btn-default btn-xs">code</a>
							 | 
						|
								      </div>
							 | 
						|
								
							 | 
						|
								  </div>
							 | 
						|
								<script>
							 | 
						|
								$(function(){
							 | 
						|
								
							 | 
						|
								  var language_map = <?= json_encode($this->language_map) ?>;
							 | 
						|
								
							 | 
						|
								  $("#note_name").on("keyup", function(){
							 | 
						|
								    var name = $("#note_name").val();
							 | 
						|
								    if(name && (m=name.match(/\.([a-z]+)$/))) {
							 | 
						|
								      if(language_map[m[1]]) {
							 | 
						|
								        $("#note_language").val(language_map[m[1]]);
							 | 
						|
								      }
							 | 
						|
								    }
							 | 
						|
								  });
							 | 
						|
								
							 | 
						|
								  $("#note_content").on('keyup', function(){
							 | 
						|
								    var scrollHeight = document.getElementById("note_content").scrollHeight;
							 | 
						|
								    var currentHeight = parseInt($("#note_content").css("height"));
							 | 
						|
								    if(Math.abs(scrollHeight - currentHeight) > 20) {
							 | 
						|
								      $("#note_content").css("height", (scrollHeight+30)+"px");
							 | 
						|
								    }
							 | 
						|
								  });
							 | 
						|
								
							 | 
						|
								  $("#btn_post").click(function(){
							 | 
						|
								    $("#btn_post").addClass("loading disabled");
							 | 
						|
								
							 | 
						|
								    var syndications = [];
							 | 
						|
								    $("#syndication-container button.btn-info").each(function(i,btn){
							 | 
						|
								      syndications.push($(btn).data('syndication'));
							 | 
						|
								    });
							 | 
						|
								
							 | 
						|
								    var params = {
							 | 
						|
								      content: $("#note_content").val(),
							 | 
						|
								    };
							 | 
						|
								    if($("#edit_url").val() != "") {
							 | 
						|
								      params['edit'] = $("#edit_url").val();
							 | 
						|
								    } else {
							 | 
						|
								      params['language'] = $("#note_language").val();
							 | 
						|
								    }
							 | 
						|
								    if($("#note_name").val() != "") {
							 | 
						|
								      params['name'] = $("#note_name").val();
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    $.post("/code", params, function(response){
							 | 
						|
								      if(response.location != false) {
							 | 
						|
								
							 | 
						|
								        $("#test_success").removeClass('hidden');
							 | 
						|
								        $("#test_error").addClass('hidden');
							 | 
						|
								        $("#post_href").attr("href", response.location);
							 | 
						|
								        $("#note_form").addClass('hidden');
							 | 
						|
								
							 | 
						|
								        window.location = response.location;
							 | 
						|
								      } else {
							 | 
						|
								        $("#test_success").addClass('hidden');
							 | 
						|
								        $("#test_error").removeClass('hidden');
							 | 
						|
								        if(response.error_details) {
							 | 
						|
								          $("#test_error").text(response.error_details);
							 | 
						|
								        }
							 | 
						|
								        $("#btn_post").removeClass("loading disabled");
							 | 
						|
								      }
							 | 
						|
								
							 | 
						|
								    });
							 | 
						|
								    return false;
							 | 
						|
								  });
							 | 
						|
								
							 | 
						|
								});
							 | 
						|
								
							 | 
						|
								</script>
							 |