%PDF- %PDF-
Direktori : /var/www/html/shaban/laviva/wp-content/plugins/visualcomposer/visualcomposer/Helpers/Hub/ |
Current File : /var/www/html/shaban/laviva/wp-content/plugins/visualcomposer/visualcomposer/Helpers/Hub/Update.php |
<?php namespace VisualComposer\Helpers\Hub; if (!defined('ABSPATH')) { header('Status: 403 Forbidden'); header('HTTP/1.1 403 Forbidden'); exit; } use VisualComposer\Framework\Illuminate\Support\Helper; class Update implements Helper { /** * @param array $json * * @return array */ public function getRequiredActions($json = []) { $optionsHelper = vchelper('Options'); $loggerHelper = vchelper('Logger'); if (empty($json) || !isset($json['actions'])) { $json = $optionsHelper->getTransient('bundleUpdateJson'); if (!$json) { $json = []; // Current json is expired, need to update actions $savedJson = vcfilter('vcv:hub:update:checkVersion', ['status' => false]); if (!vcIsBadResponse($savedJson)) { // Everything is ok need to parse $requiredActions['actions'] $json = $savedJson['json']; } else { // Logger::add error $loggerHelper->log('Failed to update required actions list #10012'); } } } list($needUpdatePost, $requiredActions) = vchelper('HubBundle')->loopActions($json); $reRenderPosts = array_unique($needUpdatePost); $requiredActions = vchelper('Data')->arrayDeepUnique($requiredActions); $response['actions'] = $requiredActions; if (count($reRenderPosts) > 0 && vcvenv('VCV_TF_POSTS_RERENDER', false)) { $postsActions = $this->createPostUpdateObjects($reRenderPosts); $requiredActions = array_merge($requiredActions, $postsActions); } $optionsHelper->set('bundleUpdateActions', $requiredActions); $optionsHelper->set('bundleUpdatePosts', array_unique($needUpdatePost)); return $requiredActions; } public function createPostUpdateObjects(array $posts) { $result = []; $frontendHelper = vchelper('Frontend'); foreach ($posts as $id) { $post = get_post($id); if (!is_null($post)) { $result[] = [ 'id' => $id, 'editableLink' => $frontendHelper->getEditableUrl($id), 'name' => get_the_title($id), ]; } } return [['action' => 'updatePosts', 'data' => $result]]; } /** * @param array $json * * @return bool */ public function checkIsUpdateRequired($json = []) { if (empty($json) || !isset($json['actions'])) { return false; } list($needUpdatePost, $requiredActions) = vchelper('HubBundle')->loopActions($json); return !empty($requiredActions) || !empty($needUpdatePost); } /** * Remove trashed posts * * @return array */ public function getUpdatePosts() { $optionsHelper = vchelper('Options'); $updatePosts = $optionsHelper->get('hubAction:updatePosts', []); $canUpdate = []; foreach ($updatePosts as $updatePost) { $post = get_post($updatePost); // @codingStandardsIgnoreLine if ($post && $post->post_status !== 'trash') { $canUpdate[] = $updatePost; } } return $canUpdate; } }