| Server IP : 69.72.244.102 / Your IP : 216.73.216.164 Web Server : LiteSpeed System : Linux s3434.fra1.stableserver.net 4.18.0-513.24.1.lve.2.el8.x86_64 #1 SMP Fri May 24 12:42:50 UTC 2024 x86_64 User : konzalta ( 1271) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/konzalta/www/wp-content/plugins/tutor/classes/ |
Upload File : |
<?php
/**
* Base Controller
*
* @package Tutor\BaseController
* @author Themeum <support@themeum.com>
* @link https://themeum.com
* @since 3.0.0
*/
namespace TUTOR;
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Base Controller
*/
abstract class BaseController {
/**
* Get model object
*
* @since 3.0.0
* @return object
*/
abstract public function get_model();
/**
* Get allowed field and optionally set empty values
* for the required fields
*
* @since 3.0.0
*
* @param array $params Request params.
* @param boolean $set_required To set required fields empty values.
*
* @return array
*/
public function get_allowed_fields( array $params, $set_required = true ) {
$fillable = $this->get_model()->get_fillable_fields();
$required_fields = $this->get_model()->get_required_fields();
$allowed_params = array_intersect_key( $params, array_flip( $fillable ) );
// Set empty value if set_required is true.
if ( $set_required ) {
$this->setup_required_fields( $allowed_params, $required_fields );
}
return $allowed_params;
}
/**
* Setup required fields on the request params
*
* @since 3.0.0
*
* @param array $params Reference request params.
* @param array $required_fields Required fields.
*
* @return void
*/
public function setup_required_fields( array &$params, $required_fields ) {
foreach ( $required_fields as $field ) {
if ( ! isset( $params[ $field ] ) ) {
$params[ $field ] = '';
}
}
}
}