Files
torebki-fabiola.pl/wp-content/plugins/woo-product-feed-pro/pages/admin/woosea-generate-feed-step-4.php
2026-03-05 13:07:40 +01:00

425 lines
19 KiB
PHP

<?php
/**
* Change default footer text, asking to review our plugin
**/
function my_footer_text($default) {
return _e( 'If you like our <strong>WooCommerce Product Feed PRO</strong> plugin please leave us a <a href="https://wordpress.org/support/plugin/woo-product-feed-pro/reviews?rate=5#new-post" target="_blank" class="woo-product-feed-pro-ratingRequest">&#9733;&#9733;&#9733;&#9733;&#9733;</a> rating. Thanks in advance!','woo-product-feed-pro' );
}
add_filter('admin_footer_text', 'my_footer_text');
/**
* Create notification object
*/
$notifications_obj = new WooSEA_Get_Admin_Notifications;
$notifications_box = $notifications_obj->get_admin_notifications ( '4', 'false' );
/**
* Create product attribute object
*/
$attributes_obj = new WooSEA_Attributes;
$attributes = $attributes_obj->get_product_attributes();
/**
* Update or get project configuration
*/
$nonce = wp_create_nonce( 'woosea_ajax_nonce' );
/**
* Update or get project configuration
*/
if (array_key_exists('project_hash', $_GET)){
$project = WooSEA_Update_Project::get_project_data(sanitize_text_field($_GET['project_hash']));
$channel_data = WooSEA_Update_Project::get_channel_data(sanitize_text_field($_GET['channel_hash']));
$count_rules = 0;
if(isset($project['rules'])){
$count_rules = count($project['rules']);
}
$count_rules2 = 0;
if(isset($project['rules2'])){
$count_rules2 = count($project['rules2']);
}
$manage_project = "yes";
} else {
// Sanitize values in multi-dimensional POST array
if(is_array($_POST)){
foreach($_POST as $p_key => $p_value){
if(is_array($p_value)){
foreach($p_value as $pp_key => $pp_value){
if(is_array($pp_value)){
foreach($pp_value as $ppp_key => $ppp_value){
$_POST[$p_key][$pp_key][$ppp_key] = sanitize_text_field($ppp_value);
}
}
}
} else {
$_POST[$p_key] = sanitize_text_field($p_value);
}
}
} else {
$_POST = array();
}
$project = WooSEA_Update_Project::update_project($_POST);
$channel_data = WooSEA_Update_Project::get_channel_data(sanitize_text_field($_POST['channel_hash']));
$count_rules = 0;
$count_rules2 = 0;
}
?>
<div class="wrap">
<div class="woo-product-feed-pro-form-style-2">
<div class="woo-product-feed-pro-form-style-2-heading"><?php _e( 'Feed filters and rules','woo-product-feed-pro' );?></div>
<div class="<?php _e($notifications_box['message_type']); ?>">
<p><?php _e($notifications_box['message'], 'sample-text-domain' ); ?></p>
</div>
<form id="rulesandfilters" method="post">
<?php wp_nonce_field( 'woosea_ajax_nonce' ); ?>
<table class="woo-product-feed-pro-table" id="woosea-ajax-table" border="1">
<thead>
<tr>
<th></th>
<th><?php _e( 'Type','woo-product-feed-pro' );?></th>
<th><?php _e( 'IF','woo-product-feed-pro' );?></th>
<th><?php _e( 'Condition','woo-product-feed-pro' );?></th>
<th><?php _e( 'Value','woo-product-feed-pro' );?></th>
<th><?php _e( 'CS','woo-product-feed-pro' );?></th>
<th><?php _e( 'Then','woo-product-feed-pro' );?></th>
<th><?php _e( 'IS','woo-product-feed-pro' );?></th>
</tr>
</thead>
<?php
//if(isset($project['rules'])){
print "<tbody class=\"woo-product-feed-pro-body\">";
if(isset($project['rules'])){
foreach ($project['rules'] as $rule_key => $rule_array){
if(isset($project['rules'][$rule_key]['criteria'])){
$criteria = $project['rules'][$rule_key]['criteria'];
} else {
$criteria = "";
}
?>
<tr class="rowCount">
<td><input type="hidden" name="rules[<?php print "$rule_key";?>][rowCount]" value="<?php print "$rule_key";?>"><input type="checkbox" name="record" class="checkbox-field"></td>
<td><i><?php _e( 'Filter','woo-product-feed-pro' );?></i></td>
<td>
<select name="rules[<?php print "$rule_key";?>][attribute]" class="select-field">
<option></option>
<?php
foreach ($attributes as $k => $v){
if (isset($project['rules'][$rule_key]['attribute']) AND ($project['rules'][$rule_key]['attribute'] == $k)){
print "<option value=\"$k\" selected>$v</option>";
} else {
print "<option value=\"$k\">$v</option>";
}
}
?>
</select>
</td>
<td>
<select name="rules[<?php print "$rule_key";?>][condition]" class="select-field">
<?php
if (isset($project['rules'][$rule_key]['condition']) AND ($project['rules'][$rule_key]['condition'] == "contains")){
print "<option value=\"contains\" selected>contains</option>";
} else {
print "<option value=\"contains\">contains</option>";
}
if (isset($project['rules'][$rule_key]['condition']) AND ($project['rules'][$rule_key]['condition'] == "containsnot")){
print "<option value=\"containsnot\" selected>doesn't contain</option>";
} else {
print "<option value=\"containsnot\">doesn't contain</option>";
}
if (isset($project['rules'][$rule_key]['condition']) AND ($project['rules'][$rule_key]['condition'] == "=")){
print "<option value=\"=\" selected>is equal to</option>";
} else {
print "<option value=\"=\">is equal to</option>";
}
if (isset($project['rules'][$rule_key]['condition']) AND ($project['rules'][$rule_key]['condition'] == "!=")){
print "<option value=\"!=\" selected>is not equal to</option>";
} else {
print "<option value=\"!=\">is not equal to</option>";
}
if (isset($project['rules'][$rule_key]['condition']) AND ($project['rules'][$rule_key]['condition'] == ">")){
print "<option value=\">\" selected>is greater than</option>";
} else {
print "<option value=\">\">is greater than</option>";
}
if (isset($project['rules'][$rule_key]['condition']) AND ($project['rules'][$rule_key]['condition'] == ">=")){
print "<option value=\">=\" selected>is greater or equal to</option>";
} else {
print "<option value=\">=\">is greater or equal to</option>";
}
if (isset($project['rules'][$rule_key]['condition']) AND ($project['rules'][$rule_key]['condition'] == "<")){
print "<option value=\"<\" selected>is less than</option>";
} else {
print "<option value=\"<\">is less than</option>";
}
if (isset($project['rules'][$rule_key]['condition']) AND ($project['rules'][$rule_key]['condition'] == "=<")){
print "<option value=\"=<\" selected>is less or equal to</option>";
} else {
print "<option value=\"=<\">is less or equal to</option>";
}
if (isset($project['rules'][$rule_key]['condition']) AND ($project['rules'][$rule_key]['condition'] == "empty")){
print "<option value=\"empty\" selected>is empty</option>";
} else {
print "<option value=\"empty\">is empty</option>";
}
if (isset($project['rules'][$rule_key]['condition']) AND ($project['rules'][$rule_key]['condition'] == "notempty")){
print "<option value=\"notempty\" selected>is not empty</option>";
} else {
print "<option value=\"notempty\">is not empty</option>";
}
?>
</select>
</td>
<td>
<div style="display: block;">
<input type="text" id="rulevalue" name="rules[<?php print "$rule_key";?>][criteria]" class="input-field-large" value='<?php print $criteria;?>'>
</div>
</td>
<td>
<?php
if (isset($project['rules'][$rule_key]['cs'])){
print "<input type=\"checkbox\" name=\"rules[$rule_key][cs]\" class=\"checkbox-field\" alt=\"Case sensitive\" checked>";
} else {
print "<input type=\"checkbox\" name=\"rules[$rule_key][cs]\" class=\"checkbox-field\" alt=\"Case sensitive\">";
}
?>
</td>
<td>
<select name="rules[<?php print "$rule_key";?>][than]" class="select-field">
<optgroup label='Action'>Action:
<?php
if (isset($project['rules'][$rule_key]['than']) AND ($project['rules'][$rule_key]['than'] == "exclude")){
print "<option value=\"exclude\" selected> Exclude</option>";
} else {
print "<option value=\"exclude\"> Exclude</option>";
}
if (isset($project['rules'][$rule_key]['than']) AND ($project['rules'][$rule_key]['than'] == "include_only")){
print "<option value=\"include_only\" selected> Include only</option>";
} else {
print "<option value=\"include_only\"> Include only</option>";
}
?>
</optgroup>
</select>
</td>
<td>&nbsp;</td>
</tr>
<?php
}
}
// RULES SECTION
if (isset($project['rules2'])){
foreach($project['rules2'] as $rule2_key => $rule2_array){
if(isset($project['rules2'][$rule2_key]['criteria'])){
$criteria = $project['rules2'][$rule2_key]['criteria'];
} else {
$criteria = "";
}
if(isset($project['rules2'][$rule2_key]['newvalue'])){
$newvalue = $project['rules2'][$rule2_key]['newvalue'];
} else {
$newvalue = "";
}
?>
<tr class="rowCount">
<td><input type="hidden" name="rules2[<?php print "$rule2_key";?>][rowCount]" value="<?php print "$rule2_key";?>"><input type="checkbox" name="record" class="checkbox-field"></td>
<td><i><?php _e( 'Rule','woo-product-feed-pro' );?></i></td>
<td>
<select name="rules2[<?php print "$rule2_key";?>][attribute]" class="select-field">
<option></option>
<?php
foreach ($attributes as $k => $v){
if (isset($project['rules2'][$rule2_key]['attribute']) AND ($project['rules2'][$rule2_key]['attribute'] == $k)){
print "<option value=\"$k\" selected>$v</option>";
} else {
print "<option value=\"$k\">$v</option>";
}
}
?>
</select>
</td>
<td>
<select name="rules2[<?php print "$rule2_key";?>][condition]" class="select-field">
<?php
if (isset($project['rules2'][$rule2_key]['condition']) AND ($project['rules2'][$rule2_key]['condition'] == "contains")){
print "<option value=\"contains\" selected>contains</option>";
} else {
print "<option value=\"contains\">contains</option>";
}
if (isset($project['rules2'][$rule2_key]['condition']) AND ($project['rules2'][$rule2_key]['condition'] == "containsnot")){
print "<option value=\"containsnot\" selected>doesn't contain</option>";
} else {
print "<option value=\"containsnot\">doesn't contain</option>";
}
if (isset($project['rules2'][$rule2_key]['condition']) AND ($project['rules2'][$rule2_key]['condition'] == "=")){
print "<option value=\"=\" selected>is equal to</option>";
} else {
print "<option value=\"=\">is equal to</option>";
}
if (isset($project['rules2'][$rule2_key]['condition']) AND ($project['rules2'][$rule2_key]['condition'] == "!=")){
print "<option value=\"!=\" selected>is not equal to</option>";
} else {
print "<option value=\"!=\">is not equal to</option>";
}
if (isset($project['rules2'][$rule2_key]['condition']) AND ($project['rules2'][$rule2_key]['condition'] == ">")){
print "<option value=\">\" selected>is greater than</option>";
} else {
print "<option value=\">\">is greater than</option>";
}
if (isset($project['rules2'][$rule2_key]['condition']) AND ($project['rules2'][$rule2_key]['condition'] == ">=")){
print "<option value=\">=\" selected>is greater or equal to</option>";
} else {
print "<option value=\">=\">is greater or equal to</option>";
}
if (isset($project['rules2'][$rule2_key]['condition']) AND ($project['rules2'][$rule2_key]['condition'] == "<")){
print "<option value=\"<\" selected>is less than</option>";
} else {
print "<option value=\"<\">is less than</option>";
}
if (isset($project['rules2'][$rule2_key]['condition']) AND ($project['rules2'][$rule2_key]['condition'] == "=<")){
print "<option value=\"=<\" selected>is less or equal to</option>";
} else {
print "<option value=\"=<\">is less or equal to</option>";
}
if (isset($project['rules2'][$rule2_key]['condition']) AND ($project['rules2'][$rule2_key]['condition'] == "empty")){
print "<option value=\"empty\" selected>is empty</option>";
} else {
print "<option value=\"empty\">is empty</option>";
}
if (isset($project['rules2'][$rule2_key]['condition']) AND ($project['rules2'][$rule2_key]['condition'] == "notempty")){
print "<option value=\"notempty\" selected>is not empty</option>";
} else {
print "<option value=\"notempty\">is not empty</option>";
}
// Data manipulators
if (isset($project['rules2'][$rule2_key]['condition']) AND ($project['rules2'][$rule2_key]['condition'] == "multiply")){
print "<option value=\"multiply\" selected>multiply</option>";
} else {
print "<option value=\"multiply\">multiply</option>";
}
if (isset($project['rules2'][$rule2_key]['condition']) AND ($project['rules2'][$rule2_key]['condition'] == "divide")){
print "<option value=\"divide\" selected>divide</option>";
} else {
print "<option value=\"divide\">divide</option>";
}
if (isset($project['rules2'][$rule2_key]['condition']) AND ($project['rules2'][$rule2_key]['condition'] == "plus")){
print "<option value=\"plus\" selected>plus</option>";
} else {
print "<option value=\"plus\">plus</option>";
}
if (isset($project['rules2'][$rule2_key]['condition']) AND ($project['rules2'][$rule2_key]['condition'] == "minus")){
print "<option value=\"minus\" selected>minus</option>";
} else {
print "<option value=\"minus\">minus</option>";
}
if (isset($project['rules2'][$rule2_key]['condition']) AND ($project['rules2'][$rule2_key]['condition'] == "findreplace")){
print "<option value=\"findreplace\" selected>find and replace</option>";
} else {
print "<option value=\"findreplace\">find and replace</option>";
}
?>
</select>
</td>
<td>
<div style="display: block;">
<input type="text" id="rulevalue" name="rules2[<?php print "$rule2_key";?>][criteria]" class="input-field-large" value='<?php print $criteria;?>'>
</div>
</td>
<?php
$manipulators = array('multiply','divide','plus','minus');
if (in_array($project['rules2'][$rule2_key]['condition'], $manipulators,TRUE)){
print "<td colspan=3></td>";
} else {
?>
<td>
<?php
if (isset($project['rules2'][$rule2_key]['cs'])){
print "<input type=\"checkbox\" name=\"rules2[$rule2_key][cs]\" class=\"checkbox-field\" alt=\"Case sensitive\" checked>";
} else {
print "<input type=\"checkbox\" name=\"rules2[$rule2_key][cs]\" class=\"checkbox-field\" alt=\"Case sensitive\">";
}
?>
</td>
<td>
<select name="rules2[<?php print "$rule2_key";?>][than_attribute]" class="select-field" style="width:150px;">
<option></option>
<?php
foreach ($attributes as $k => $v){
if (isset($project['rules2'][$rule2_key]['than_attribute']) AND ($project['rules2'][$rule2_key]['than_attribute'] == $k)){
print "<option value=\"$k\" selected>$v</option>";
} else {
print "<option value=\"$k\">$v</option>";
}
}
?>
</select>
</td>
<td><input type="text" name="rules2[<?php print "$rule2_key";?>][newvalue]" class="input-field-large" value="<?php print "$newvalue";?>"></td>
<?php
}
?>
</tr>
<?php
}
}
print "</tbody>";
//}
?>
<tbody>
<tr class="rules-buttons">
<td colspan="8">
<input type="hidden" id="channel_hash" name="channel_hash" value="<?php print "$project[channel_hash]";?>">
<?php
if(isset($manage_project)){
?>
<input type="hidden" name="project_hash" value="<?php print "$project[project_hash]";?>">
<input type="hidden" name="woosea_page" value="filters_rules">
<input type="hidden" name="step" value="100">
<input type="button" class="delete-row" value="- Delete">&nbsp;<input type="button" class="add-filter" value="+ Add filter">&nbsp;<input type="button" class="add-rule" value="+ Add rule">&nbsp;<input type="submit" id="savebutton" value="Save">
<?php
} else {
?>
<input type="hidden" name="project_hash" value="<?php print "$project[project_hash]";?>">
<input type="hidden" name="step" value="5">
<input type="button" class="delete-row" value="- Delete">&nbsp;<input type="button" class="add-filter" value="+ Add filter">&nbsp;<input type="button" class="add-rule" value="+ Add rule">&nbsp;<input type="submit" id="savebutton" value="Continue">
<?php
}
?>
</td>
</tr>
</tbody>
</table>
</form>
</div>
</div>