Snippets

Deze database laat de laatste snippets zien voor phpBB3. Snippets zijn kleine stukjes code die speciale functionaliteit toevoegen. Er zijn 13 snippets in de database.

Laatste snippets

Cookie settings
door John op 23 februari 2008
Groepslid
door John op 23 februari 2008
Ajax kalender
door John op 8 februari 2008

Snippets
GPSIES in je forum

Publiceer je tracks in je forum, met de bbcode [gpsies=trackcode]Je tracktitel[/gpsies] kan je nu jouw track zichtbaar maken in je forum.


Snippets: Selecteer alles
  1. In constants.php wijzig je NUM_CORE_BBCODES in 13.
  2.  
  3. In bbcode.php voeg je in functie bbcode_second_pass op regel 116:
  4.  if ($bbcode_id == 13)
  5. {
  6.     if (preg_match("/fileId=([a-z]{12,19})/", $message, $matches))
  7.     {
  8.             $track = '</iframe>' . gpsies_properties($matches[1]) . '</div><br style="clear:both;" />';
  9.             $message = preg_replace("~</iframe>~", $track, $message);
  10.     }else
  11.     {
  12.         $message .= '</div>';
  13.     }
  14. }
  15.  
  16. Op regel 346 in functie bbcode_cache_init voeg je toe:
  17.     case 13:
  18.         $this->bbcode_cache[$bbcode_id] = array(
  19.             'preg' => array(
  20.                 '!\[gpsies=(#[0-9a-f]{3}|#[0-9a-f]{6}|[a-z\-]+):$uid\](.*?)\[/gpsies:$uid\]!is'    => $this->bbcode_tpl('gpsies', $bbcode_id),
  21.             )
  22.         );
  23.     break;
  24.  
  25. In functie bbcode_tpl op regel 425 voeg je toe:
  26.     'gpsies'    => '<div><iframe src="http://www.gpsies.com/mapOnly.do?fileId=$1" style="float:left; width:400px; height:400px; border:none;" scrolling="no" title="$2"></iframe>',
  27.  
  28. In functions.php voeg je op het einde toe:
  29. function gpsies_properties($gpsies='')
  30. {
  31.     $gpsies_api_key = je api key
  32.     $gpsies_url_api = 'http://www.gpsies.com/api.do?key=';
  33.     $gpsies_url_api .= $gpsies_api_key;
  34.     $gpsies = 'fileId=' . $gpsies . ' show=details';
  35.  
  36.     $defaults = array(
  37.         CURLOPT_URL => $gpsies_url_api . (strpos($gpsies_url_api, '?') === FALSE ? '?' : '&') . $gpsies,
  38.         CURLOPT_HEADER => 0,
  39.         CURLOPT_RETURNTRANSFER => TRUE,
  40.         CURLOPT_TIMEOUT => 4
  41.     );
  42.  
  43.     $ch = curl_init();
  44.     curl_setopt_array($ch, ($defaults));
  45.     if (!$result = curl_exec($ch))
  46.     {
  47.         trigger_error(curl_error($ch));
  48.     }
  49.     curl_close($ch);
  50.     $xmlresp = $result;
  51.    
  52.     $xmlgpsies = new SimpleXMLElement($xmlresp);    
  53.     $tracksrev = array_reverse($xmlgpsies->tracks->xpath('track'));
  54.     $trackinfo = 'Geen data beschikbaar!';
  55.     foreach ($tracksrev as $track)
  56.     {
  57.         $trackinfo ='<div style="float:left; width:250px; font-size:11px; margin-left:10px;">
  58.                    <strong>Track naam:</strong> ' . $track->title . '
  59.                    <strong>Track lengte:</strong> ' . round((real)$track->trackLengthM/1000, 1) . ' km
  60.                    <strong>Hoogteverschil:</strong> ' . $track->altitudeDifferenceM . ' m
  61.                    <strong>Minimum hoogte:</strong> ' . $track->altitudeMinHeightM . ' m
  62.                    <strong>Maximum hoogte:</strong> ' . $track->altitudeMaxHeightM . ' m
  63.                    <strong>Klimmen:</strong> ' . $track->totalAscentM . ' m | '.
  64.                     '<strong>Afdalen:</strong> ' . $track->totalDescentM . ' m
  65.                    <strong>Adres:</strong> ' . $track->startPointAddress . '
  66.                    <strong>Latitude:</strong> ' . $track->startPointLat . '
  67.                    <strong>Longitude:</strong> ' . $track->startPointLon . '</div>';
  68.     }
  69.     return $trackinfo;    
  70. }
  71.  
  72. In message_parser.php rond regel 128 voeg je toe:
  73. 'gpsies'        => array('bbcode_id' => 13,    'regexp' => array('!\[gpsies=(#[0-9a-f]{3}|#[0-9a-f]{6}|[a-z\-]+)\](.*?)\[/gpsies\]!uise' => "\$this->bbcode_gpsies('\$1', '\$2')")),
  74.  
  75. en rond regel 281:
  76.     /**
  77.     * Parse gpsies tag
  78.     */
  79.     function bbcode_gpsies($stx, $in)
  80.     {
  81.         if (!$this->check_bbcode('gpsies', $in))
  82.         {
  83.             return $in;
  84.         }
  85.         return '[gpsies=' . $stx . ':' . $this->bbcode_uid . ']' . $in . '[/gpsies:' . $this->bbcode_uid . ']';
  86.     }
7618 maal bekeken
© John Peskens    scripts by Forumhulp.com