+ Antworten
Ergebnis 1 bis 2 von 2

Thema: Link verstecken im Content für bestimmte Zeit.

  1. #1
    Neu an Board
    Registriert seit
    26.05.2009
    Beiträge
    15
    Bedankte sich
    0
    1 Danksagung in 1 Beitrag

    Standard Link verstecken im Content für bestimmte Zeit.

    Hallo Leute,

    Ich möchte gerne das PlugIn (PersonalContent_plugin_1.0_Joomla_1.5) von Georg Baehr so umschreiben das mit der zu versteckende Text nicht zu einer bestimmten UserID angezeigt wird sondern erst wenn sein registerDate + x gleich oder größer ist als das Aktuelle Datum.

    Habe jetzt ein wenig rum getestet aber bekomme es nicht hin .
    Kann mir jemand helfen und sagen was ich falsch gemacht habe ?

    Hier der Code aus dem Plugin.

    Code:
    <?php
    // no direct access
    // Import library dependencies
    jimport('joomla.event.plugin');
    
    defined( '_JEXEC' ) or die( 'Restricted access' );
    
    $mainframe->registerEvent( 'onPrepareContent', 'plgContentPc' );
    
    /**
    *
    * Hide text if user not user with id=id
    *
    * Use: some text ...   {day id}..user specific text...{/day} ...other text
    */
    function plgContentPc( &$row, &$params, $page=0 )
    {
    	if ( JString::strpos( $row->text, 'day}' ) === false ) {
    		return true;
    	}
    
     	$plugin =& JPluginHelper::getPlugin('content', 'day');
    
    	 $regex = "#{day.(.*?)}(.*?){/day}#s";
    
    	
    	$GLOBALS['_MAMBOT_PC_PARAMS'] =& $params;
    
    	$row->text = preg_replace_callback( $regex, 'plgContentPc_replacer', $row->text );
    
    	return true;
    }
    
    function plgContentPc_replacer( &$matches )
    {
    	jimport('domit.xml_saxy_shared');
    	
    	$GLOBALS['_MAMBOT_PC_PARAMS'] =& $params;
    
    	
    	$args = SAXY_Parser_Base::parseAttributes( $matches[1] );
    	$text = $matches[2];
    	$user =& JFactory::getUser();
            $userreg = $user->get('registerDate');
    		$heute = strtotime('now');
    		$neuer_zeitstempel=strtotime("+$matches[1] day",$userreg); 
    	
            if ($neuer_zeitstempel>=$heute) //wenn Registerdatum + X >= als Heute dann zeige text
    	{        
    		return $text;
    	}
            else //wenn Registerdatum + X < als Heute dann zeige nicht text
    	{
    		$text=' ';
    	}
           
    	
    	
    
    	
    }
    Danke für Eure Hilfe

  2. #2
    Neu an Board
    Registriert seit
    26.05.2009
    Beiträge
    15
    Bedankte sich
    0
    1 Danksagung in 1 Beitrag

    Standard

    Kann mir keiner Helfen ? Wie muss ich die Datumsangaben wandeln damit ich sie vergleichen kann ? Brauchte dringend Hilfe.

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein