Manual Install
IMPORTANT NOTE!! If you have previously installed this plugin, and are just upgrading to the latest version. see the 'UPDATE' section of this documentation.
Upload Files To Server
Make sure you have downloaded the newest version PageFeeds Pro from our online store (https://shop.yubnub.digital), as well as your license key. The downlaodable plugin is located in My Account/Downloads on the store. your license key is located in My Account/License Keys
UNZIP the downloaded package on your local machine.
UNZIP the file YND_Panel-upload.zip on you local machine.
Open your favorite FTP CLIENT and log into your hosting.
UPLOAD the ENTIRE folder ../YND_Panel/ to your /((YOUR DOMAIN))/public_html/ directory.
You DO NOT need upload the YND_theme-files to your server as these files are going to be edited manually.
Run EZ-Installer
IMPORTANT!!! BEFORE YOU BEGIN!!!
MAKE SURE that the directory on your serer
((YOUR_DOMAIN))/public_html/YND_Panel /uploads/
has permissions set to (777)
IMPORTANT!!! YOU SHOULD BE LOGGED INTO YOUR WoWonder SOCIAL SITE WITH AN ADMIN LEVEL ACCOUNT BEFORE RUNNING THE INSTALLER!!!
-
Make sure you have your PageFeeds Pro Purchase Code available!!!
-
Make sure you have your WoWonder database information handy!!!
-
In your browser go to https://((YOUR_DOMAIN.COM))/YND_panel/?page=install - BE SURE to replace ((YOUR_DOMAIN.COM)) with your actual domain name.
You should now see the screen displayed below in your browser :
You will now fill in all the fields with your own information as follows :
- The Purchase Code for PageFeeds Pro you recieved from our store ( https://shop.yubnub.digital ) when you purchased. The plugin package can be found in your My Account/Downloads section, and the license key can be found in My Account/License Keys.
- WoWonder Site URL - https://((YOUR_DOMAIN.COM)) - Replace with your actual Domain.
- WoWonder Database Name - The name of the database you created when you first set up WoWonder.
- WoWonder Database Host - Usually localhost, if not, consult your hosting provider.
- WoWonder Database Username - This is your DATABASE username, NOT your WoWonder username.
- WoWonder Database Password - This is your DATABASE password, NOT your WoWonder password.
Once you have entered all the correct information, click SUBMIT
If you have followed all directions to this point, and have not seen any error messages, the core of PageFeeds Pro w/ SocialSync has been succesfully installed on your server.
Edit Theme files
Feeds file
For ALL of your current themes :
Copy {{YOUR_ROOT_FOLDER}}/YND_theme-files/themes/{{YOUR_THEME}}/layout/page-setting/y_feeds.phtml
To : {{YOUR_ROOT_FOLDER}}/themes/{{YOUR_THEME}}/layout/page-setting/
WoWonder Theme
loggedin-header
Edit the logged in header file to show a link to the plugin panel for site admins in the dropdown menu.
open {{YOUR_ROOT_FOLDER}}/themes/wowonder/layout/header/loggedin-header.phtml in your code editor
find Wo_IsAdmin() inside the file.
Add the following lines of code under this line : <li><hr></li>
<li>
<a href="<?php echo $wo['config']['site_url'] . '/YND_panel'; ?>"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"> <path d="M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm64 64V416H224V160H64zm384 0H288V416H448V160z"/> </svg>YND panel </a>
</li>
Like the image below:
page-setting prompt
Edit the main settings page for pages to allow users access to the plugin.
open {{YOUR_ROOT_FOLDER}}/themes/wowonder/layout/page-setting/content.phtml in your code editor
add the following code on top of the file:
<?php
function get_feeds_settings($key)
{
global $sqlConnect;
// Use prepared statement to prevent SQL injection
$sql = "SELECT setting_value FROM feed_settings WHERE setting_key = ?";
$stmt = mysqli_prepare($sqlConnect, $sql);
// Bind the key parameter
mysqli_stmt_bind_param($stmt, "s", $key);
// Execute the statement
mysqli_stmt_execute($stmt);
// Get the result
$result = mysqli_stmt_get_result($stmt);
if ($result) {
$row = mysqli_fetch_assoc($result);
return $row['setting_value'];
}
return false;
}
function y_feeds_langs($lang_key, $lang){
global $wo;
$content = file_get_contents($wo['config']['site_url'].'/YND_panel/functions/lang.json');
$data = json_decode($content ,true);
foreach($data as $key){
if($key['lang_key'] == $lang_key){
return $key[$lang];
}
}
}
$is_facebook_enabled = get_feeds_settings('facebook_enaled');
$is_youtube_enabled = get_feeds_settings('youtube_enabled');
$admins_only = intval(get_feeds_settings('admins_only'));
if($_GET['link3'] == 'y_feeds' && $admins_only == 1){
if ($wo['user']['admin'] == 0) {
header("Location: ".$wo['config']['site_url']);
exit();
}
}
?>
In the same file find $pages_array = array
add 'y_feeds' to the array list like the image below:
sidebar-prompt
Edit the pages settings sidebar to show the plugin link for users
open {{YOUR_ROOT_FOLDER}}/themes/wowonder/layout/page-setting/page-setting-sidebar.phtml
find **</ul>**
and add the following code above it:
<?php
$admins_only = intval(get_feeds_settings('admins_only'));
if ($admins_only == 0 || ($admins_only == 1 && $wo['user']['admin'] > 0)){
?>
<li class="list-group-item filter-by-li <?php echo ($wo['setting_page'] == 'y_feeds') ? 'avtive': '';?>">
<a href="<?php echo Wo_SeoLink('index.php?link1=page-setting&page=' . $wo['setting']['page_name'] . '&link3=y_feeds');?>" data-ajax="?link1=page-setting&page=<?php echo $wo['setting']['page_name'];?>&link3=y_feeds" flow="left" tooltip="Feeds">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M0 64C0 46.3 14.3 32 32 32c229.8 0 416 186.2 416 416c0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96C14.3 96 0 81.7 0 64zM0 416a64 64 0 1 1 128 0A64 64 0 1 1 0 416zM32 160c159.1 0 288 128.9 288 288c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224c-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg>
</a>
</li>
<?php }?>
like the image below
fetched_url
Edit the fetched url post view:
open {{YOUR_ROOT_FOLDER}}/themes/wowonder/layout/story/includes/fetched_url.phtml in your code editor
add the following code on the second line in the file:
<?php
if ($wo['story']['feed_provider'] > 0) {
if ($wo['config']['amazone_s3'] == 1) {
$pattren = $wo['config']['amazon_endpoint'] . '/';
} elseif ($wo['config']['wasabi_storage'] == 1) {
$pattren = $wo['config']['wasabi_endpoint'] . '/';
} elseif ($wo['config']['spaces'] == 1) {
if (!empty($wo['config']['spaces_endpoint']) && filter_var($wo['config']['spaces_endpoint'], FILTER_VALIDATE_URL)) {
$pattren = $wo['config']['spaces_endpoint'] . '/';
}
$pattren = 'https://' . $wo['config']['space_name'] . '.' . $wo['config']['space_region'] . '.digitaloceanspaces.com/';
} elseif ($wo['config']['ftp_upload'] == 1) {
$pattren = addhttp($wo['config']['ftp_endpoint']);
} elseif ($wo['config']['ftp_upload'] == 1) {
if (!empty($wo['config']['cloud_endpoint']) && filter_var($wo['config']['cloud_endpoint'], FILTER_VALIDATE_URL)) {
$pattren = $wo['config']['cloud_endpoint'] . '/';
}
$pattren = 'https://storage.googleapis.com/' . $wo['config']['cloud_bucket_name'] . '/';
} elseif ($wo['config']['backblaze_storage'] == 1) {
if (!empty($wo['config']['backblaze_endpoint']) && filter_var($wo['config']['backblaze_endpoint'], FILTER_VALIDATE_URL)) {
$pattren = $wo['config']['backblaze_endpoint'] . "/";
}
$pattren = 'https://' . $wo['config']['backblaze_bucket_name'] . '.s3.' . $wo['config']['backblaze_bucket_region'] . '.backblazeb2.com/';
} else {
$pattren = $wo['config']['site_url'] . '/';
}
$mediaLink = $mediaLink = str_replace($pattren, '', $wo['story']['postLinkImage']);
;
} else {
$mediaLink = $wo['story']['postLinkImage'];
}
?>
change the image source from $wo['story']['postLinkImage'] to $mediaLink like the image below:
You are now ready to proceed to the Cron Job section of the documentation.
Sunshine Theme
loggedin-header
Edit the logged in header file to show a link to the plugin panel for site admins in the dropdown menu
open {{YOUR_ROOT_FOLDER}}/themes/sunshine/layout/header/loggedin-header.phtml in your code editor
find **Wo_IsAdmin()**
inside the file
Add the following lines of code under this line : <li><hr></li>
<li>
<a href="<?php echo $wo['config']['site_url'] . '/YND_panel'; ?>">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
<path d="M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm64 64V416H224V160H64zm384 0H288V416H448V160z"/>
</svg> YND panel
</a>
</li>
Like the image below:
page-setting prompt
Edit the main settings page for pages to allow users use the plugin
open {{YOUR_ROOT_FOLDER}}/themes/sunshine/layout/page-setting/content.phtml in your code editor
add the following code on top of the file:
<?php
function get_feeds_settings($key)
{
global $sqlConnect;
// Use prepared statement to prevent SQL injection
$sql = "SELECT setting_value FROM feed_settings WHERE setting_key = ?";
$stmt = mysqli_prepare($sqlConnect, $sql);
// Bind the key parameter
mysqli_stmt_bind_param($stmt, "s", $key);
// Execute the statement
mysqli_stmt_execute($stmt);
// Get the result
$result = mysqli_stmt_get_result($stmt);
if ($result) {
$row = mysqli_fetch_assoc($result);
return $row['setting_value'];
}
return false;
}
function y_feeds_langs($lang_key, $lang){
global $wo;
$content = file_get_contents($wo['config']['site_url'].'/YND_panel/functions/lang.json');
$data = json_decode($content ,true);
foreach($data as $key){
if($key['lang_key'] == $lang_key){
return $key[$lang];
}
}
}
$is_facebook_enabled = get_feeds_settings('facebook_enaled');
$is_youtube_enabled = get_feeds_settings('youtube_enabled');
$admins_only = intval(get_feeds_settings('admins_only'));
if($_GET['link3'] == 'y_feeds' && $admins_only == 1){
if ($wo['user']['admin'] == 0) {
header("Location: ".$wo['config']['site_url']);
exit();
}
}
?>
in the same file find : $pages_array = array
add 'y_feeds' to the array list like the image below:
sidebar-prompt
Edit the pages settings sidebar to show the plugin link for users
open {{YOUR_ROOT_FOLDER}}/themes/sunshine/layout/page-setting/page-setting-sidebar.phtml
find </ul>
and add the following code above it:
<?php
$admins_only = intval(get_feeds_settings('admins_only'));
if ($admins_only == 0 || ($admins_only == 1 && $wo['user']['admin'] > 0)){
?>
<?php if ($wo['setting']['user_id'] == $wo['user']['id'] || Wo_IsCanPageUpdate($wo['setting']['page_id'],'y_feeds')) { ?>
<li class="<?php echo ($wo['setting_page'] == 'y_feeds') ? 'active': '';?>">
<a href="<?php echo Wo_SeoLink('index.php?link1=page-setting&page=' . $wo['setting']['page_name'] . '&link3=y_feeds');?>" data-ajax="?link1=page-setting&page=<?php echo $wo['setting']['page_name'];?>&link3=y_feeds">
<span><svg width="20" height="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" fill="red"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M0 64C0 46.3 14.3 32 32 32c229.8 0 416 186.2 416 416c0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96C14.3 96 0 81.7 0 64zM0 416a64 64 0 1 1 128 0A64 64 0 1 1 0 416zM32 160c159.1 0 288 128.9 288 288c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224c-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg></span><?php echo $wo['lang']['news_feed'] ?>
</a>
</li>
<?php } ?>
<?php } ?>
like the image below
fetched_url
Edit the fetched url post view:
open {{YOUR_ROOT_FOLDER}}/themes/sunshine/layout/story/includes/fetched_url.phtml in your code editor
add the following code on the second line in the file:
<?php
if ($wo['story']['feed_provider'] > 0) {
if ($wo['config']['amazone_s3'] == 1) {
$pattren = $wo['config']['amazon_endpoint'] . '/';
} elseif ($wo['config']['wasabi_storage'] == 1) {
$pattren = $wo['config']['wasabi_endpoint'] . '/';
} elseif ($wo['config']['spaces'] == 1) {
if (!empty($wo['config']['spaces_endpoint']) && filter_var($wo['config']['spaces_endpoint'], FILTER_VALIDATE_URL)) {
$pattren = $wo['config']['spaces_endpoint'] . '/';
}
$pattren = 'https://' . $wo['config']['space_name'] . '.' . $wo['config']['space_region'] . '.digitaloceanspaces.com/';
} elseif ($wo['config']['ftp_upload'] == 1) {
$pattren = addhttp($wo['config']['ftp_endpoint']);
} elseif ($wo['config']['ftp_upload'] == 1) {
if (!empty($wo['config']['cloud_endpoint']) && filter_var($wo['config']['cloud_endpoint'], FILTER_VALIDATE_URL)) {
$pattren = $wo['config']['cloud_endpoint'] . '/';
}
$pattren = 'https://storage.googleapis.com/' . $wo['config']['cloud_bucket_name'] . '/';
} elseif ($wo['config']['backblaze_storage'] == 1) {
if (!empty($wo['config']['backblaze_endpoint']) && filter_var($wo['config']['backblaze_endpoint'], FILTER_VALIDATE_URL)) {
$pattren = $wo['config']['backblaze_endpoint'] . "/";
}
$pattren = 'https://' . $wo['config']['backblaze_bucket_name'] . '.s3.' . $wo['config']['backblaze_bucket_region'] . '.backblazeb2.com/';
} else {
$pattren = $wo['config']['site_url'] . '/';
}
$mediaLink = $mediaLink = str_replace($pattren, '', $wo['story']['postLinkImage']);
;
} else {
$mediaLink = $wo['story']['postLinkImage'];
}
?>
change the image source from $wo['story']['postLinkImage'] to $mediaLink like the image below:
You are now ready to proceed to the Cron Job section of the documentation.
WonderTag Theme
loggedin-header
Edit the logged in header file to show a link to the plugin panel for site admins in the dropdown menu
open {{YOUR_ROOT_FOLDER}}/themes/wondertag/layout/header/loggedin-header.phtml in your code editor
find Wo_IsAdmin()
inside the file
Add the following lines of code under this line : <li><hr></li>
<li>
<a href="<?php echo $wo['config']['site_url'] . '/YND_panel'; ?>">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
<path d="M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm64 64V416H224V160H64zm384 0H288V416H448V160z"/>
</svg> YND panel
</a>
</li>
Like the image below:
page-setting prompt
Edit the main settings page for pages to allow users use the plugin
open {{YOUR_ROOT_FOLDER}}/themes/wondertag/layout/page-setting/content.phtml in your code editor
add the following code on top of the file:
<?php
function get_feeds_settings($key)
{
global $sqlConnect;
// Use prepared statement to prevent SQL injection
$sql = "SELECT setting_value FROM feed_settings WHERE setting_key = ?";
$stmt = mysqli_prepare($sqlConnect, $sql);
// Bind the key parameter
mysqli_stmt_bind_param($stmt, "s", $key);
// Execute the statement
mysqli_stmt_execute($stmt);
// Get the result
$result = mysqli_stmt_get_result($stmt);
if ($result) {
$row = mysqli_fetch_assoc($result);
return $row['setting_value'];
}
return false;
}
function y_feeds_langs($lang_key, $lang){
global $wo;
$content = file_get_contents($wo['config']['site_url'].'/YND_panel/functions/lang.json');
$data = json_decode($content ,true);
foreach($data as $key){
if($key['lang_key'] == $lang_key){
return $key[$lang];
}
}
}
$is_facebook_enabled = get_feeds_settings('facebook_enaled');
$is_youtube_enabled = get_feeds_settings('youtube_enabled');
$admins_only = intval(get_feeds_settings('admins_only'));
if($_GET['link3'] == 'y_feeds' && $admins_only == 1){
if ($wo['user']['admin'] == 0) {
header("Location: ".$wo['config']['site_url']);
exit();
}
}
?>
in the same file find $pages_array = array
add 'y_feeds' to the array list like the image below:
sidebar-prompt
Edit the pages settings sidebar to show the plugin link for users
open {{YOUR_ROOT_FOLDER}}/themes/wondertag/layout/page-setting/page-setting-sidebar.phtml
find </ul>
and add the following code above it:
<?php
$admins_only = intval(get_feeds_settings('admins_only'));
if ($admins_only == 0 || ($admins_only == 1 && $wo['user']['admin'] > 0)){
?>
<?php if ($wo['setting']['user_id'] == $wo['user']['id'] || Wo_IsCanPageUpdate($wo['setting']['page_id'],'y_feeds')) { ?>
<li>
<a class="<?php echo ($wo['setting_page'] == 'y_feeds') ? 'active': '';?>" href="<?php echo Wo_SeoLink('index.php?link1=page-setting&page=' . $wo['setting']['page_name'] . '&link3=y_feeds');?>" data-ajax="?link1=page-setting&page=<?php echo $wo['setting']['page_name'];?>&link3=y_feeds"> <?php echo $wo['lang']['news_feed'] ?>
</a>
</li>
<?php } ?>
<?php } ?>
like the image below
fetched_url
Edit the fetched url post view:
open {{YOUR_ROOT_FOLDER}}/themes/wondertag/layout/story/includes/fetched_url.phtml in your code editor
add the following code on the second line in the file:
<?php
if ($wo['story']['feed_provider'] > 0) {
if ($wo['config']['amazone_s3'] == 1) {
$pattren = $wo['config']['amazon_endpoint'] . '/';
} elseif ($wo['config']['wasabi_storage'] == 1) {
$pattren = $wo['config']['wasabi_endpoint'] . '/';
} elseif ($wo['config']['spaces'] == 1) {
if (!empty($wo['config']['spaces_endpoint']) && filter_var($wo['config']['spaces_endpoint'], FILTER_VALIDATE_URL)) {
$pattren = $wo['config']['spaces_endpoint'] . '/';
}
$pattren = 'https://' . $wo['config']['space_name'] . '.' . $wo['config']['space_region'] . '.digitaloceanspaces.com/';
} elseif ($wo['config']['ftp_upload'] == 1) {
$pattren = addhttp($wo['config']['ftp_endpoint']);
} elseif ($wo['config']['ftp_upload'] == 1) {
if (!empty($wo['config']['cloud_endpoint']) && filter_var($wo['config']['cloud_endpoint'], FILTER_VALIDATE_URL)) {
$pattren = $wo['config']['cloud_endpoint'] . '/';
}
$pattren = 'https://storage.googleapis.com/' . $wo['config']['cloud_bucket_name'] . '/';
} elseif ($wo['config']['backblaze_storage'] == 1) {
if (!empty($wo['config']['backblaze_endpoint']) && filter_var($wo['config']['backblaze_endpoint'], FILTER_VALIDATE_URL)) {
$pattren = $wo['config']['backblaze_endpoint'] . "/";
}
$pattren = 'https://' . $wo['config']['backblaze_bucket_name'] . '.s3.' . $wo['config']['backblaze_bucket_region'] . '.backblazeb2.com/';
} else {
$pattren = $wo['config']['site_url'] . '/';
}
$mediaLink = $mediaLink = str_replace($pattren, '', $wo['story']['postLinkImage']);
;
} else {
$mediaLink = $wo['story']['postLinkImage'];
}
?>
change the image source from $wo['story']['postLinkImage'] to $mediaLink like the image below:
You are now ready to proceed to the Cron Job section of the documentation.