jargon

Puzzlum.Net TRK Link

Jun 17th, 2021
1,631
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.  
  3. //TRK Confirm Params
  4. function trk_confirm_params( $params = array(), &$set = array() )
  5. {
  6.     for( $offset = 0; $offset <= 3; $offset++ )
  7.     {
  8.         $set[ $offset ] = true;
  9.        
  10.         if( $set[ $offset ] ) { $set[ $offset ] = isset( $params[ $offset ] ); }
  11.        
  12.         if( $set[ $offset ] ) { $set[ $offset ] = is_string( $params[ $offset ] ); }
  13.        
  14.         if( $set[ $offset] ) { $set[$offset] = strlen( $params[ $offset ] ) > 0; }
  15.     }
  16.     return $set;
  17. }
  18.  
  19. // TRK_Generate_Link
  20. function trk_generate_link($params = array(), $set = array() )
  21. {
  22.     return
  23.         '<a href="?' . urlencode( $set[ 0 ] ? $params[ 0 ] : 'prj' ) .
  24.         '=' . urlencode( $set[ 1 ] ? $params[ 1 ] : 'Roe' ) .
  25.         '">' .
  26.         ( $set[ 2 ]  ? ( '<img src="' . urlencode( $params[ 2 ] ) . '">' ) : '<img style="width:72px;height:72px;" src="' . './site data/art/disks/blank disk.png' . '">' ) .
  27.         ( $set[ 2 ] && $set[ 3 ] ? '<br>' : '' ) .
  28.         ( $set[ 3 ] ? $params[ 3 ] :( $set[ 1 ] ? $params[ 1 ] : 'Roe' ) ) .
  29.         '</a>';
  30. }
  31.  
  32. //TRK Is Valid
  33. function trk_is_valid( $value )
  34. {
  35.     return
  36.         (
  37.             isset ( $value )
  38.         ?
  39.             (
  40.                 ! is_null( $value )
  41.             ?
  42.                 true
  43.             :
  44.                 false
  45.             )
  46.         :
  47.             false
  48.         );
  49. }
  50.  
  51. //TRK Replace Link
  52. function trk_replace_link( $buffer )
  53. {
  54.     $pattern = '/{{(.*)}}/';
  55.     $strip = array( '{{', '}}' );
  56.     $sep = '|';
  57.    
  58.     if ( preg_match_all( $pattern, $buffer, $matches, PREG_PATTERN_ORDER ) )
  59.     {
  60.         foreach( $matches as $key => $value )
  61.         {
  62.             if ( $key > 0 )
  63.             {
  64.                 if( trk_is_valid($value) )
  65.                 {              
  66.                     $target = '{{'.$value[ 1 ].'}}';
  67.                    
  68.                     trk_echo3( 'target', $target );
  69.        
  70.                     $parts = explode( $sep, str_replace( $strip, '', $value[ 1 ] ) );
  71.                    
  72.                     //if( count( $parts ) > 1 )
  73.                     //{                
  74.                         $set = trk_confirm_params( $parts, $set );
  75.                        
  76.                         foreach($parts as $k => $part )
  77.                         {
  78.                             if( isset( $set[ $k ] ) )
  79.                             {
  80.                                 trk_echo3( 'part ' . $k, $part );
  81.                             }
  82.                         }
  83.        
  84.                         $replace = trk_generate_link( $parts, $set );
  85.                        
  86.                         trk_echo3( 'replace', $replace );
  87.                        
  88.                         $buffer = str_replace( $target, $replace, $buffer );
  89.                     //}
  90.                 }
  91.             }
  92.         }
  93.     }
  94.    
  95.     return $buffer;
  96. }
  97.  
  98. ?>
RAW Paste Data