America-Online-Web-Search, Browser Extension, Google Chrome, Javascript

Google Chrome Extension – America Online (aol.com) Web Search, an Omnibox extension

Google Chrome Omnibox Search extension that enables you to search America Online (aol.com) from the Omnibox.  To use, simply type ‘aol’, a space, and your search query into the Omnibox and it will open your search results up in a new tab. While America Online has web search that also sports the ‘Powered By Google’ badge, America Online has had web search features for quite some time and I believe they supplement their results with their own. The ranking is different at the very least.

manifest.json


{
	"name" : "America Online Web Search",
	"short_name": "aol Search",
	"description" : "To use, type 'aol' & space, and a query term into the Omnibox. timothytocci.com",
	"version" : "0.1",
	"background" : {
		"scripts" : ["background.js"]
	},
	"omnibox" : {
		"keyword" : "aol"
	},
	"icons" : {
		"16" : "aol_16.png",
		"32" : "aol_32.png",
		"48" : "aol_48.png",
		"128" : "aol_128.png"
	},
	"manifest_version" : 2
}

background.js


chrome.omnibox.onInputEntered.addListener(function (text) {
	var createProperties = {
		url : "http://search.aol.com/aol/search?q="
		 + encodeURIComponent(text)
	};
	chrome.tabs.create(createProperties);
});
chrome.omnibox.onInputStarted
.addListener(function () {
	var suggestion = {
		description : "Search using America Online Web Search for the query: %s "
	}
	chrome.omnibox.setDefaultSuggestion(suggestion);
});

Install America Online Web Search Extension (chrome store)

Standard
Amazon-Web-Search, Browser Extension, Google Chrome, Javascript

Google Chrome Extension – Amazon Web Search, an Omnibox extension

Google Chrome Omnibox Search extension that enables you to search the web using Amazon from the Omnibox.  While still experimental at Amazon and powered by Google; if Amazon turns its computing might towards web search – we’re all in for great results. To be fair, Amazon’s web search experiment is named Amazon Smart Search (which is easily confused with its commercial endeavors) (besides, how would ‘___ query term here’ look to you every day while using it?) – not Amazon Web Search (which is used in the extension). Also, I feel its fair to mention that there’s almost twice as many paid results (ads) on these result pages.

To use, simply type ‘aws’, a space, and your search query into the Omnibox and it will open your search results up in a new tab.

manifest.json


{
	"name" : "Amazon Web Search",
	"short_name": "aws Search",
	"description" : "To use, type 'aws' & space, and a query term into the Omnibox. timothytocci.com",
	"version" : "0.1",
	"background" : {
		"scripts" : ["background.js"]
	},
	"omnibox" : {
		"keyword" : "aws"
	},
	"icons" : {
		"16" : "aweb_16.png",
		"32" : "aweb_32.png",
		"48" : "aweb_48.png",
		"128" : "aweb_128.png"
	},
	"manifest_version" : 2
}

background.js


chrome.omnibox.onInputEntered.addListener(function (text) {
	var createProperties = {
		url : "http://www.amazon.com/gp/bit/apps/web/SERP/search?&query="
		 + encodeURIComponent(text)
	};
	chrome.tabs.create(createProperties);
});
chrome.omnibox.onInputStarted
.addListener(function () {
	var suggestion = {
		description : "Search using Amazon Web Search for the query: %s "
	}
	chrome.omnibox.setDefaultSuggestion(suggestion);
});

Install Amazon Web Search Extension (source zip)

File: aws.zip
CRC-32: 242f84bc
MD4: 7fffda73151dbf33aba8c5fae00a3ee8
MD5: 8f575adb94b0cfb32ac8094d78dafa03
SHA-1: 874a58947df97fdd3da00583e6b11ed941de0c81

Standard
Browser Extension, Google Chrome, Javascript, Vimeo-Search

Google Chrome Extension – Vimeo (vimeo.com) Search, an Omnibox extension

Google Chrome Omnibox Search extension that enables you to search Vimeo (vimeo.com) from the Omnibox.  To use, simply type ‘vim’, a space, and your search query into the Omnibox and it will open your search results up in a new tab.

manifest.json


