Origin commit
This commit is contained in:
114
inc/vendors/opalmembership/free-package.php
vendored
Executable file
114
inc/vendors/opalmembership/free-package.php
vendored
Executable file
@@ -0,0 +1,114 @@
|
||||
<?php
|
||||
/**
|
||||
* $Desc$
|
||||
*
|
||||
* @version $Id$
|
||||
* @package opalestate
|
||||
* @author Opal Team <info@wpopal.com >
|
||||
* @copyright Copyright (C) 2019 wpopal.com. All Rights Reserved.
|
||||
* @license GNU/GPL v2 or later http://www.gnu.org/licenses/gpl-2.0.html
|
||||
*
|
||||
* @website http://www.wpopal.com
|
||||
* @support http://www.wpopal.com/support/forum.html
|
||||
*/
|
||||
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit; // Exit if accessed directly
|
||||
}
|
||||
|
||||
function opalestate_membership_settings_submission( $fields ) {
|
||||
$tmp = [
|
||||
[
|
||||
'name' => esc_html__( 'Free Submission', 'opalestate-pro' ),
|
||||
'id' => 'opalestate_title_free_submission_settings',
|
||||
'type' => 'title',
|
||||
'before_row' => '<hr>',
|
||||
'after_row' => '<hr>',
|
||||
],
|
||||
[
|
||||
'name' => esc_html__( 'Enable Free Submission', 'opalestate-pro' ),
|
||||
'desc' => esc_html__( 'Allow set automatic a free package.', 'opalestate-pro' ),
|
||||
'id' => 'enabel_free_submission',
|
||||
'type' => 'switch',
|
||||
'options' => [
|
||||
1 => esc_html__( 'Yes', 'opalestate-pro' ),
|
||||
0 => esc_html__( 'No', 'opalestate-pro' ),
|
||||
],
|
||||
],
|
||||
[
|
||||
'name' => esc_html__( 'Number Free Listing', 'opalestate-pro' ),
|
||||
'desc' => esc_html__( 'Maximum number of Free Listing that users can submit.', 'opalestate-pro' ),
|
||||
'id' => 'free_number_listing',
|
||||
'type' => 'text_small',
|
||||
'attributes' => [
|
||||
'type' => 'number',
|
||||
],
|
||||
'default' => 3,
|
||||
],
|
||||
[
|
||||
'name' => esc_html__( 'Number Free Featured', 'opalestate-pro' ),
|
||||
'desc' => esc_html__( 'Maximum number of Free Featured that users can set.', 'opalestate-pro' ),
|
||||
'id' => 'free_number_featured',
|
||||
'type' => 'text_small',
|
||||
'attributes' => [
|
||||
'type' => 'number',
|
||||
],
|
||||
'default' => 3,
|
||||
],
|
||||
];
|
||||
|
||||
return array_merge( $fields, $tmp );
|
||||
}
|
||||
|
||||
add_filter( 'opalestate_settings_submission', 'opalestate_membership_settings_submission' );
|
||||
|
||||
if ( opalestate_options( 'enabel_free_submission' ) ) {
|
||||
function opalestate_check_is_membership_valid( $status, $package_id, $user_id ) {
|
||||
if ( $package_id != -1 ) {
|
||||
return false;
|
||||
}
|
||||
$package_expired = get_user_meta( $user_id, OPALMEMBERSHIP_USER_PREFIX_ . 'package_expired', true );
|
||||
|
||||
if ( ! is_numeric( $package_expired ) ) {
|
||||
$package_expired = strtotime( $package_expired );
|
||||
}
|
||||
if ( ! $package_expired || $package_expired <= time() ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
add_filter( 'opalmembership_check_is_membership_valid', 'opalestate_check_is_membership_valid', 3, 3 );
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
function opalestate_get_freepackage_obj() {
|
||||
|
||||
$object = new Opalmembership_Package();
|
||||
$object->post_title = esc_html__( 'Free membership', 'opalestate-pro' );
|
||||
|
||||
return $object;
|
||||
|
||||
}
|
||||
|
||||
add_filter( 'opalmembership_get_object_membership', 'opalestate_get_freepackage_obj' );
|
||||
|
||||
/// free account
|
||||
add_action( 'user_register', 'opalestate_on_create_user', 10, 1 );
|
||||
add_action( 'profile_update', 'opalestate_on_update_user' );
|
||||
function opalestate_on_create_user( $user_id ) {
|
||||
if ( $user_id ) {
|
||||
opalestate_reset_user_free_package( $user_id );
|
||||
}
|
||||
}
|
||||
|
||||
function opalestate_on_update_user( $user_id ) {
|
||||
$package_id = get_user_meta( $user_id, OPALMEMBERSHIP_USER_PREFIX_ . 'package_id', true );
|
||||
if ( empty( $package_id ) ) {
|
||||
opalestate_reset_user_free_package( $user_id );
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user