Tag Archive for short

Short + Long Address Formatting From Address Information

public function __get($key) {
	if($key == 'short_address') {
		// this is tricky b/c the map is international
		// if the location is US based then we want to display an identifier similiar to: St. Joe's in Downingtown PA
		// if the location is non-USA based (and either city or providence is not available) then we want to display: St. Joe's in Downingtown USA
		
		return $this->name.' in '.$this->city.' '.$this->providence.
			(empty($this->city) || empty($this->providence) ? ' '.$this->country : '');
	} else if($key == 'full_address') {
		// target format for US based addresses:
		//	300 Road Street
		//	Town PA 19335
		// target format for non-US based addresses
		//	address1
		//	City Providence Postal Code Country
		
		// the trims handle edge cases when there is not enough information to propertly display an address
		
		if($this->country == 'US') {
			return trim(trim($this->address1."
".$this->address2)."
".$this->city)." ".$this->providence." ".$this->postal_code;
		} else {
			return $this->address1."
".$this->address2."
".$this->city." ".$this->providence." ".$this->postal_code." ".$this->country;
		}
	}
	
	return parent::__get($key);
}

source

Short URL Function with PHP

<?php
function shorturl($url){
    $length = strlen($url);
    if($length > 45){
        $length = $length - 30;
        $first = substr($url, 0, -$length);
        $last = substr($url, -15);
        $new = $first."[ ... ]".$last;
        return $new;
    }else{
        return $url;
    }
}
?>

// USAGE

<?php

$longurl= "<a href="http://www.google.com/search?q=symfony+project&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:tr:official&client=firefox-a";" >http://www.google.com/search?q=symfony+project&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:tr:official&client=firefox-a";</a>
$shorturl = shorturl($longurl);
echo "<a href="$longurl">$shorturl</a>";


?>

source

Create short IDs with PHP – Like Youtube or TinyURL

<?php
/**
* Translates a number to a short alhanumeric version
*
* Translated any number up to 9007199254740992
* to a shorter version in letters e.g.:
* 9007199254740989 --> PpQXn7COf
*
* specifiying the second argument true, it will
* translate back e.g.:
* PpQXn7COf --> 9007199254740989
*
* this function is based on any2dec && dec2any by
* fragmer[at]mail[dot]ru
* see: <a href="http://nl3.php.net/manual/en/function.base-convert.php#52450" >http://nl3.php.net/manual/en/function.base-convert.php#52450</a>
*
* If you want the alphaID to be at least 3 letter long, use the
* $pad_up = 3 argument
*
* In most cases this is better than totally random ID generators
* because this can easily avoid duplicate ID's.
* For example if you correlate the alpha ID to an auto incrementing ID
* in your database, you're done.
*
* The reverse is done because it makes it slightly more cryptic,
* but it also makes it easier to spread lots of IDs in different
* directories on your filesystem. Example:
* $part1 = substr($alpha_id,0,1);
* $part2 = substr($alpha_id,1,1);
* $part3 = substr($alpha_id,2,strlen($alpha_id));
* $destindir = "/".$part1."/".$part2."/".$part3;
* // by reversing, directories are more evenly spread out. The
* // first 26 directories already occupy 26 main levels
*
* more info on limitation:
* - <a href="http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/165372" >http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/165372</a>
*
* if you really need this for bigger numbers you probably have to look
* at things like: <a href="http://theserverpages.com/php/manual/en/ref.bc.php" >http://theserverpages.com/php/manual/en/ref.bc.php</a>
* or: <a href="http://theserverpages.com/php/manual/en/ref.gmp.php" >http://theserverpages.com/php/manual/en/ref.gmp.php</a>
* but I haven't really dugg into this. If you have more info on those
* matters feel free to leave a comment.
*
* @author    Kevin van Zonneveld <kevin@vanzonneveld.net>
* @copyright 2008 Kevin van Zonneveld (http://kevin.vanzonneveld.net)
* @license   <a href="http://www.opensource.org/licenses/bsd-license.php" >http://www.opensource.org/licenses/bsd-license.php</a> New BSD Licence
* @version   SVN: Release: $Id: alphaID.inc.php 344 2009-06-10 17:43:59Z kevin $
* @link      <a href="http://kevin.vanzonneveld.net/" >http://kevin.vanzonneveld.net/</a>
*
* @param mixed   $in     String or long input to translate
* @param boolean $to_num Reverses translation when true
* @param mixed   $pad_up Number or boolean padds the result up to a specified length
*
* @return mixed string or long
*/
function alphaID($in, $to_num = false, $pad_up = false)
{
$index = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$base  = strlen($index);

if ($to_num) {
// Digital number  <<--  alphabet letter code
$in  = strrev($in);
$out = 0;
$len = strlen($in) - 1;
for ($t = 0; $t <= $len; $t++) {
$bcpow = bcpow($base, $len - $t);
$out   = $out + strpos($index, substr($in, $t, 1)) * $bcpow;
}

if (is_numeric($pad_up)) {
$pad_up--;
if ($pad_up > 0) {
$out -= pow($base, $pad_up);
}
}
} else {
// Digital number  -->>  alphabet letter code
if (is_numeric($pad_up)) {
$pad_up--;
if ($pad_up > 0) {
$in += pow($base, $pad_up);
}
}

$out = "";
for ($t = floor(log10($in) / log10($base)); $t >= 0; $t--) {
$a   = floor($in / bcpow($base, $t));
$out = $out . substr($index, $a, 1);
$in  = $in - ($a * bcpow($base, $t));
}
$out = strrev($out); // reverse
}

return $out;
}
?>

source

Automatically get short urls for your wordpress posts

/* add the following codes to functions.php file: */

function getShortUrl($url) {
$tinyurl = file_get_contents("API-URL".$url);
return $tinyurl;
}

// remember to replace API-URL in the second line of the above codes with one of the urls mentioned on the comments

/* On your single.php file, paste the following within the loop: */
<?php
$surl = getShortUrl(get_permalink($post->ID));
echo 'Short Url for this post: <a href="'.$surl.'">'.$surl.'</a>'
?>

source

Create Is.Gd url

//gets the data from a URL
function get_isgd_url($url)
{
//get content
$ch = curl_init();
$timeout = 5;
curl_setopt($ch,CURLOPT_URL,'http://is.gd/api.php?longurl='.$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$content = curl_exec($ch);
curl_close($ch);

//return the data
return $content;
}

//uage
$new_url = get_isgd_url('http://davidwalsh.name/php-imdb-information-grabber');

source

JavaScript ShortCut Keys

function ShortCutKey()
{
//User hit Ctrl+S
if (window.event.keyCode == 19)
window.location="search.html";
//User hit Ctrl+Q
if (window.event.keyCode == 81)
window.location="quick-search.html"
}

source

shortLink v2

#!/usr/bin/perl

package shortLink;

use LWP::UserAgent;
use strict;

my $url = readpipe('zenity --entry --title="shortLink" --text="Please enter a URL to shorten." --entry-text=""');

$shortLink::ua = LWP::UserAgent->new;
my $r = $shortLink::ua->post('http://metamark.net/api/rest/simple', { long_url => $url });
system('zenity --info --text="' . errorCheck($r) . '"');

sub errorCheck {
my $response = shift;
if ( $response->is_success ) {
return $response->content;
} else {
return "There was an error: " . $response->status_line . "
";
}
}

source

AS2 Fuse ZigoEngine トゥイーンとイージングの種類リファレンス

stop();
import com.mosesSupposes.fuse.*;
ZigoEngine.simpleSetup(Shortcuts, PennerEasing);

// イージングの種類は最下部にあります
// ステージにbox1_mcを用意
// 40フレームまでフレーム延長

/*
皆様
特に初心者の方々

このサンプルについて
ビビらないでください!

下の大量のコードは、段階を追って学習できるように書かれた、とてもシンプルなコードです。(^_^)

ステージ上にbox1_mc(プロパティパネルから設定します)という名前のムービークリップがあります。
(もう一つ、タイムラインがトゥイーンできるのを見せるためのMCが配置されていますが、それ以外のテストはbox1_mcで行います)

ここでは、一連のトゥイーンのサンプルをご覧になれます。ムービークリップに直接、ショートカットメソッドを指定しています。

All the shortcuts accept around the same parameters - 各例を試してみて学習していってください。


使い方
好きな行のコメントを外して下さい、行頭の"//"を削除することで、実行されるようになります。
よくわからないという方へのTips:
- 次の行をテストしたい時は"//"を打ち直しておいてください、でないと、いくつかの命令が同時に実行されてしまいます。
- //の直後にカーソルを合わせリターンキーで改行させると簡単です。テスト後、戻す時はbackspaceキーで元の形に戻してください。

*/

/* 1. 最小限の指定をした時は、Shortcutsはデフォルトである、1秒で、"easeOutQuint"という種類のトゥイーンで実行されます。
各行のコードを試してみてください。*/

//this.box1_mc.alphaTo(0);
this.box1_mc.slideTo(300,300);
//this.box1_mc.rotateTo(180);
//this.box1_mc.scaleTo(200);
//this.box1_mc.sizeTo(125);
//this.box1_mc.colorTo("#33FF00");
//this.box1_mc.tintTo(0x33FF00,50);
//this.box1_mc.brightnessTo(80);
//this.box1_mc.brightOffsetTo(100);
//this.box1_mc.contrastTo(200);
//this.box1_mc.invertColorTo(100);

/* bezierTo では x, y, controlX, controlY を設定できます */
//this.box1_mc.bezierTo(400,100,300,200);

/* fadeInとfadeOutではalphaの値をフェードさせ、アルファが0になったら_visibleをfalseにするようになっています。 */
//this.box1_mc.fadeOut();

/* 次の行は同時に実行してください。 */
//this.box1_mc._alpha = 0;
//this.box1_mc.fadeIn();

/* frameTo ではタイムライン自体をトゥイーンできます。ここではタイムラインを40フレームに進めます。 */
//this.frameTo(40, 1);//結果は下のムービークリップで確認してください。

/* ややこしいのであまり使いたがらないかもしれませんが、flash7でのcolor transform指定もできます。 */
//this.box1_mc.colorTransformTo(0,100,100,50,100,50,50,0);

/* The granddaddy of them all is "tween", which lets you pass any parameter, including some
added by the engine that you may not have seen yet. (You will in the other files here.)
(This only scratches the surface since you can also tween more than one property at once.) */
//this.box1_mc.tween('_xscale', 4000);


/* OK。上の例を全部試したら次いってみよう。 ---------------------------------------
2. "相対指定について知る"
ZigoEngineには相対値で指定する技があります。簡単です。引用符「'」を使うだけです。

下のサンプルを試してみてください。各ブロックの1行目と2行目をそれぞれ試して、違いを見てください。
相対値(「'」で囲まれた方)での指定では、現在の位置からの"相対的"な位置を算出します。
*/

//this.box1_mc.slideTo(100,100); // ステージ左上(原点)を元に移動します。
//this.box1_mc.slideTo('100','100'); // ムービークリップの現在位置からそれぞれ100pxずつ移動します。

//this.box1_mc.slideTo(-10, -10); // ステージ左上(原点)を元に移動します。
//this.box1_mc.slideTo('-10','-10'); // ムービークリップの現在位置からそれぞれ-10pxずつ移動します。

//this.box1_mc.bezierTo(150,50,100, 250);
//this.box1_mc.bezierTo('100','0','0','-50');

//this.box1_mc.scaleTo(300);
//this.box1_mc.scaleTo('300');

//this.box1_mc.sizeTo(100);
//this.box1_mc.sizeTo('100');



/* 次いってみよう。 -----------------------------------------------------------------------------------------
3. Tweens have a bunch more parameters that you can add, with commas of course.

Here they are:
- one or more destination parameters, depending on the shortcut
- number of seconds to tween
- easing style -- "easeOutElastic", "easeInOutExpo", or "easeInBack" etc. --
- delay before start
- a function to trigger when the tween is done, also called a "callback".

Uncomment one example at a time below to see each parameter added.
*/

/* はじめに基本のslideToです。相対値で移動させます。 */
//this.box1_mc.slideTo('300', '0');

/* 継続時間を2秒に設定します。 - 設定していない時はデフォルト値の1秒でした。 */
//this.box1_mc.slideTo('300', '0', 2);

/* PennerEasingの省略指定を使って、イージングの種類を追加します */
//this.box1_mc.slideTo('300', '0', 2, 'easeOutElastic');

/* 1.5秒の待機後、トゥイーンを開始までするように設定します。 */
//this.box1_mc.slideTo('300', '0', 2, 'easeOutElastic', 1.5);

/* 最後に、出力ウィンドウにメッセージを表示するtraceコマンドを追加します。
(これはコールバック関数を実行させる簡単な方法のひとつです。ぜひ他のサンプルもご覧下さい。) */
//this.box1_mc.slideTo('300', '0', 2, 'easeOutElastic', 1.5, "trace('トゥイーン終わったよ')");



/* これまで学習してきたことを使って、上の方の例に、継続時間やイージングタイプ、待機時間やコールバックを
設定して、いろいろ試してみてください。

イージングについての追記:このページの最上段のセットアップの部分で、
ZigoEngineにPennerEasingが渡されている事にご注意ください。登録しておくことで、
"easeInQuad"といった省略指定が使えるようになるのです。

でも、ビルトインのmx easingクラスの方がお好みであれば、setup部分のPennerEasingの登録を削除し、
import mx.transitions.easing.*;
と追加して、イージングのパラメーターとしてStrong.easeOut(引用符は不要)等を設定してください。

Zigoのトゥイーン方法のショートカット指定をもっと知りたい方のために、下に全リストを載せておきます。
(個人的にも、選ぶ種類が多いので重宝してます。)
これら全てを作った人、その名はRobert Penner - 彼の本はおすすめです。

色々試して遊んでみてください!

"linear",
"easeInQuad","easeOutQuad","easeInOutQuad","easeOutInQuad"
"easeInCubic","easeOutCubic","easeInOutCubic","easeOutInCubic"
"easeInQuart","easeOutQuart","easeInOutQuart","easeOutInQuart"
"easeInQuint","easeOutQuint","easeInOutQuint","easeOutInQuint"
"easeInSine","easeOutSine","easeInOutSine","easeOutInSine"
"easeInExpo","easeOutExpo","easeInOutExpo","easeOutInExpo"
"easeInCirc","easeOutCirc","easeInOutCirc","easeOutInCirc"
"easeInElastic","easeOutElastic","easeInOutElastic","easeOutInElastic"
"easeInBack","easeOutBack","easeInOutBack","easeOutInBack"
"easeInBounce","easeOutBounce","easeInOutBounce""easeOutInBounce"

*/

source

currency changer with google

<script type="text/javascript">

function callGoogle(){

var form=document.getElementById("Gform");
var link="http://www.google.hu/search?q="+form.elements["value"].value+"+"+form.elements["from"].value+"+to+"+form.elements["to"].value;
location.href=link;

}

</script>

<form id="Gform">

<input type="text" name="value" size="6">

<select name="from">
<option>EUR
<option>HUF
<option>GBP
<option>AUD
<option>CZK
<option>DKK
<option>JPY
<option>CAD
<option>PLN
<option>NOK
<option>CHF
<option>SEK
<option>SKK
<option>USD
</select>

TO

<select name="to">
<option>HUF
<option>GBP
<option>AUD
<option>CZK
<option>DKK
<option>EUR
<option>JPY
<option>CAD
<option>PLN
<option>NOK
<option>CHF
<option>SEK
<option>SKK
<option>USD
</select>

<input type="button" onclick="callGoogle()" value="Change!">

</form>

source

currency changer with google

<script type="text/javascript">

function callGoogle(){

var form=document.getElementById("Gform");
var link="http://www.google.hu/search?q="+form.elements["value"].value+"+"+form.elements["from"].value+"+to+"+form.elements["to"].value;
location.href=link;

}

</script>

<form id="Gform">

<input type="text" name="value" size="6">

<select name="from">
<option>EUR
<option>HUF
<option>GBP
<option>AUD
<option>CZK
<option>DKK
<option>JPY
<option>CAD
<option>PLN
<option>NOK
<option>CHF
<option>SEK
<option>SKK
<option>USD
</select>

TO

<select name="to">
<option>HUF
<option>GBP
<option>AUD
<option>CZK
<option>DKK
<option>EUR
<option>JPY
<option>CAD
<option>PLN
<option>NOK
<option>CHF
<option>SEK
<option>SKK
<option>USD
</select>

<input type="button" onclick="callGoogle()" value="Change!">

</form>

source