0% found this document useful (0 votes)
5 views

Sample Public Front Page

This document provides an example PHP file for building a public interface and bookmarklets for a URL shortening service. It includes code for shortening URLs from a form submission or bookmarklet and displaying the results. The file also shows how to generate different types of bookmarklets for shortening URLs.

Uploaded by

Hafidz Novianas
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Sample Public Front Page

This document provides an example PHP file for building a public interface and bookmarklets for a URL shortening service. It includes code for shortening URLs from a form submission or bookmarklet and displaying the results. The file also shows how to generate different types of bookmarklets for shortening URLs.

Uploaded by

Hafidz Novianas
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

<?

php

/*
* This is an example file for a public interface and a bookmarklet. It
* is provided so you can build from it and customize to suit your needs.
* It's not really part of the project. Don't submit feature requests
* about this file. It's _your_ job to make it what you need it to be :)
*
* Rename to .php
*
*/

// Start YOURLS engine


require_once( dirname(__FILE__).'/includes/load-yourls.php' );

// Change this to match the URL of your public interface. Something like:
http://your-own-domain-here.com/index.php
$page = YOURLS_SITE . '/sample-public-front-page.php' ;

// Part to be executed if FORM has been submitted


if ( isset( $_REQUEST['url'] ) && $_REQUEST['url'] != 'http://' ) {

// Get parameters -- they will all be sanitized in yourls_add_new_link()


$url = $_REQUEST['url'];
$keyword = isset( $_REQUEST['keyword'] ) ? $_REQUEST['keyword'] : '' ;
$title = isset( $_REQUEST['title'] ) ? $_REQUEST['title'] : '' ;
$text = isset( $_REQUEST['text'] ) ? $_REQUEST['text'] : '' ;

// Create short URL, receive array $return with various information


$return = yourls_add_new_link( $url, $keyword, $title );

$shorturl = isset( $return['shorturl'] ) ? $return['shorturl'] : '';


$message = isset( $return['message'] ) ? $return['message'] : '';
$title = isset( $return['title'] ) ? $return['title'] : '';
$status = isset( $return['status'] ) ? $return['status'] : '';

// Stop here if bookmarklet with a JSON callback function ("instant"


bookmarklets)
if( isset( $_GET['jsonp'] ) && $_GET['jsonp'] == 'yourls' ) {
$short = $return['shorturl'] ? $return['shorturl'] : '';
$message = "Short URL (Ctrl+C to copy)";
header('Content-type: application/json');
echo yourls_apply_filter( 'bookmarklet_jsonp',
"yourls_callback({'short_url':'$short','message':'$message'});" );

die();
}
}

// Insert <head> markup and all CSS & JS files


yourls_html_head();

// Display title
echo "<h1>YOURLS - Your Own URL Shortener</h1>\n";

// Display left hand menu


yourls_html_menu() ;

// Part to be executed if FORM has been submitted


if ( isset( $_REQUEST['url'] ) && $_REQUEST['url'] != 'http://' ) {

// Display result message of short link creation


if( isset( $message ) ) {
echo "<h2>$message</h2>";
}

if( $status == 'success' ) {


// Include the Copy box and the Quick Share box
yourls_share_box( $url, $shorturl, $title, $text );

// Initialize clipboard -- requires js/share.js and js/clipboard.min.js


to be properly loaded in the <head>
echo "<script>init_clipboard();</script>\n";
}

// Part to be executed when no form has been submitted


} else {

$site = YOURLS_SITE;

// Display the form


echo <<<HTML
<h2>Enter a new URL to shorten</h2>
<form method="post" action="">
<p><label>URL: <input type="text" class="text" name="url"
value="http://" /></label></p>
<p><label>Optional custom short URL: $site/<input type="text"
class="text" name="keyword" /></label></p>
<p><label>Optional title: <input type="text" class="text"
name="title" /></label></p>
<p><input type="submit" class="button primary" value="Shorten" /></p>
</form>
HTML;

?>

<h2>Bookmarklets</h2>

<p>Bookmark these links:</p>

<p>

<a href="javascript:(function()%7Bvar
%20d=document,w=window,enc=encodeURIComponent,e=w.getSelection,k=d.getSelection,x=d
.selection,s=(e?e():(k)?k():(x?x.createRange().text:0)),s2=((s.toString()=='')?
s:enc(s)),f='<?php echo $page; ?>',l=d.location,p='?url='+enc(l.href)
+'&title='+enc(d.title)+'&text='+s2,u=f+p;try%7Bthrow('ozhismygod');%7Dcatch(z)
%7Ba=function()%7Bif(!w.open(u))l.href=u;%7D;if(/
Firefox/.test(navigator.userAgent))setTimeout(a,0);else%20a();%7Dvoid(0);%7D)()"
class="bookmarklet">Default</a>

<a href="javascript:(function()%7Bvar
%20d=document,w=window,enc=encodeURIComponent,e=w.getSelection,k=d.getSelection,x=d
.selection,s=(e?e():(k)?k():(x?x.createRange().text:0)),s2=((s.toString()=='')?
s:enc(s)),f='<?php echo $page; ?>',l=d.location,k=prompt(%22Custom%20URL
%22),k2=(k?'&keyword='+k:%22%22),p='?url='+enc(l.href)+'&title='+enc(d.title)
+'&text='+s2+k2,u=f+p;if(k!=null)%7Btry%7Bthrow('ozhismygod');%7Dcatch(z)
%7Ba=function()%7Bif(!w.open(u))l.href=u;%7D;if(/
Firefox/.test(navigator.userAgent))setTimeout(a,0);else%20a();%7Dvoid(0)%7D%7D)()"
class="bookmarklet">Custom</a>

<a href="javascript:(function()%7Bvar
%20d=document,s=d.createElement('script');window.yourls_callback=function(r)
%7Bif(r.short_url)%7Bprompt(r.message,r.short_url);%7Delse%7Balert('An%20error
%20occurred:%20'+r.message);%7D%7D;s.src='<?php echo $page; ?>?
url='+encodeURIComponent(d.location.href)
+'&jsonp=yourls';void(d.body.appendChild(s));%7D)();" class="bookmarklet">Popup</a>

<a href="javascript:(function()%7Bvar%20d=document,k=prompt('Custom
%20URL'),s=d.createElement('script');if(k!=null){window.yourls_callback=function(r)
%7Bif(r.short_url)%7Bprompt(r.message,r.short_url);%7Delse%7Balert('An%20error
%20occurred:%20'+r.message);%7D%7D;s.src='<?php echo $page; ?>?
url='+encodeURIComponent(d.location.href)
+'&keyword='+k+'&jsonp=yourls';void(d.body.appendChild(s));%7D%7D)();"
class="bookmarklet">Custom Popup</a>

</p>

<h2>Please note</h2>

<p>Be aware that a public interface <strong>will</strong> attract spammers. You are
strongly advised to install anti spam plugins and any appropriate counter measure
to deal with this issue.</p>

<?php

// Display page footer


yourls_html_footer();

You might also like