Sitelok + WebYep + lots of stacks and stacks

I will confess to asking for guidance before stumbling around and experimenting, and this may be a first!

I have installed WebYep and bought the WebYep stacks and downloaded the WebYep Sitelok plugin (and obviously also Sitelok, and Joe Workman’s Sitelok Stacks) and I have (in accordance with directions):

  1. Copied the Sitelok relevant configuration settings into WebYep’s config_inc.php
  2. Placed the WebYep assistant stack on the page, and copied the WebYep Assistant code into the prefix area in the RW page inspector, and placed a WebYep login button.
  3. I have setup Sitelok logins and groups and these all work.

Up to this point, the page loads, but does not have WebYep to Sitelok account integration so I cannot login with Sitelok accounts.

As the next step…

Now the directions say to insert the Sitelok init code just before the WebYep code, contiguous with the start of the WebYep php block. If I copy the usual Sitelok block into the prefix area:

<?php $groupswithaccess="ALL"; require_once("../slpw/sitelokpw.php"); require_once("../slpw/slupdateform.php"); ?>

The page is dead with a 500 error.

If I add Joe’s Sitelok Prefix to the page, which I assume includes this same code, the page is dead with the same error.

Anyone have any idea what I actually need to do? The usual caveat applies: I may just be daft. But if anyone can influence this crooked path I’m weaving, it is much appreciated.

@vibralogix possibly? @willwood?

Hi Jeff. Can you contact me directly so I can arrange to look on the server to see how things are setup. Thanks Adrian.

1 Like

Hello @bolesjb ,

I’ve honestly never heard of a ‘WebYep Sitelok plugin’. I don’t know what this is. It’s not something I make or support. You may have tagged me by mistake (instead of Joe from Weaving Space) or muddled the names of what you’re trying to use?

An error 500 in the context of RapidWeaver typically points towards a PHP or database issue. You should take a look at the server PHP error logs to see if they hold any clues as to what’s gone wrong.

It is oftentimes easier to delete (clear) the logs, then access the page that is giving you problems. The errors and warnings will get printed in chronological order.

Regretfully the nature of PHP means that this isn’t something any of us on the outside have access to. You can only get to error logs via your personal FTP or via you web hosting control panel. For reasons of security.

Perhaps ask your web hosting company if you are unsure about where these error logs are stored or how to get to them. They’ll be able to help you with this.

-Will.

There’s a Sitelok Plugin for WebYep by Vibralogix provided here Plugins

I guess you are referring to this.

I am using it on a couple of sites without any problem.

@nemo55 Thanks for the link. I have never seen that before. I had no idea it ever existed.

Ah that’s great to hear - are you running it on stacks sites?

Thanks Will - just tagging you from reading your past comments on WebYep and knowing you have considerable expertise in that area. Your WebYep posts on this forum make a better manual than the actual manual! But I’ll ping Adrian and noodle a bit on the plugin interaction. This might be an @joeworkman question too, but I might have too many ingredients in this soup :slightly_smiling_face:

Thanks! I’ll message you.

Yes, I do. Sometimes, I use Joe’s Sitelok and Will’s Webyep stack, sometimes not, sometimes both of them, depending on the need.

Have you tied them together? If so how have you integrated the pieces? I’m doing the following:

  1. Drop Joe’s SiteLok Prefix stack at top of page, and I define the user groups there (and SiteLok is setup and working elsewhere just fine, and SiteLok confirms WebYep Plugin is installed).
  2. Drop WebYep Assistant stack next on page.
  3. Copy the WebYep Assistant PHP into the page prefix block (see screenshot) .
  4. Alter the WebYep config-inc.php with the following lines as in the instructions:
