晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
Server : Apache System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64 User : rainic ( 1014) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/stando/www/wp-content/plugins/powerpress/ |
Upload File : |
<?php
/***
* @package PowerPressNetwork
*/
if ( !function_exists('add_action') )
die("access denied.");
require_once(dirname(__FILE__).'/api-data-transfer-bus.class.php');
require_once(dirname(__FILE__).'/powerpressadmin-auth.class.php');
class PowerPressNetwork
{
private $display;
private $apiBus;
private $parent_slug;
function __construct($parent_slug)
{
$pluginList = get_option( 'active_plugins' );
if (in_array('powerpress/powerpress.php',$pluginList)) {
$this->parent_slug = $parent_slug;
$this->init();
$this->apiBus = new PowerpressNetworkDataBus();
add_action('admin_menu', array($this, 'checkUpdateProgram'));
}
else {
if (in_array('powerpress-network/powerpress-network.php',$pluginList)) {
function sample_admin_notice__success() {
?>
<div class="notice notice-error">
<p><?php _e( 'WARNING: PowerPress Network will not work with PowerPress not active.' ); ?></p>
</div>
<?php
}
add_action( 'admin_notices', 'sample_admin_notice__success' );
}
else {
die("PowerPress Network plugin not activated - must first activate PowerPress.");
}
}
}
function init()
{
if (!is_admin()) {
require_once(dirname(__FILE__) . '/shortcodes/ShortCode.php');
require_once(dirname(__FILE__) . '/shortcodes/Application.php');
require_once(dirname(__FILE__) . '/shortcodes/ListPreview.php');
require_once(dirname(__FILE__) . '/shortcodes/List.php');
require_once(dirname(__FILE__) . '/shortcodes/Program.php');
require_once(dirname(__FILE__) . '/shortcodes/Grid.php');
}
if (is_admin() && isset($_GET['page']) && $_GET['page'] == 'powerpress-network') {
$key = $_GET['key'];
switch ($key) {
case 'programs':
include(dirname(__FILE__) . '/admin/programs.php');
break;
case 'lists':
include(dirname(__FILE__) . '/admin/lists.php');
break;
case 'link':
include(dirname(__FILE__) . '/admin/link.php');
break;
case 'index':
include(dirname(__FILE__) . '/admin/index.php');
break;
case 'base':
include(dirname(__FILE__) . '/admin/base.php');
break;
case 'applications':
include(dirname(__FILE__) . '/admin/applications.php');
break;
default:
include(dirname(__FILE__) . '/powerpress-network.php');
}
}
}
function getAccessToken()
{
// Look at the creds and use the latest access token, if its not the latest refresh it...
$creds = get_option('powerpress_network_creds');
if( !empty($creds['access_token']) && !empty($creds['access_expires']) && $creds['access_expires'] > time() ) { // If access token did not expire
return $creds['access_token'];
}
if( !empty($creds['refresh_token']) && !empty($creds['client_id']) && !empty($creds['client_secret']) ) {
// Create new access token with refresh token here...
$auth = new PowerPressAuth();
$resultTokens = $auth->getAccessTokenFromRefreshToken($creds['refresh_token'], $creds['client_id'], $creds['client_secret']);
if( !empty($resultTokens['access_token']) && !empty($resultTokens['expires_in']) ) {
powerpress_save_settings( array('access_token'=>$resultTokens['access_token'], 'access_expires'=>( time() + $resultTokens['expires_in'] - 10 ) ), 'powerpress_network_creds');
return $resultTokens['access_token'];
}
}
// If we failed to get credentials, return false
return false;
}
function requestAPI($requestUrl, $auth = false, $post = false)
{
$accessToken = '';
if( $auth ) {
$accessToken = $this->getAccessToken();
if( empty($accessToken) )
return false;
}
// Equivelant command line argument to run command
//mail('c', 'dd', "curl ". (is_array($post) ? '-d "'.implode("&", $post) .'" ' : '') ."-H \"Authorization: Bearer $accessToken\" \"$requestUrl\"");
$auth = new PowerPressAuth();
$response = $auth->api($accessToken, $requestUrl, $post);
if( $response === false ) {
powerpress_page_message_add_error( __('Error: ' . $auth->getLastError(), 'powerpress') );
}
return $response;
}
static function getHTML($filename, $props, $networkInfo, $accountInfo)
{
if (is_file(dirname(__FILE__) . '/shortcodes/views/' . $filename)) {
ob_start();
include(dirname(__FILE__) . '/shortcodes/views/' . $filename);
$html = ob_get_contents();
ob_end_clean();
return $html;
} else if (is_file(dirname(__FILE__) . '/admin/' . $filename)) {
ob_start();
include(dirname(__FILE__) . '/admin/' . $filename);
$html = ob_get_contents();
ob_end_clean();
return $html;
} else {
return "<div><strong>View for $filename unavailable.</strong></div>";
}
}
function action_wp_enqueue_scripts()
{
if (is_admin()) {
wp_register_style('powerpress-network', $this::powerpress_network_plugin_url() . 'css/style.css');
wp_enqueue_style('powerpress-network');
wp_enqueue_script('powerpress-network', $this::powerpress_network_plugin_url() . 'js/admin.js', array('jquery'));
}
}
static function include_script($handler, $src)
{
wp_register_script($handler, plugins_url($src, __FILE__));
wp_enqueue_script($handler);
}
static function include_style($handler, $src)
{
wp_register_style($handler, plugins_url($src, __FILE__));
wp_enqueue_style($handler);
}
function wpse_load_plugin_css()
{
$plugin_url = plugin_dir_url(__FILE__);
wp_enqueue_style('style', $plugin_url . 'css/stylesheet.css');
wp_enqueue_style('style', $plugin_url . 'css/blueprint.css');
}
static function powerpress_network_plugin_url()
{
$local_path = __FILE__;
if (DIRECTORY_SEPARATOR == '\\') { // Win32 fix
$local_path = basename(dirname(__FILE__)) . '/' . basename(__FILE__);
if (strpos(__FILE__, 'C:\\') === 0 && strstr($local_path, 'mu-plugins')) {
$local_path = __FILE__;
$local_path = substr($local_path, 2);
$local_path = str_replace('\\', '/', $local_path);
}
if (strstr(__FILE__, 'mu-plugins')) {
// mu-plugins URL!
return content_url() . '/mu-plugins/' . dirname($local_path) . '/';
}
}
$plugin_url = plugins_url('', $local_path);
return $plugin_url . '/';
}
public function network_plugin_setup_menu(){
//$parent_slug, __('PowerPress Network', 'powerpress'), __('PowerPress Network', 'powerpress'), POWERPRESS_CAPABILITY_EDIT_PAGES, 'network-plugin', 'powerpress_admin_page_network_plugin');
add_submenu_page( $this->parent_slug, 'Network', 'manage_options', 'network-plugin', array($this, 'display_plugin') );
}
public function setDisplay()
{
$this->display = $this->action_admin_init();
}
static function createPage()
{
$originalMap = get_option('powerpress_network_map');
$map = $originalMap;
$pageCreated = false;
$target = null;
$postID = null;
if ($_POST['target'] == "Program"){
$target = "p-".$_POST['targetId'];
} else if ($_POST['target'] == "List") {
$target = "l-".$_POST['targetId'];
}
//Check if the page for desired program or list has been already created
if (isset($map[$target])){
$postID = $map[$target];
if (get_post_status($postID) == 'publish'){
$pageCreated = true;
}
}
if (!$pageCreated){
global $user_ID;
$page['post_type'] = 'page';
$page['post_content'] = $_POST['content'];
$page['post_parent'] = 0;
$page['post_author'] = $user_ID;
$page['post_status'] = 'publish';
$page['post_title'] = __($_POST['pageTitle'], 'powerpress');
$postID = wp_insert_post($page);
if ($postID != 0){
$map[$target] = $postID;
if($originalMap === null) {
add_option('powerpress_network_map', $map);
} else{
update_option('powerpress_network_map', $map);
}
}
}
return $postID;
}
private function handlePageAction($createUrl)
{
$option = get_option('powerpress_network_map');
$postID = 0;
if (isset($_POST['pageAction']) && $_POST['pageAction'] == 'unlink'){
if ($_POST['target'] == 'List') {
unset($option['l-' . $_POST['targetId']]);
$this->removeOption('link_page_list');
} else if ($_POST['target'] == 'Program') {
unset($option['p-' . $_POST['targetId']]);
$this->removeOption('link_page_program');
}
update_option ('powerpress_network_map', $option);
} else {
if (empty($_POST['pageID'])) {
$postID = $this->createPage();
} else{
$postID = $_POST['pageID'];
if ($_POST['target'] == 'List') {
$option['l-' . $_POST['targetId']] = $postID;
} else if ($_POST['target'] == 'Program') {
$option['p-' . $_POST['targetId']] = $postID;
}
$option[] = $postID;
update_option('powerpress_network_map', $option);
}
if ($postID != 0) {
if ($_POST['target'] == 'List') {
$option['l-' . $_POST['targetId']] = $postID;
$this->insertOption('link_page_list', get_permalink($postID));
} else if ($_POST['target'] == 'Program') {
$option['p-' . $_POST['targetId']] = $postID;
$this->insertOption('link_page_program', get_permalink($postID));
}
}
}
if ($postID!= 0 && !(isset($_POST['redirectUrl']) && $_POST['redirectUrl'] == 'false')) {
header('location: ' . $createUrl . 'wp-admin/post.php?post=' . $postID . '&action=edit');
exit;
}
}
private function handleCodeReturn($apiUrl, $createUrl, &$creds)
{
if( empty($_GET['state']) || empty($_GET['code']) ) {
powerpress_page_message_add_error( __('An error occurred linking your account. Missing parameters.', 'powerpress-network') );
return false;
}
$tempClient = get_option('powerpress_network_temp_client');
if( $_GET['state'] != $tempClient['state'] ) {
powerpress_page_message_add_error( __('An error occurred linking your account. State does not match.', 'powerpress-network') );
return false;
}
$redirectUri = admin_url('admin.php?page=network-plugin');
$auth = new PowerPressAuth();
// Get the client ID for this installation
$resultClient = $auth->issueClient($_GET['code'], $tempClient['temp_client_id'], $tempClient['temp_client_secret'], $redirectUri);
if( $resultClient === false || empty($resultClient['client_id']) || empty($resultClient['client_secret']) ) {
if( !empty($resultTokens['error_description']) )
powerpress_page_message_add_error( $resultTokens['error_description'] );
else if( !empty($resultTokens['error']) )
powerpress_page_message_add_error( $resultTokens['error'] );
else
powerpress_page_message_add_error( __('Error issuing client:','powerpress-network') .' '.$auth->GetLastError() . $auth->getDebugInfo() );
return false;
}
// Get the access and refresh token for this client
$resultTokens = $auth->getAccessTokenFromCode( $_GET['code'], $resultClient['client_id'], $resultClient['client_secret'], $redirectUri);
if( $resultTokens === false || empty($resultTokens['access_token']) || empty($resultTokens['refresh_token']) ) {
if( !empty($resultTokens['error_description']) )
powerpress_page_message_add_error( $resultTokens['error_description'] );
else if( !empty($resultTokens['error']) )
powerpress_page_message_add_error( $resultTokens['error'] );
else
powerpress_page_message_add_error( __('Error retrieving access token:','powerpress-network') .' '.$auth->GetLastError() );
return false;
}
$props = array();
$props['code'] = $_GET['code'];
$props['client_id'] = $resultClient['client_id'];
$props['client_secret'] = $resultClient['client_secret'];
$props['access_token'] = $resultTokens['access_token'];
$props['access_expires'] = ( time() + $resultTokens['expires_in'] - 10 );
$props['refresh_token'] = $resultTokens['refresh_token'];
////update_option('network_general', $props);
powerpress_save_settings( $props, 'powerpress_network_creds');
powerpress_page_message_add_notice( __('Account linked successfully.', 'powerpress-network') );
return;
}
private function checkSignin($apiUrl, $createUrl, &$creds)
{
$option = get_option('powerpress_network_creds');
$accessToken = $this->getAccessToken();
if( !empty($accessToken) )
return true;
return false;
}
private function handleSearchFeed($apiUrl, $creds, $networkInfo)
{
return $this->apiBus->getFeedFromLink($apiUrl, $creds, $networkInfo, $_POST['feedUrl']);
}
public function action_admin_init()
{
// Only do anything if we are in the network page..
if(empty($_GET['page']) || $_GET['page'] != 'network-plugin' )
return;
// Move wp-admin code here that processes things before any HTML is sent back by the server.
$apiArray = powerpress_get_api_array();
$apiUrl = $apiArray[0];
$createUrl = get_home_url() . '/';
$creds = array();
if (isset ($_POST['target'])) {
$this->handlePageAction($createUrl);
}
if (isset($_GET['code'])) {
$this->handleCodeReturn($apiUrl, $createUrl, $creds);
}
if (isset($_POST['unlinkAccount'])){
delete_option ('powerpress_network_creds');
}
if( !empty($_POST['ppn-action']) ) {
switch( $_POST['ppn-action']) {
case 'link-account': {
// Link account action requested
if (isset($_POST['signinRequest'])) {
$auth = new PowerPressAuth();
$result = $auth->getTemporaryCredentials();
// Okay we got it!
if( $result !== false && !empty($result['temp_client_id']) && !empty($result['temp_client_secret']) ) {
$state = md5( rand(0, 999999) . time() );
update_option('powerpress_network_temp_client', array('temp_client_id' => $result['temp_client_id'], 'temp_client_secret' =>$result['temp_client_secret'], 'state'=>$state ));
header('location:' . $auth->getApiUrl() . 'oauth2/authorize?response_type=code&client_id=' . $result['temp_client_id'] . '&redirect_uri=' . $createUrl . 'wp-admin/admin.php?page=network-plugin&state='.$state );
exit;
}
// Handle error here
if( !empty($result['error_description']) )
powerpress_page_message_add_error( $result['error_description'] );
else if( !empty($result['error']) )
powerpress_page_message_add_error( $result['error'] );
else
powerpress_page_message_add_error( __('Error creating temporary client:','powerpress-network') .' '.$auth->GetLastError() );
}
}; break;
case 'set-network-id': {
$networkId = $_POST['networkId'];
$requestUrl = '/2/powerpress/network/' . $networkId;
$props = $this->requestAPI($requestUrl, true);
//$props = PowerpressNetworkDataBus::getCacheOrCallAPI($creds, $cacheName, $requestUrl, $needDirectAPI);
if( !empty($props['network_id']) ) {
update_option('powerpress_network_id', $networkId);
if( !empty($props['network_title']) )
update_option('powerpress_network_title', $props['network_title']);
} else {
//delete_option('powerpress_network_id');
//delete_option('powerpress_network_title');
}
}; break;
case 'unset-network-id': {
delete_option('powerpress_network_id');
delete_option('powerpress_network_title');
$networkId = '';
}; break;
}
}
$passSignIn = $this->checkSignin($apiUrl, $createUrl, $creds);
$danger = true;
$alert = null;
$status = null;
$props = array();
$needDirectAPI = false;
$networkInfo = get_option('powerpress_network');
$networkId = get_option('powerpress_network_id');
$networkTitle = get_option('powerpress_network_title');
$networkInfo['network_id'] = $networkId;
$networkInfo['network_title'] = $networkTitle;
//echo "PowerPress Network ID: $networkId <br />";
$accountInfo = $this->apiBus->getNetworkOwnerInformation($apiUrl, $creds, $networkInfo, $needDirectAPI);
if ($passSignIn) { //If the user pass the signin section
if ( empty($networkId) ){
$status = 'List Networks';
} else {
if (isset($_GET['status']) && ($_GET['status'] != 'List Networks' ) ) {
$status = $_GET['status'];
} else {
$status = 'Select Choice';
}
}
//echo "- - - - - - - - - - - - - - - $status <br />";
if (isset($_POST['listId'])) {
$this->insertOption('list_id', $_POST['listId']);
$networkInfo = get_option('powerpress_network');
$networkInfo['network_id'] = $networkId;
$networkInfo['network_title'] = $networkTitle;
}
if (isset($_POST['programId'])){
$this->insertOption('program_id', $_POST['programId']);
$networkInfo = get_option('powerpress_network');
$networkInfo['network_id'] = $networkId;
$networkInfo['network_title'] = $networkTitle;
}
if (isset($_POST['linkPageProgram'])){
$this->insertOption('link_page_program', $_POST['linkPageProgram']);
$networkInfo = get_option('powerpress_network');
$networkInfo['network_id'] = $networkId;
$networkInfo['network_title'] = $networkTitle;
}
if (isset($_POST['linkPageList'])){
$this->insertOption('link_page_list', $_POST['linkPageList']);
$networkInfo = get_option('powerpress_network');
$networkInfo['network_id'] = $networkId;
$networkInfo['network_title'] = $networkTitle;
}
if (isset($_POST['needDirectAPI']) && $_POST['needDirectAPI'] == true){
//delete all option with ppn-cache at first
$all_options = wp_load_alloptions();
foreach ( $all_options as $key => $value ) {
if ( strpos( $key, 'ppn-cache ' ) === 0 ) {
delete_option( $key );
}
}
}
if (isset ($_POST['changeOrCreate']) && $_POST['changeOrCreate'] == true) {
if (isset($_POST['newListTitle'])) { //Create New List
$create = array(
'newListTitle' => $_POST['newListTitle'],
'newListDescription' => $_POST['newListDescription']
);
$props = $this->apiBus->createNewList($apiUrl, $creds, $networkInfo, $create);
$needDirectAPI = true;
}
if (isset($_POST['editListTitle'])) { //Edit List
$update = array(
'editListTitle' => $_POST['editListTitle'],
'editListDescription'=> $_POST['editListDescription']
);
$props = $this->apiBus->updateList($apiUrl, $creds, $networkInfo, $update);
$needDirectAPI = true;
}
if (isset($_POST['requestAction'])) { //Change List
$needDirectAPI = true;
if ($_POST['requestAction'] == 'delete') {
if (isset($_POST['listId'])) {
$this->insertOption('list_id', $_POST['listId']);
$networkInfo = get_option('powerpress_network');
$networkInfo['network_id'] = $networkId;
$networkInfo['network_title'] = $networkTitle;
$props = $this->apiBus->deleteSpecificList($apiUrl, $creds, $networkInfo);
}
} else if ($_POST['requestAction'] == 'save') {
$props = $this->apiBus->updateProgramsInSpecificList($apiUrl, $creds, $networkInfo, $_POST['program']);
}
}
if (isset($_POST['feedUrl'])) {
$props = $this->handleSearchFeed($apiUrl, $creds, $networkInfo);
}
if (isset($_POST['listIdForApp'])) {
$needDirectAPI = true;
$add = array(
'programIdForApp'=> $_POST['programIdForApp'],
'listIdForApp' => $_POST['listIdForApp'],
'appLabel' => $_POST['appLabel'],
'feedUrl' => urlencode($_POST['feedUrl'])
);
$this->apiBus->submitApplication($apiUrl, $creds, $networkInfo, $add);
}
if (isset($_POST['appAction'])) {
$needDirectAPI = true;
$action = array(
'appAction' => $_POST['appAction'],
'applicantId' => $_POST['applicantId']
);
$props = $this->apiBus->changeApplicationStatus($apiUrl, $creds, $networkInfo, $action);
}
}
if (isset($props['alert'])){
$alert = $props['alert'];
}
if (isset($props['danger'])){
$danger = $props['danger'];
}
$requestUrl = null;
// $status = 'Manage Program';
// $_POST['linkPage'] = 'Nothing here';
switch ($status) {
case 'List Networks':
$props = $this->apiBus->getNetworksInAccount($creds);
if (isset($_POST['linkNetwork']) && $_POST['linkNetwork'] == 'unlink') {
delete_option('powerpress_network');
}
break;
case 'Select Choice':
$props = $this->apiBus->getSpecificNetworkInAccount($apiUrl, $creds, $networkInfo, $needDirectAPI );
$networkInfo = get_option('powerpress_network');
$networkInfo['network_id'] = $networkId;
$networkInfo['network_title'] = $networkTitle;
break;
case 'List Programs':
$props = $this->apiBus->getProgramsInNetwork($apiUrl, $creds, $networkInfo, $needDirectAPI );
break;
case 'List Lists':
$props = $this->apiBus->getListsInNetwork($apiUrl, $creds, $networkInfo, $needDirectAPI );
$networkInfo = get_option('powerpress_network');
$networkInfo['network_id'] = $networkId;
$networkInfo['network_title'] = $networkTitle;
break;
case 'List Applicants':
$props = $this->apiBus->getApplicantsInNetwork($apiUrl, $creds, $networkInfo, $needDirectAPI );
break;
case 'Manage List':
$props = $this->apiBus->getSpecificListInNetwork($apiUrl, $creds, $networkInfo, $needDirectAPI );
$networkInfo = get_option ('powerpress_network');
$networkInfo['network_id'] = $networkId;
$networkInfo['network_title'] = $networkTitle;
break;
case 'Manage Program':
$props = $this->apiBus->getSpecificProgramInNetwork($apiUrl, $creds, $networkInfo, $needDirectAPI);
$networkInfo = get_option ('powerpress_network');
$networkInfo['network_id'] = $networkId;
$networkInfo['network_title'] = $networkTitle;
break;
}
}
$return = array();
$return['status'] = $status;
$return['props'] = $props;
$return['accountInfo'] = $accountInfo;
$return['alert'] = $alert;
$return['danger'] = $danger;
$return['network_info'] = $networkInfo;
return $return;
}
public function returnDisplay()
{
return $this->display;
}
static function removeOption ($key)
{
$result = get_option ('powerpress_network');
unset ($result[$key]);
update_option('powerpress_network', $result);
}
static function insertOption ($key, $value)
{
$result = get_option ('powerpress_network');
$result[$key] = $value;
update_option('powerpress_network', $result);
}
function display_plugin()
{
if( function_exists('powerpress_page_message_print') )
powerpress_page_message_print();
$status = $this->display['status'];
$props = $this->display['props'];
$accountInfo = $this->display['accountInfo'];
$alert = $this->display['alert'];
$danger = $this->display['danger'];
$networkInfo = $this->display['network_info'];
if ($alert) { //If there is alert, print it out
?>
<div class="alert<?php if (!$danger) echo '-success'; ?>">
<p class="alertMessage"><?php echo __($alert, 'powerpress-network'); ?></p>
<p class="closebtn" onclick="this.parentElement.style.display='none';">×</p>
</div>
<?php
}
?>
<link href="<?php echo powerpress_get_root_url() . "css/admin.css"; ?>" rel="stylesheet">
<link href="<?php echo $this->powerpress_network_plugin_url() . "css/admin.css"; ?>" rel="stylesheet">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<script src="<?php echo $this->powerpress_network_plugin_url() . "js/admin.js"; ?>"></script>
<?php ?>
<div class="container">
<?php
//var_dump($status);
if ($status == 'List Networks') {
echo $this->getHTML('networks.php', $props, $networkInfo, $accountInfo);
} else if ($status == 'Select Choice') {
echo $this->getHTML('base.php', $props, $networkInfo, $accountInfo);
} else if ($status == 'List Programs') {
echo $this->getHTML('programs.php', $props, $networkInfo, $accountInfo);
} else if ($status == 'List Lists') {
echo $this->getHTML('lists.php', $props, $networkInfo, $accountInfo);
} else if ($status == 'List Applicants') {
echo $this->getHTML('applications.php', $props, $networkInfo, $accountInfo);
} else if ($status == 'Submit App') {
echo $this->getHTML('submitapplications.php', $props, $networkInfo, $accountInfo);
} else if ($status == 'Create List') {
echo $this->getHTML('createlist.php', $props, $networkInfo, $accountInfo);
} else if ($status == 'Manage List') {
echo $this->getHTML('managelist.php', $props, $networkInfo, $accountInfo);
} else if ($status == 'Edit List') {
echo $this->getHTML('editlist.php', $props, $networkInfo, $accountInfo);
} else if ($status == 'Create List Page') {
echo $this->getHTML('createlistpage.php', $props, $networkInfo, $accountInfo);
} else if ($status == 'Create Program Page') {
echo $this->getHTML('createprogrampage.php', $props, $networkInfo, $accountInfo);
} else if ($status == 'Manage Program'){
echo $this->getHTML('manageprogram.php', $props, $networkInfo, $accountInfo);
} else {
echo $this->getHTML('signin.php', $props, $networkInfo, $accountInfo);
}
?>
</div>
<?php
}
static function updateMeta ($meta_key)
{
global $wpdb;
$update = array ('last_update'=>time(), 'need_update'=>true);
$update = serialize($update);
$query = "UPDATE {$wpdb->prefix}postmeta SET meta_value='".$update."' WHERE meta_key ='".$meta_key."'";
$wpdb->get_results( $query, OBJECT );
}
function checkUpdateProgram()
{
$option = get_option ('powerpress_network_creds');
if (empty($option)){
return;
}
$accessToken = $this->getAccessToken();
if (!wp_next_scheduled ( 'updateProgram' )) {
wp_schedule_event(time(), 'hourly', 'updateProgram');
}
global $wpdb;
$timeExecute = wp_next_scheduled('updateProgram');
if (time() >= $timeExecute){
$network = get_option ('powerpress_network');
if( empty($networkId) )
return;
$apiArray = powerpress_get_api_array();
$apiUrl = $apiArray[0];
$post = false; // array('grant_type'=>'client_credentials', 'access_token'=>$accessToken );
$requestUrl = $apiUrl.'2/powerpress/network/'.$networkId.'/update?since='.($timeExecute - 24*60*60);
$programUpdate = $this->requestAPI($requestUrl);
for ($i = 0 ; $i < count ($programUpdate); ++$i) {
PowerPressNetwork::updateMeta($programUpdate[$i]);
}
}
}
}