{
	"name" : "Vimeo Search",
	"short_name": "vim Search",
	"description" : "To use, type 'vim' & space, and a query term into the Omnibox. timothytocci.com",
	"version" : "0.1",
	"background" : {
		"scripts" : ["background.js"]
	},
	"omnibox" : {
		"keyword" : "vim"
	},
	"icons" : {
		"16" : "vim_16.png",
		"32" : "vim_32.png",
		"48" : "vim_48.png",
		"128" : "vim_128.png"
	},
	"manifest_version" : 2
}

background.js


chrome.omnibox.onInputEntered.addListener(function (text) {
	var createProperties = {
		url : "http://vimeo.com/search?q="
		 + encodeURIComponent(text)
	};
	chrome.tabs.create(createProperties);
});
chrome.omnibox.onInputStarted
.addListener(function () {
	var suggestion = {
		description : "Search Vimeo for the query: %s "
	}
	chrome.omnibox.setDefaultSuggestion(suggestion);
});

Install Vimeo Search Extension (chrome store)

Standard
Browser Extension, Google Chrome, Javascript, You-Tube-Search

Google Chrome Extension – You-Tube (youtube.com) Search, an Omnibox extension

Google Chrome Omnibox Search extension that enables you to search YouTube from the Omnibox.  To use, simply type ‘yt’, a space, and your search query into the Omnibox and it will open your search results up in a new tab.

manifest.json


{
	"name" : "You-Tube Search",
	"short_name": "yt Search",
	"description" : "To use, type 'yt' & space, and a query term into the Omnibox. timothytocci.com",
	"version" : "0.1",
	"background" : {
		"scripts" : ["background.js"]
	},
	"omnibox" : {
		"keyword" : "yt"
	},
	"icons" : {
		"16" : "yt_16.png",
		"32" : "yt_32.png",
		"48" : "yt_48.png",
		"128" : "yt_128.png"
	},
	"manifest_version" : 2
}

background.js


chrome.omnibox.onInputEntered.addListener(function (text) {
	var createProperties = {
		url : "http://www.youtube.com/results?search_query="
		 + encodeURIComponent(text)
	};
	chrome.tabs.create(createProperties);
});
chrome.omnibox.onInputStarted
.addListener(function () {
	var suggestion = {
		description : "Search YouTube for the query: %s "
	}
	chrome.omnibox.setDefaultSuggestion(suggestion);
});

Install You-Tube Search Extension (chrome store)

Standard
Browser Extension, Google Chrome, Google-Groups-Search, Javascript

Google Chrome Extension – (Google) Groups Search, an Omnibox extension

Google Groups Search is an Omnibox browser extension that allows you to search Google Groups from the browser. To use, type ‘ggs’ & space, and a query term into the Omnibox. The search result for your query will open up in a new tab.

manifest.json


{
	"name" : "Groups Search",
	"short_name": "ggs Search",
	"description" : "To use, type 'ggs' & space, and a query term into the Omnibox. timothytocci.com",
	"version" : "0.1",
	"background" : {
		"scripts" : ["background.js"]
	},
	"omnibox" : {
		"keyword" : "ggs"
	},
	"icons" : {
		"16" : "ggs_16.png",
		"32" : "ggs_32.png",
		"48" : "ggs_48.png",
		"128" : "ggs_128.png"
	},
	"manifest_version" : 2
}

background.js


chrome.omnibox.onInputEntered.addListener(function (text) {
	var createProperties = {
		url : "https://groups.google.com/forum/#!search/"
		 + encodeURIComponent(text)
	};
	chrome.tabs.create(createProperties);
});
chrome.omnibox.onInputStarted
.addListener(function () {
	var suggestion = {
		description : "Search Google Groups for the query: %s "
	}
	chrome.omnibox.setDefaultSuggestion(suggestion);
});

Install (Google) Groups Search Search Extension (chrome store)

Standard
Browser Extension, Google Chrome, Javascript, Mozilla-Open-Directory-Search

Google Chrome Extension – Mozilla Open Directory (dmoz.org) Search, an Omnibox extension

Google Chrome Omnibox Search extension that enables you to search Mozilla Open Directory (dmoz.org) from the omnibox.  To use, simply type ‘dmoz’, a space, and your search query into the omnibox and it will open your search results up in a new tab.