//$webyep_sAdminName = "thetestuser";
//$webyep_sAdminPassword = "isthebestuser";
//WebYep Sitelok Plugin Integration
session_start();
$webyep_sAdminName=$_SESSION['ses_webyepadminusername'];
$webyep_sAdminPassword=$_SESSION['ses_webyepadminpassword'];
$webyep_aMultiLoginName[]=$_SESSION['ses_webyepusername'];
$webyep_aMultiLoginPassword[]=$_SESSION['ses_webyeppassword'];
$webyep_aMultiLoginURLPatterns[]=$_SESSION['ses_webyepurlpattern'];

What about WebYep without Sitelok, does it work ?

WebYep works very well. I love it. Already used it very often. At the moment unfortunately only for PHP 7.x, as far as I know!?

Yes, WebYep works great without SiteLok. It’s only when I try to connect them that it blows up. It has to just be where the code is getting dropped. But don’t know. Could navigate around it, in this case, but if it worked it would be awesome. Here by the way is the top of page when it’s broken:

<?php ob_start(); ?><?php
$groupswithaccess="WebPubs,ADMIN";
require_once("../slpw/sitelokpw.php");
require_once("../slpw/slupdateform.php");
?><?php
$webyep_sIncludePath = "./";
$iDepth = 0;
while (!file_exists($webyep_sIncludePath . "webyep-system")) {
    $iDepth++;
    if ($iDepth > 10) {
      error_log("webyep-system folder not found.", 0);
    break;
    }
  $webyep_sIncludePath = ($webyep_sIncludePath == "./") ? ("../"):("$webyep_sIncludePath../");
}
if (file_exists("$webyep_sIncludePath/webyep-system/program")) $webyep_sIncludePath .= "webyep-system/program";
else $webyep_sIncludePath .= "webyep-system/program";
$sMain = "$webyep_sIncludePath/webyep.php";
if (file_exists($sMain)) include($sMain);
?><!doctype html>
<html class="no-js" lang="en">
<head>

That might be sus as my kids say, as the WebYep plugin manual says the beginning of WebYep init code looks like this, but it also references V1 and this is now V2.

<?php // WebYep init WebYepV1 
/* ><table><tr><td bgcolor=white><h2>WebYep message: Error, PHP inactive</h2>

But now I’m finding the init code in the manual, and when I pop the actual top of page from this index.php in my ftp client, the code looks like this, so about the same:

<?php session_start(); // WebYep init WebYepV2
/* ><table><tr><td bgcolor=white><h2>WebYep message: Error, PHP inactive</h2>
<font color=red>The PHP code in this page can not be executed!<ul>
<li>Are you launching this page directly form your harddisc <em>(e.g. via a local browser" instead of accessing it via a webserver?)</em></li>
<li>Has this file the correct file extension for PHP scripts? WebYep pages must have the ".php" extension and <b>not</b> ".html" or ".htm"!</li>
</ul></font></td></tr></table><!--
*/
$webyep_sIncludePath = "./";
$iDepth = 0;
while (!file_exists($webyep_sIncludePath . "webyep-system")) {
	$iDepth++;
	if ($iDepth > 10) {
		error_log("webyep-system folder not found!", 0);
		echo "<html><head><title>WebYep</title></head><body><b>WebYep:</b> This page can not be displayed <br>Problem: The webyep-system folder was not found!</body></html>";
		exit;
	}
	$webyep_sIncludePath = ($webyep_sIncludePath == "./") ? ("../"):("$webyep_sIncludePath../");
}
if (file_exists("${webyep_sIncludePath}webyep-system/programm")) $webyep_sIncludePath .= "webyep-system/programm";
else $webyep_sIncludePath .= "webyep-system/program";
include("$webyep_sIncludePath/webyep.php");
// -->?>

So it looks like the top of page php is in order, per the SiteLok, WebYep, and WebYep-Sitelok-Plugin instructions. All the core pieces work individually. So I guess that leads me to suspect the plugin. Interesting. Notably is was released 9/17, during 3.0 days, but it was rev’d in June of 21 I believe, so somebody’s using it for this. Raising a support ticket with Chillidog too.

Maybe I’ll drop SLPW and then reinstall, then reinstall plugin to make sure everything is clean. Not like I really have any users configured.

