示例#1
0
function bsaAddNewSpace()
{
    if ($_SERVER["REQUEST_METHOD"] == "POST" && $_POST["bsaProAction"] == 'updateSpace') {
        if (isset($_SESSION['bsa_space_' . $_GET['space_id']])) {
            unset($_SESSION['bsa_space_' . $_GET['space_id']]);
            // Reset cache
        }
        if ($_POST["name"] != '') {
            $model = new BSA_PRO_Model();
            $cpc_status = $model->billingValidator('cpc');
            $cpm_status = $model->billingValidator('cpm');
            $cpd_status = $model->billingValidator('cpd');
            if ($cpc_status == 'isset' || $cpc_status == 'incorrect' || $cpm_status == 'isset' || $cpm_status == 'incorrect' || $cpd_status == 'isset' || $cpd_status == 'incorrect') {
                if ($cpc_status == 'incorrect' || $cpm_status == 'incorrect' || $cpd_status == 'incorrect') {
                    echo '
					<div class="updated settings-error">
						<p><strong>Error, incorrect contract values!</strong> Please enter the price and values for some contract, add them one by one (all values must be different).<br><br>
						<strong>Note!</strong><br>
						Enter <strong>0</strong> in the price field if you do not want to use some of billing model.</p>
					</div>';
                } else {
                    $model->updateSpace($_GET['space_id'], $_POST['name'], $_POST['title'], $_POST['add_new'], $_POST['cpc_price'] > 0 ? $_POST['cpc_price'] : 0, $_POST['cpm_price'] > 0 ? $_POST['cpm_price'] : 0, $_POST['cpd_price'] > 0 ? $_POST['cpd_price'] : 0, $_POST['cpc_price'] > 0 ? $_POST['cpc_contract_1'] > 0 ? $_POST['cpc_contract_1'] : 0 : 0, $_POST['cpc_price'] > 0 ? $_POST['cpc_contract_2'] > 0 ? $_POST['cpc_contract_2'] : 0 : 0, $_POST['cpc_price'] > 0 ? $_POST['cpc_contract_3'] > 0 ? $_POST['cpc_contract_3'] : 0 : 0, $_POST['cpm_price'] > 0 ? $_POST['cpm_contract_1'] > 0 ? $_POST['cpm_contract_1'] : 0 : 0, $_POST['cpm_price'] > 0 ? $_POST['cpm_contract_2'] > 0 ? $_POST['cpm_contract_2'] : 0 : 0, $_POST['cpm_price'] > 0 ? $_POST['cpm_contract_3'] > 0 ? $_POST['cpm_contract_3'] : 0 : 0, $_POST['cpd_price'] > 0 ? $_POST['cpd_contract_1'] > 0 ? $_POST['cpd_contract_1'] : 0 : 0, $_POST['cpd_price'] > 0 ? $_POST['cpd_contract_2'] > 0 ? $_POST['cpd_contract_2'] : 0 : 0, $_POST['cpd_price'] > 0 ? $_POST['cpd_contract_3'] > 0 ? $_POST['cpd_contract_3'] : 0 : 0, $_POST['discount_2'] > 0 && $_POST['discount_2'] <= 100 ? $_POST['discount_2'] : 0, $_POST['discount_3'] > 0 && $_POST['discount_3'] <= 100 ? $_POST['discount_3'] : 0, $_POST['grid_system'], $_POST['template'], $_POST['display_type'], $_POST['random'], $_POST['max_items'], $_POST['col_per_row'], $_POST['font'], $_POST['font_url'], $_POST['header_bg'], $_POST['header_color'], $_POST['link_color'], $_POST['ads_bg'], $_POST['ad_bg'], $_POST['ad_title_color'], $_POST['ad_desc_color'], $_POST['ad_url_color'], $_POST['ad_extra_color_1'], $_POST['ad_extra_color_2'], $_POST['animation'], isset($_POST['space_categories']) && $_POST['space_categories'] != '' ? implode(",", $_POST['space_categories']) : null, isset($_POST['space_tags']) && $_POST['space_tags'] != '' ? implode(",", $_POST['space_tags']) : null, isset($_POST['show_in_country']) && $_POST['show_in_country'] != '' ? implode(",", $_POST['show_in_country']) : null, isset($_POST['hide_in_country']) && $_POST['hide_in_country'] != '' ? implode(",", $_POST['hide_in_country']) : null, isset($_POST['show_in_advanced']) && $_POST['show_in_advanced'] != '' ? $_POST['show_in_advanced'] : null, isset($_POST['hide_in_advanced']) && $_POST['hide_in_advanced'] != '' ? $_POST['hide_in_advanced'] : null, isset($_POST['devices']) && $_POST['devices'] != '' ? implode(",", $_POST['devices']) : null, isset($_POST['unavailable_dates']) && $_POST['unavailable_dates'] != '' ? $_POST['unavailable_dates'] : null, isset($_POST['show_ads']) && isset($_POST['show_close_btn']) && isset($_POST['close_ads']) ? ($_POST['show_ads'] > 0 ? $_POST['show_ads'] : '0') . ',' . ($_POST['show_close_btn'] > 0 ? $_POST['show_close_btn'] : '0') . ',' . ($_POST['close_ads'] > 0 ? $_POST['close_ads'] : '0') : '0,0,0', $_POST['status'] == 'active' ? 'active' : 'inactive');
                    do_action('bsa-pro-updateSpace', $_POST, $_GET['space_id']);
                    echo '
					<div class="updated settings-error">
						<p><strong>Space updated.</strong></p>
					</div>';
                }
            } else {
                echo '
				<div class="updated settings-error">
					<p><strong>Error, empty contracts!</strong> You should set at least one contract.</p>
				</div>';
            }
        } else {
            echo '
			<div class="updated settings-error">
				<p><strong>Space not saved.</strong> The name field is required!</p>
			</div>';
        }
    } elseif ($_SERVER["REQUEST_METHOD"] == "POST" && $_POST["bsaProAction"] == 'addNewSpace') {
        if ($_POST["name"] != '') {
            $model = new BSA_PRO_Model();
            $cpc_status = $model->billingValidator('cpc');
            $cpm_status = $model->billingValidator('cpm');
            $cpd_status = $model->billingValidator('cpd');
            if ($cpc_status == 'isset' || $cpc_status == 'incorrect' || $cpm_status == 'isset' || $cpm_status == 'incorrect' || $cpd_status == 'isset' || $cpd_status == 'incorrect') {
                if ($cpc_status == 'incorrect' || $cpm_status == 'incorrect' || $cpd_status == 'incorrect') {
                    echo '
					<div class="updated settings-error">
						<p><strong>Error, incorrect contract values!</strong> Please enter the price and values for some contract, add them one by one (all values must be different).<br><br>
						<strong>Note!</strong><br>
						Enter <strong>0</strong> in the price field if you do not want to use some of billing model.</p>
					</div>';
                } else {
                    $model->addNewSpace(NULL, $_POST['name'], $_POST['title'], $_POST['add_new'], $_POST['cpc_price'] > 0 ? $_POST['cpc_price'] : 0, $_POST['cpm_price'] > 0 ? $_POST['cpm_price'] : 0, $_POST['cpd_price'] > 0 ? $_POST['cpd_price'] : 0, $_POST['cpc_price'] > 0 ? $_POST['cpc_contract_1'] > 0 ? $_POST['cpc_contract_1'] : 0 : 0, $_POST['cpc_price'] > 0 ? $_POST['cpc_contract_2'] > 0 ? $_POST['cpc_contract_2'] : 0 : 0, $_POST['cpc_price'] > 0 ? $_POST['cpc_contract_3'] > 0 ? $_POST['cpc_contract_3'] : 0 : 0, $_POST['cpm_price'] > 0 ? $_POST['cpm_contract_1'] > 0 ? $_POST['cpm_contract_1'] : 0 : 0, $_POST['cpm_price'] > 0 ? $_POST['cpm_contract_2'] > 0 ? $_POST['cpm_contract_2'] : 0 : 0, $_POST['cpm_price'] > 0 ? $_POST['cpm_contract_3'] > 0 ? $_POST['cpm_contract_3'] : 0 : 0, $_POST['cpd_price'] > 0 ? $_POST['cpd_contract_1'] > 0 ? $_POST['cpd_contract_1'] : 0 : 0, $_POST['cpd_price'] > 0 ? $_POST['cpd_contract_2'] > 0 ? $_POST['cpd_contract_2'] : 0 : 0, $_POST['cpd_price'] > 0 ? $_POST['cpd_contract_3'] > 0 ? $_POST['cpd_contract_3'] : 0 : 0, $_POST['discount_2'] > 0 && $_POST['discount_2'] <= 100 ? $_POST['discount_2'] : 0, $_POST['discount_3'] > 0 && $_POST['discount_3'] <= 100 ? $_POST['discount_3'] : 0, $_POST['grid_system'], $_POST['template'], $_POST['display_type'], $_POST['random'], $_POST['max_items'], $_POST['col_per_row'], $_POST['font'], $_POST['font_url'], $_POST['header_bg'], $_POST['header_color'], $_POST['link_color'], $_POST['ads_bg'], $_POST['ad_bg'], $_POST['ad_title_color'], $_POST['ad_desc_color'], $_POST['ad_url_color'], $_POST['ad_extra_color_1'], $_POST['ad_extra_color_2'], $_POST['animation'], isset($_POST['space_categories']) && $_POST['space_categories'] != '' ? implode(",", $_POST['space_categories']) : null, isset($_POST['space_tags']) && $_POST['space_tags'] != '' ? implode(",", $_POST['space_tags']) : null, isset($_POST['show_in_country']) && $_POST['show_in_country'] != '' ? implode(",", $_POST['show_in_country']) : null, isset($_POST['hide_in_country']) && $_POST['hide_in_country'] != '' ? implode(",", $_POST['hide_in_country']) : null, isset($_POST['show_in_advanced']) && $_POST['show_in_advanced'] != '' ? $_POST['show_in_advanced'] : null, isset($_POST['hide_in_advanced']) && $_POST['hide_in_advanced'] != '' ? $_POST['hide_in_advanced'] : null, isset($_POST['devices']) && $_POST['devices'] != '' ? implode(",", $_POST['devices']) : null, isset($_POST['unavailable_dates']) && $_POST['unavailable_dates'] != '' ? $_POST['unavailable_dates'] : null, isset($_POST['show_ads']) && isset($_POST['show_close_btn']) && isset($_POST['close_ads']) ? ($_POST['show_ads'] > 0 ? $_POST['show_ads'] : '0') . ',' . ($_POST['show_close_btn'] > 0 ? $_POST['show_close_btn'] : '0') . ',' . ($_POST['close_ads'] > 0 ? $_POST['close_ads'] : '0') : '0,0,0', $_POST['status'] == 'active' ? 'active' : 'inactive');
                    do_action('bsa-pro-addNewSpace', $_POST, $model->getTableName('spaces'));
                    $_SESSION['bsa_space_status'] = 'space_added';
                    echo '
					<div class="updated settings-error">
						<p><strong>Space saved.</strong> Click <a href="' . admin_url() . 'admin.php?page=bsa-pro-sub-menu-spaces">here</a> to show all spaces.</p>
					</div>';
                }
            } else {
                echo '
				<div class="updated settings-error">
					<p><strong>Error, empty contracts!</strong> You should set at least one contract.</p>
				</div>';
            }
        } else {
            echo '
			<div class="updated settings-error">
				<p><strong>Space not saved.</strong> The name field is required!</p>
			</div>';
        }
    }
}