From dmoz.org – “The Open Directory Project is the largest, most comprehensive human-edited directory of the Web. It is constructed and maintained by a vast, global community of volunteer editors.”

manifest.json


{
	"name" : "Mozilla Open Directory Project Search",
	"short_name": "dmoz Search",
	"description" : "To use, type 'dmoz' & space, and a query term into the Omnibox. timothytocci.com",
	"version" : "0.1",
	"background" : {
		"scripts" : ["background.js"]
	},
	"omnibox" : {
		"keyword" : "dmoz"
	},
	"icons" : {
		"16" : "dmoz_16.png",
		"32" : "dmoz_32.png",
		"48" : "dmoz_48.png",
		"128" : "dmoz_128.png"
	},
	"manifest_version" : 2
}

background.js


chrome.omnibox.onInputEntered.addListener(function (text) {
	var createProperties = {
		url : "http://www.dmoz.org/search?q="
		 + encodeURIComponent(text)
	};
	chrome.tabs.create(createProperties);
});
chrome.omnibox.onInputStarted
.addListener(function () {
	var suggestion = {
		description : "Search Mozilla Open Directory Project (dmoz) for the query: %s "
	}
	chrome.omnibox.setDefaultSuggestion(suggestion);
});

Install Mozilla Open Directory Search Extension (chrome store)

Standard
Codeigniter, Links, PHP

TinyImageManager for CodeIgniter

If you use the TinyMCE Image Manager and CodeIgniter together, this class can save you a bit of work.

This package can handle TinyMCE Image Manager image uploads using CodeIgniter.
It is a port of the TinyMCE image manager plugin to integrate it with CodeIgniter framework.
This class was originally written by Andrey Antonov.
-Pablo Matias Perrone”

http://www.phpclasses.org/package/7971-PHP-Handle-TinyMCE-Image-Manager-image-uploads.html

Standard
Browser Extension, Firefox, Google-Music-Search, Google-Open-Storage-Search, Javascript

Firefox Extension – Google-Music-Search v0.2

Firefox Google-Music-Search


Firefox Google-Music-Search running on Crunchbang Linux


Google Music Search provides a simple way to search for music and files on google.com. There are two different types of queries to run: one to search for music files, and one to search for anything else stored in open indexed storage. Both open a tab in the browser and display search results from google.com. Firefox Google Music Search extension is based the Chrome Google Music Search and Chrome Open Storage Search extensions.

package.json

{
  "name": "google-music-search",
  "fullName": "Google-Music-Search",
  "id": "jid1-mIB68YB7TCOYZg",
  "description": "Makes searching for music and files on Google simple",
  "author": "Timothy Tocci - timothytocci.com",
  "homepage":"https://timothytocci.com/",
  "license": "MPL 2.0",
  "version": "0.2"
}

main.js


var widgets = require("sdk/widget");
var tabs = require("sdk/tabs");
var data = require("sdk/self").data;
var widget = widgets.Widget({
  id: "google-music-search",
  label: "Google Music Search",
  contentURL: data.url("google.png"),
  onClick: function() {
	searchdialog.show();
  }
});
var searchdialog = require("sdk/panel").Panel({
  width:480,
  height:272,
  contentURL: data.url("searchdialog.html")
});
var helpdialog = require("sdk/panel").Panel({
  width:640,
  height:480,
  contentURL: data.url("helpdialog.html")
});
searchdialog.port.on("doquery", function(url) {
  console.log(url);
  hidedialog();
  tabs.open(url);
});
function hidedialog(){
	searchdialog.hide();
}
searchdialog.port.on("helpclicked", function() {
    showhelp();
});
function showhelp(){
	helpdialog.show();
}
function closehelp(){
	helpdialog.hide();
}
helpdialog.port.on("gohome", function() {
	console.log("gohome");
    tabs.open("https://timothytocci.com/");
});
helpdialog.port.on("gocmusic", function() {
	console.log("gocmusic");
    tabs.open("https://timothytocci.com/2013/02/01/google-chrome-extension-google-music-search-an-omnibox-extension/");
});
helpdialog.port.on("gocoss", function() {
	console.log("gocoss");
    tabs.open("https://timothytocci.com/2013/02/03/google-chrome-extension-google-open-storage-search-an-omnibox-extension/");
});