:thinking:

Okay, good news, I think I’m almost there. Unfortunately, between caches and everything else it feels like there are a few bits that are moving around and I’m not confident about final remedy. But these are the threads my crossed eyes are conscious of.

  1. I had made some alterations to the default login form for SLPW. I was on the cusp of cleaning it out, and first reset to default login form. At that point, I could get a login form on the Sitelok/WebYep page instead of a 500. I’m pretty clear that these two items were connected. But I wouldn’t put more than $5 on it.

  2. Since this, I seem to be able to trigger authentication equally well with either the PHP SiteLok init in the page inspector prefix, or with Joe’s SiteLok stack. Problem is, I can’t successfully login with a SiteLok account from a WebYep page. I get the non-jquery popup, and consistently get “username or password incorrect” for a configured WebYep account. BUT…

  3. I can login from SiteLok, and navigate to a WebYep page, and remain authenticated. This is actually my preference, as I’m building an internal user authentication page with a tree map for WebYep page access.

So there’s still a hitch in the WebYep page login if you’re embedding a login button directly. But I don’t need that approach - was just using it for testing.

Since this was an intriguing adventure, and these forums are a wealth of information, for the sake of good citizenship I’m going to detail my final configuration next. Even though I keep replying to myself :slightly_smiling_face:

Here’s the final config that seems clean and works correctly for integrating SiteLok, WebYep, and WebYep SiteLok Plugin. Starting with the obvious.

  1. Install SiteLok. Read the directions.
  2. Buy Joe’s SiteLok Stacks.
  3. Install WebYep. Read the directions. Note the footnote on the page, the really big one, about javascript issues.
  4. Buy Will Woodgate’s WebYep Stacks.
  5. Download and install the WebYep SiteLok Plugin. Modify WebYep config-inc.php as instructed.
  6. Confirm the WebYep installation per directions.
  7. Modify user groups in SiteLok, create a WebYep user group if needed, and then configure the WebYep plugin by clicking on it in the SiteLok administration interface.
  8. I could not get the WebYep login stack button to function. In turn, I created a separate login page for general SiteLok authentication, so I suggest create a login landing page that links out to other WebYep pages after the user logs in with a SiteLok account.
  9. On the other pages with WebYep components, configure the stacks and page inspector prefix like this below. Notice I only used Joe’s SiteLok Prefix stack, no other php snippet additions. Notice the WebYep php is copied into prefix per the instructions in Will’s WebYep Assistant stack. Note, I had to add both PUBLIC and the WebYep Plugin configured publishers group to the SiteLok groups list. Just adding public didn’t get me authorized to edit. Just adding authorized users locks everyone out, takes me to the SiteLok login page, and requires authorization for any page access. So the plugin is successfully passing the authorized users list.

That’s what’s working here. Hope it’s helpful to someone in the future. @joeworkman @vibralogix @willwood - Thanks for the Stacks and pieces. @nemo55 thanks for the suggestion you had this working, so I could keep banging at it.

Hi Jeff, glad you you could make it work. Just 2 remarks:

Point 8 - when using Vibralogix WebYep plugin, you can’t login via the WebYep login button anymore (just for switching edit mode on/off). Authentication can only be done via Sitelok. Either you use Sitelok’s login page or install a login form (look at Joe’s Sitelok stack) onto one of your RW pages. In both cases I recommend to use the redirect option(s) in order to direct the users to page(s) you want to.

Point 9: I prefer putting the WebYep prefix into RW main code area instead doing this for every single page

Just another thing. In my Sitelok Prefix stack I set the groups to ALL, and use the IF ELSE logic afterwards in order to grant access to content on the page(s).

I really hope WebYep will soon be available for PHP 8… so far I heard Max (and @willwood ?) is / are working on that for 2022.

Best, Juergen

Hi Jeff. Glad you got it all working and thanks for sharing the details. Adrian.

I would also very much like that.

me also

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.