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

Meteen naar je ACP
door John op 1 juli 2008
Return-path
door John op 4 mei 2008
spamkiller
door John op 11 april 2008
Zomertijd
door John op 30 maart 2008
Speciale groep
door John op 15 maart 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.     }
17214 maal bekeken
© John Peskens    scripts by Forumhulp.com