' . esc_html( $file ) . ' not found!' ); } extract( $data ); if ( $return_html === true ) { ob_start(); include_once $file; return ob_get_clean(); } include_once $file; } /** * Check table exists * @param string $table_name * * @return bool */ public static function check_table_exists($table_name){ global $wpdb; if( !$table_name || !is_string($table_name) ) return false; $table = $wpdb->prefix . $table_name; // phpcs:ignore WordPress.DB if( !$wpdb->get_var("SHOW TABLES LIKE '$table'") ) return false; return $table; } /** * Query database * @param string $sql * @param array $args * @param string $type */ public static function query($sql, $args = [], $type = 'get_results', $output = ARRAY_A){ global $wpdb; if( !$sql || !is_string($sql) ) return false; // phpcs:ignore WordPress.DB $sql = $wpdb->prepare( $sql, $args ); // query database if( method_exists($wpdb, $type) ){ // phpcs:ignore WordPress.DB if( $type == 'get_var' ){ return $wpdb->$type( $sql ); } return $wpdb->$type( $sql, $output ); } return false; } /** * Register a new route * * @param string $path * @param string $method * @param function $callback * @param function $permission_callback * @param boolean $idNumber (Use for validate id number) * * @return array */ public static function setRouter( $path, $method, $callback, $permission_callback, $validate = false ){ $route = [ "path" => $path, "args" => [ 'methods' => $method? $method : 'GET', 'callback' => $callback, 'permission_callback' => $permission_callback ] ]; if( $validate ){ $route['args']['args'] = [ 'id' => [ 'validate_callback' => function($param, $request, $key) { return is_numeric( $param ); } ] ]; } return $route; } /** * Set time to column date in database */ public static function setTimeToColumn( $row, $cols = ['created_at', 'updated_at'] ){ if( !is_array($cols) || count($cols) == 0 ) return $row; $time = current_time( 'mysql' ); foreach( $cols as $col ){ $row[$col] = $time; } return $row; } public static function sanitize_for_excel( $input ) { $dangerousCharacters = array( '=', '+', '-', '@', '|' ); while ( in_array( $input[0], $dangerousCharacters ) ) { $input = substr( $input, 1 ); } return $input; } } ?>