40        if (strpos($a_location, 
"youtube.com") > 0 ||
 
   41                strpos($a_location, 
"youtu.be") > 0) {
 
   53        $pos1 = strpos($a_location, 
"v=");
 
   54        $pos2 = strpos($a_location, 
"&", $pos1);
 
   58                : strlen($a_location);
 
   59            $par[
"v"] = substr($a_location, $pos1 + 2, $len - ($pos1 + 2));
 
   60        } elseif (strpos($a_location, 
"youtu.be") > 0) {
 
   61            $par[
"v"] = substr($a_location, strrpos($a_location, 
"/") + 1);
 
   72        if (strpos($a_location, 
"flickr.com") > 0) {
 
   84        $pos1 = strpos($a_location, 
"flickr.com/photos/");
 
   85        $pos2 = strpos($a_location, 
"/", $pos1 + 18);
 
   90            $par[
"user_id"] = substr($a_location, $pos1 + 18, $len - ($pos1 + 18));
 
   94        $pos1 = strpos($a_location, 
"/tags/");
 
   95        $pos2 = strpos($a_location, 
"/", $pos1 + 6);
 
   99                : strlen($a_location);
 
  100            $par[
"tags"] = substr($a_location, $pos1 + 6, $len - ($pos1 + 6));
 
  104        $pos1 = strpos($a_location, 
"/sets/");
 
  105        $pos2 = strpos($a_location, 
"/", $pos1 + 6);
 
  110            $par[
"sets"] = substr($a_location, $pos1 + 6, $len - ($pos1 + 6));
 
  121        if (strpos($a_location, 
"video.google") > 0) {
 
  133        $pos1 = strpos($a_location, 
"docid=");
 
  134        $pos2 = strpos($a_location, 
"&", $pos1 + 6);
 
  138                : strlen($a_location);
 
  139            $par[
"docid"] = substr($a_location, $pos1 + 6, $len - ($pos1 + 6));
 
  150        if (strpos($a_location, 
"vimeo.com") > 0) {
 
  162        $pos1 = strpos($a_location, 
"vimeo.com/");
 
  163        $pos2 = strpos($a_location, 
"&", $pos1 + 10);
 
  167                : strlen($a_location);
 
  168            $par[
"id"] = substr($a_location, $pos1 + 10, $len - ($pos1 + 10));
 
  179        if (strpos($a_location, 
"docs.google") > 0) {
 
  191        $pos1 = strpos($a_location, 
"id=");
 
  192        $pos2 = strpos($a_location, 
"&", $pos1 + 3);
 
  196                : strlen($a_location);
 
  197            $par[
"docid"] = substr($a_location, $pos1 + 3, $len - ($pos1 + 3));
 
  199        $pos1 = strpos($a_location, 
"docID=");
 
  200        $pos2 = strpos($a_location, 
"&", $pos1 + 6);
 
  204                : strlen($a_location);
 
  205            $par[
"docid"] = substr($a_location, $pos1 + 6, $len - ($pos1 + 6));
 
  207        if (strpos($a_location, 
"Presentation?") > 0) {
 
  208            $par[
"type"] = 
"Presentation";
 
  210        if (strpos($a_location, 
"View?") > 0) {
 
  211            $par[
"type"] = 
"Document";
 
  222        if (!is_array($a_parameter)) {
 
  223            $a_parameter = array();
 
  231            $a_parameter = array();
 
  237            $a_parameter = array();
 
  243            $a_parameter = array();
 
  249            $a_parameter = array();
 
  252        foreach ($ext_par as 
$name => $value) {
 
  253            $a_parameter[
$name] = $value;
 
An exception for terminatinating execution or to throw for unit testing.