helpdialog.html


<html>
    <head>
        <style>
            body {
                background-color: white;
            }
            
            input {
                height: 30px;
                width: 450px;
            }
			#home{
				color:blue;
				text-decoration:underline;
				cursor:hand;
			}
			#cmusic{
				color:blue;
                text-decoration:underline;
                cursor:hand;
			}
			#coss{
				color:blue;
                text-decoration:underline;
                cursor:hand;
			}
            #intro{
            	font-size: large;
            }
			.queries{
				font-size:large;
				font-weight:bold;
			}
			.qlist li{
				list-style: url(google.png);
			}
            .blue {
                color: blue;
            }
            
            .red {
                color: red;
            }
            
            .orange {
                color: orange;
            }
            
            .green {
                color: green;
            }
        </style>
    </head>
    <body>
        <center>
            <h1><span class="blue">G</span><span class="red">o</span><span class="orange">o</span><span class="blue">g</span><span class="green">l</span><span class="red">e</span>-<span class="blue">M</span><span class="red">u</span><span class="orange">s</span><span class="blue">i</span><span class="green">c</span>-<span class="blue">S</span><span class="red">e</span><span class="orange">a</span><span class="blue">r</span><span class="green">c</span><span class="red">h</span></h1>
            <p id="intro">
                Google Music Search provides a simple way to search for music and files on google.com. 
				There are two different types of queries to run: one to search for music files, and one to search for anything stored in open indexed storage. 
				Both open a tab in the browser and display search results from google.com. 
				Firefox Google Music Search extension is based the <a id="cmusic">Chrome Google Music Search</a> and <a id="coss">Chrome Open Storage Search</a> extensions. 
				Google Music Search was written by <a id="home">Timothy Tocci</a>.
            </p>
        </center>
        <p>
            To search for music files simply provide a band or artist name press the Music Search Button. To search for other filetypes; you must first specify the filetypes you are looking for. Filetypes can be ORed together using the pipe (|) character. After the filetypes you must enter a space. Anything before the first space in the query is considered the filetype(s). Then enter the query term for the file(s) you are searching for and press the Open Storage Search button.
        </p>
		<h4>Examples</h4>
		<ul class="qlist"><li><span class="queries">gif|jpg|png homecoming queen</span></li>
		<li><span class="queries">flv|mov|mp4 first steps</span></li>
		<li><span class="queries">torrent sometorrentfile</span> <-- May also act as a torrent weasel (depends on seed host)</li></ul>
    </body>
    <script type="text/javascript">
        window.onload = function(){
            var homelink = document.getElementById("home");
            homelink.addEventListener("click", function(){
                addon.port.emit("gohome","");
            }, false);
			
			var cmusiclink = document.getElementById("cmusic");
            cmusiclink.addEventListener("click", function(){
                addon.port.emit("gocmusic","");
            }, false);
			
			var cosslink = document.getElementById("coss");
            cosslink.addEventListener("click", function(){
                addon.port.emit("gocoss","");
            }, false);
        }
    </script>
</html>


searchdialog.html


<html>
    <head>
        <style>
            body {
                background-color: white;
            }
           
            input {
                height: 30px;
                width: 450px;
            }
            
            #goo {
                padding-top: 20px;
            }
			.blabels{
				font-size:large;
			}
        </style>
        
    </head>
    <body>
        <center>
            <div id="goo">
                <img src="google_logo_front.png"/>
            </div>
            <br/>
            <div>
                <input name="query" id="query" type="text" align="center" placeholder="enter a bandname or filetype and query"/>
                <br/>
                <button id="music">
                	<span class="blabels">Music Search</span>
                </button>
                <button id="storage">
                	<span class="blabels">Open Storage Search</span>
                </button>
				<button id="help">
                    <span class="blabels">Help/About</span>
                </button>
            </div>
        </center>
    </body>
	<script type="text/javascript">
           window.onload = function () {
                var btnmusic = document.getElementById("music");
                btnmusic.addEventListener("click", function(){
                    var input = document.getElementById("query");
                    var text = input.value;
					if(input.value == ""){return}
                    var query = 'intitle:index.of +?last modified? +?parent directory? +(mp3|wma|ogg|wav) +"' + text + '" -htm -html -php -asp -jsp -"Passwords"';
                    doquery(query);
                }, false);
                var btnstorage = document.getElementById("storage");
                btnstorage.addEventListener("click", function(){
                    var input = document.getElementById("query");
					if(input.value == ""){return}
                    var temp = input.value.split(" ", 2);
                    var filetype = temp[0];
                    text = temp[1];
                    var query = 'intitle:index.of +?last modified? +?parent directory? +(' + filetype + ') +"' + text + '" -htm -html -php -asp -jsp -"Passwords"';
                    doquery(query);
                }, false);
				
				var btnhelp = document.getElementById("help");
                btnhelp.addEventListener("click", function(){
					addon.port.emit("helpclicked");
				},true);
					
            }
            function doquery(query){
                url = "https://www.google.com/search?q=" + encodeURIComponent(query);
                addon.port.emit("doquery", url);
            }
        </script>
</html>

Click to Install Most Recent Version

Standard
Browser Extension, Firefox, Javascript, Share-It

Firefox Extension – Share-it 0.6 Context Menu

Share-it provides a context menu that allows the user to share the current page with a number of different websites that allow for link submissions. Share-it currently shares a web page on: facebook, twitter, google plus, linkedin, digg, stumbleupon, tumblr, friendfeed, fark, blinklist, and plurk. There is an options page that will allow the user to turn on or off the menu items they choose to use. Very simple and minimalistic design.

Share-it Context Menu Opened Up In Firefox

Share it Options Dialog Opened Up In Firefox

package.json

{
  "name": "share-it",
  "fullName": "Share-it",
  "id": "jid1-Kl2M45Ix2rhGtA",
  "description": "Adds context menu items to share the current page on a number of websites ",
  "author": "Timothy Tocci - timothytocci.com",
  "homepage": "https://timothytocci.com/",
  "license": "MPL 2.0",
  "version": "0.5"
}

main.js


var cm = require("sdk/context-menu");
var data = require("sdk/self").data;
var tabs = require("sdk/tabs");
var SS = require("simple-storage");

popupPanel = require("panel").Panel({
        height: 500,
        contentURL: data.url("options.html")
    });
popupPanel.port.on("optionsstarted", function () {
	console.log("optionsstarted received");
    popupPanel.port.emit("entrylist", entries);
});
popupPanel.port.on("setActive", function (menu) {
    setActive(menu);
});
popupPanel.port.on("setInactive", function (menu) {
    setInactive(menu);
});
var defaultentries = [
	{
	"menu":"facebook.com",
	"active":1,
	"ustr":"http://www.facebook.com/sharer.php?u={{URL}}&src={{TITLE}}"
	},{
	"menu":"twitter.com",
	"active":1,
	"ustr":"https://twitter.com/share?url={{URL}}&text={{TITLE}}"
	},{
	"menu":"plus.google.com",
	"active":1,
	"ustr":"https://plusone.google.com/_/+1/confirm?hl=en&url={{URL}}"
	},{
	"menu":"linkedin.com",
	"active":1,
	"ustr":"http://www.linkedin.com/cws/share?url={{URL}}"
	},{
	"menu":"digg.com",
	"active":1,
	"ustr":"http://digg.com/submit?url={{URL}}&title={{TITLE}}"
	},{
	"menu":"stumbleupon.com",
	"active":1,
	"ustr":"http://www.stumbleupon.com/submit?url={{URL}}"
	},{
	"menu":"tumblr.com",
	"active":1,
	"ustr":"http://www.tumblr.com/share?v=3&u={{URL}}&t={{TITLE}}"
	},{
	"menu":"friendfeed.com",
	"active":1,
	"ustr":"http://www.friendfeed.com/share?url={{URL}}&title={{TITLE}}"
	},{
	"menu":"fark.com",
	"active":1,
	"ustr":"http://cgi.fark.com/cgi/fark/farkit.pl?u={{URL}}&h={{TITLE}}"
	},{
	"menu":"blinklist.com",
	"active":1,
	"ustr":"http://www.blinklist.com/index.php?Action=Blink/Addblink.php&Url={{URL}}&Title={{TITLE}}"
	},{
	"menu":"plurk.com",
	"active":1,
	"ustr":"http://plurk.com/?qualifier=shares&status={{TITLE}}%20%2D%20{{URL}}"
	},
];
var entries = {};
if (!SS.storage["entries"]) {
	SS.storage["entries"] = JSON.stringify(defaultentries);
}
entries = JSON.parse(SS.storage["entries"]);
function setActive(menu){
	console.log("setActive");
	var elen = entries.length;
	console.log(menu);
	for(i=0;i<elen;i++){
		if(entries[i]["menu"] == menu){
			entries[i]["active"] = 1;
		}
	}
	SS.storage["entries"] = JSON.stringify(entries);
}
function setInactive(menu){
	console.log("setInactive");
	var elen = entries.length;
	console.log(menu);
	for(i=0;i<elen;i++){
		if(entries[i]["menu"] == menu){
			entries[i]["active"] = 0;
		}
	}
	SS.storage["entries"] = JSON.stringify(entries);
}
var mitems = [];
var entlen = entries.length;
for (i=0;i<entlen;i++){ 	if(entries[i]["active"] == 1){ 		mitems.push(cm.Item({ label: entries[i]["menu"], data: entries[i]["ustr"] })); 	} } mitems.push(cm.Separator()); mitems.push(cm.Item({ label: "Options", data: "{{OPTIONS}}" })); cm.Menu({   label: "Share-it",   contentScriptFile: data.url("menuscript.js"),   items: mitems,   onMessage: function(data) {sendit(data);} }); function sendit(data){ 	if(data.lastIndexOf("{{OPTIONS}}")!==-1){ 		popupPanel.show(); 	}else{ 		var url = data; 		url = url.replace("{{URL}}", encodeURI(tabs.activeTab.url)); 		if(data.lastIndexOf("{{TITLE}}")>0){
			url = url.replace("{{TITLE}}", encodeURIComponent(tabs.activeTab.title));
		}
		tabs.open({
			url: url,
			onReady: function onReady(tab) {
				console.log(tab.title);
			}
		});
	}
}

