| Server IP : 104.21.74.147 / Your IP : 216.73.217.154 Web Server : nginx/1.24.0 System : Linux wordpress-sites 6.8.0-134-generic #134-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 26 18:43:11 UTC 2026 x86_64 User : www-data ( 33) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/rebeccaone.com/wp-content/plugins/cornerstone/includes/classes/Controllers/ |
Upload File : |
<?php
namespace Themeco\Cornerstone\Controllers;
use Themeco\Cornerstone\Services\Routes;
use Themeco\Cornerstone\Services\Preferences as PreferencesService;
class Preferences {
private $routes;
private $preferences;
public function __construct(Routes $routes, PreferencesService $preferences) {
$this->routes = $routes;
$this->preferences = $preferences;
}
public function setup() {
$this->routes->add_route('post', 'update-preferences', [$this, 'save']);
}
public function save($params) {
if ( ! isset( $params['user_id']) || ! $params['user_id'] ) {
throw new \Exception( 'Attempting to save preferences without specifying user_id.' );
}
if ( $params['user_id'] !== get_current_user_id() && ! current_user_can('manage_options') ) {
throw new \Exception( 'Unauthorized attempt to save preferences of another user' );
}
if ( ! isset( $params['data']) || ! $params['data'] ) {
throw new \Exception( 'Attempting to update preferences without specifying data.' );
}
do_action("cs_before_preferences_save_request");
$this->preferences->update_user_preferences( $params['user_id'], $params['data'] );
return [ 'success' => true ];
}
}