Jump to content

ngrmm

Members
  • Posts

    421
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by ngrmm

  1. Hi @joshua

    i tried to have an iframe only be shown if consent is given.
    This is my code:

    <div data-category='external_media' data-ask-consent='0'>
    	<div class='video_content' >";
    		<iframe src='https://www.youtube-nocookie.com/embed/XXXXXXXXXX?enablejsapi=1' width='640' height='390' frameborder='0'></iframe>
    	</div>
    </div>

    If consent for external_media is not given, the module asks you to give consent. „To load this element, it is required to consent to the following cookie category: External Media.“ 
    But if consent is given, it does not show the div.video_content or the iframe. I tested to have some plaintext instead of the iframe and it works.

    So this works:

    <div data-category='external_media' data-ask-consent='0'>
    	<div class='video_content' >
    		<p>hello world!</p>
    	</div>
    </div>

    And it looks like as if  0 or 1 for data-ask-consent does not make any difference.

    UPDATE:
    my fault, this works!
     

    <div class='video_content' >";
    	<iframe src='' data-src='https://www.youtube-nocookie.com/embed/XXXXXXXXXX?enablejsapi=1' data-category='external_media' data-ask-consent='0' width='640' height='390' frameborder='0'></iframe>
    </div>

     

  2. My clients wants a modal to show up on every page. But when a user clicks inside the modal -> a session-cookie is set and the modal gets a class.

    // user clicks on modal button
    $('.modal_button').click(function(){
    
    	// 1. set PW session cookie
    	
    	// 2. toggle class
    	$('.modal').toggleClass('off');
    
    });

    I know how to set a cookie on page-load via PW-API. But the click on the modal button does not force a page-load. So i have to set the cookie through javascript. Is there a way to do that?

  3. @Robin S was very kind and had a deeper look at my problem and found the problem:

    Quote

    I took a look and it seems that the Custom Paths module is incompatible with the core LanguageSupportPageNames module. LanguageSupportPageNames also hooks Page::path and performs redirects before pages are viewed (not sure how it works exactly), and so it might be that there's no way for these two modules to function together.

     

    • Like 1
  4. @Robin S thanks for the Module.

    I installed the module and added it to my template.
    But it looks like PagePathHistory is overwriting the new custom path.

    my old path:
    /test/folder/page/

    new custom path
    /test/page/

    When i enter domain.com/test/page/, the site redirects me to the old path.
    Did i forgot something?

     

     

     

     

  5. On 8/20/2020 at 10:39 AM, joshua said:

    I had the same problem recently and discovered the bug: When there also is a normal Repeater field above the RepeaterMatrix field, the js bug occured.

    You could try, if this version works for you. If so, I'll create a PR

    @joshua thx. I tried it, and does not work for me. i also have not another repeater-field above or below my matrixfield.

  6. i have a event-page with a table.
    first column in this table is page-reference-field

    how can i find out if a urlSegment matches one of the rows having the same page-reference-field (page-id)?

    // all guests
    $allguests = new pageArray();
    foreach($page->event_guests_table as $event_guests_table_row) {
    	$allguests->prepend($event_table_row->guest);
    }
    
    // echo allguests would output: 1101|1102|1103|…
    // domain.tld/event/1101/
    
    // show content if guest is in the table or redirect
    if($input->urlSegment1 ~= $allguests ) {
    	// show content
    }
    else {
    	// redirect
    }

     

    which selector operator do i have to use? the one above does not work

  7. i bypassed it with a static helper-array and it works.
    would be nice to know how to do this without a helper array

    $mNames = array("zero", "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
    $ms = wireArray();
      
      $m1 = date('n', 1579643232); // 1
      $m2 = date('n', 1583107200); // 3
    
      $ms->prepend($m1);
      $ms->prepend($m2);
    
      foreach($ms as $name) {
    	  echo "$mNames[name] ";
      }
      // result: Januar März

     

  8. I want to have filters with month names in german. I fetch them from date-fields with strftime('%B', $timestamp);
    But i'm not able to add them correctly to a wireArray()

    What's the right way to do that?

      
      $ms = wireArray();
      
      $m1 = strftime('%B', 1579643232); // Januar
      $m2 = strftime('%B', 1583107200);	// März
    
      $ms->prepend($m1);
      $ms->prepend($m2);
    
      foreach($ms as $name) {
    	  echo "$name ";
    		// result: Januar M�rz
      }

     

  9. hey @guy

    i installed this module and have a free-sendgrid account. generated an API key and did this:

    	$m = new wireMail();
    	$m->body('hello');
    	$m->from($email = 'test@test.com', $name = 'John');
    	$m->to($email = 'mail@test.com', $name = 'Jane', $substitutions = null, $subject = 'TESTING');
    	$m->___send();

    Email is send out and delivered. But i don't see any statistics about them being sent on sendgrid. Did i forgot something?
    Tracking is enabled.

  10. Got it working by using two loops. One for sending out emails and the other for changing the value.
     

    	
    	
    	// loop through table and send out emails
    	foreach($event->event_clients_list as $event_table_row) {
    		
    		// get client page
    		$clientPage = $event_table_row->client_name;
          
          	// get client email
    		$clientEmail = $clientPage->email;
    
    		// email html body
    		ob_start();
    		include('./_inc/emailbody.inc');
    		$emailBody = ob_get_clean();
    
    		if($event_table_row->client_invited == '') {
    
    			// send email
    			$m = new WireMail();
    			$m->to($clientEmail);
    			$m->from($fromEmail, $fromName);
    			$m->subject($emailSubject);
    			$m->bodyHTML($emailBody);
    			$m->send();		
    
    		}
    	}
    
    	// make event-page editable
    	$event->of(false); 
    	
    	// loop through table and change value
    	foreach($event->event_clients_list as $event_table_row) {
    
    		// if client isn't invited yet (checkbox not checked)
    		if($event_table_row->client_invited == '') {
    			$event_table_row->client_invited = 1;
    			$event->save('event_clients_list');	
    		}
    		
    	}

     

  11. thank you @rick
    it works!

    here the code:
     

    	// event ID
    	$eventID = $input->get('eventID','int');
    	$event = $pages->get($eventID);
    
    	// config
    	$testEmail = $event->event_mail_test_adress;
    	$fromEmail = $event->event_mail_from;
    	$fromName = $event->event_mail_from_name;
    	$emailSubject = $event->event_mail_subject;
    	$filenameDate = strftime('%d-%m-%Y', $event->date_start);
    
    	// filename
    	$filename = "{$event->name}_{$filenameDate}";
    	
    	// create ics file
    	$file = fopen('ics/'.$filename.'.ics', 'w') or die('File can not be saved!'); 
    
    	// fetch start date 
    	$event_start_ts = $event->getUnformatted("date_start");
    
    	// build the .ics data
    	$ical_data = "\r\n";
    	$ical_data .= 'BEGIN:VCALENDAR';
    	
    	
    	
    	$ical_data .= "\r\n";
    	$ical_data .= 'END:VCALENDAR';
    	
    	fwrite($file, $ical_data);
    	fclose($file);
    
    	// HTML BODY
    	ob_start();
    	include('./_inc/emailbody.inc');
    	$emailBody = ob_get_clean();
    
    	// send email
    	$m = new WireMail();
    	$m->to($testEmail);
    	$m->from($fromEmail, $fromName);
    	$m->subject($emailSubject);
    	$m->bodyHTML($emailBody);
    	$m->attachment('ics/'.$filename.'.ics');
    	$m->send();

     

    • Like 1
  12.  

    41 minutes ago, rick said:

    Where does filename come from?

    
    header("Content-Disposition: attachment; filename={$filename}.ics");

    Why are you assigning an attachment that is not a file.

    
    $m->attachment($ical_data);

    Is the attatchment boundary defined ?

     

    Filename is a $page->name

    Sorry, i'm not an expert. What kind of headers do i need? And how do i define a boundery?
    Is there a manual how to that?

×
×
  • Create New...