options.html


<!doctype html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Share-it Options</title>
</head>
<style>
.green{color:green;}
.red{color:red;}
li{list-style-type: none;}
</style>
<body>
<h3>Share-it Context Menu Options</h3>
<ul id="menu">
</ul>
<div class="summary">Changes will take place the next time you start your browser. 
Or if you don't want to close the browser you could disable and reenable the Extension on the Plug-ins page.</div>
<p>Click anywhere outside this window to close it.</p>
</body>
<script type="text/javascript">
window.onload = function () {
	addon.port.emit("optionsstarted");
	var list = document.getElementById("menu");
	addon.port.on("entrylist", function (ckb) {
		for(i = 0; i < ckb.length; i++){
			if(ckb[i]["active"] == 1){
				var li = document.createElement("li");
				cbox = document.createElement("input");
				cbox.type = "checkbox";
				cbox.setAttribute("class","butt");
				cbox.checked = true;
				cbox.value = ckb[i]["menu"];
				var txtspan = document.createElement("span");
				txtspan.setAttribute("class","green");
				var mtxt = document.createTextNode(ckb[i]["menu"]);
				txtspan.appendChild(mtxt);
				li.appendChild(cbox);
				li.appendChild(txtspan);
				list.appendChild(li);
			}else{
				var li = document.createElement("li");
				cbox = document.createElement("input");
				cbox.type = "checkbox";
				cbox.setAttribute("class","butt");
				cbox.checked = false;
				cbox.value = ckb[i]["menu"];
				var txtspan = document.createElement("span");
				txtspan.setAttribute("class","red");
				var mtxt = document.createTextNode(ckb[i]["menu"]);
				txtspan.appendChild(mtxt);
				li.appendChild(cbox);
				li.appendChild(txtspan);
				list.appendChild(li);
			}
		}	
		as = document.getElementsByClassName("butt");
		for(i=0;i<as.length;i++){
			as[i].addEventListener("click",function(evt){
				if(evt.target.checked == true){
					addon.port.emit("setActive",evt.target.value);
				}else{
					addon.port.emit("setInactive",evt.target.value);
				}
			},false)
		}
	});
}
</script>
</html>

Click to Install Most Recent Version

Standard