function tzs_front_end_search_pr_form() { tzs_copy_get_to_post(); $product_auction = get_param_def('product_auction', 'products'); $pa_root_id = $product_auction === 'auctions' ? '' . TZS_AU_ROOT_CATEGORY_PAGE_ID : '' . TZS_PR_ROOT_CATEGORY_PAGE_ID; $p_id = get_the_ID(); ?> <form class="search_pr_form" id="search_pr_form1" name="search_pr_form" method="POST"> <table name="search_param" border="0"> <tr> <th colspan="2">Укажите критерии поиска товаров и услуг</th> </tr> <tr> <td>Категория:<br> <!--select name="type_id" <?php //echo (isset($_POST['cur_type_id']) && ($_POST['cur_type_id'] === $pa_root_id)) ? '' : ' disabled="disabled"'; ?> --> <!--select name="type_id" <?php //echo (isset($_POST['rootcategory']) && ($_POST['rootcategory'] === '1')) ? '' : ' disabled="disabled"'; ?> --> <select name="type_id" <?php echo $p_id == $pa_root_id ? '' : ' disabled="disabled"'; ?> > <option value="0">все категории</option> <option disabled>- - - - - - - -</option> <?php tzs_build_product_types('type_id', $pa_root_id); ?> </select> <?php wp_nonce_field('type_id', 'type_id_nonce'); ?> </td> <td>Местонахождение: страна:<br> <select name="country_from"> <?php tzs_build_countries('country_from'); ?> </select> </td> <tr> <td>Тип заявки:<br> <select name="sale_or_purchase"> <option value="0" <?php if (isset($_POST['sale_or_purchase']) && $_POST['sale_or_purchase'] == 0) { echo 'selected="selected"'; } ?> >Все</option> <option value="1" <?php if (isset($_POST['sale_or_purchase']) && $_POST['sale_or_purchase'] == 1) { echo 'selected="selected"'; } ?> >Продажа</option> <option value="2" <?php if (isset($_POST['sale_or_purchase']) && $_POST['sale_or_purchase'] == 2) { echo 'selected="selected"'; } ?> >Покупка</option> </select> </td> <td>Местонахождение: регион:<br> <select name="region_from"> <option value="0">все области</option> </select> </td> </tr> <tr> <td>Участник тендера:<br> <select name="fixed_or_tender"> <option value="0" <?php if (isset($_POST['fixed_or_tender']) && $_POST['fixed_or_tender'] == 0) { echo 'selected="selected"'; } ?> >Все предложения</option> <option value="1" <?php if (isset($_POST['fixed_or_tender']) && $_POST['fixed_or_tender'] == 1) { echo 'selected="selected"'; } ?> >Цена зафиксирована</option> <option value="2" <?php if (isset($_POST['fixed_or_tender']) && $_POST['fixed_or_tender'] == 2) { echo 'selected="selected"'; } ?> >Тендерное предложение</option> </select> </td> <td>Местонахождение: город:<br> <input type="text" name="cityname_from" value="<?php echo_val('cityname_from'); ?> " size="30"> </td> </tr> <tr> <td>Форма оплаты:<br> <select name="payment"> <option value="0" <?php if (isset($_POST['payment']) && $_POST['payment'] == 0) { echo 'selected="selected"'; } ?> >Любая</option> <option value="1" <?php if (isset($_POST['payment']) && $_POST['payment'] == 1) { echo 'selected="selected"'; } ?> >Наличная</option> <option value="2" <?php if (isset($_POST['payment']) && $_POST['payment'] == 2) { echo 'selected="selected"'; } ?> >Безналичная</option> </select> </td> <td>НДС:<br> <select name="nds"> <option value="0" <?php if (isset($_POST['nds']) && $_POST['nds'] == 0) { echo 'selected="selected"'; } ?> >Все</option> <option value="1" <?php if (isset($_POST['nds']) && $_POST['nds'] == 1) { echo 'selected="selected"'; } ?> >Без НДС</option> <option value="2" <?php if (isset($_POST['nds']) && $_POST['nds'] == 2) { echo 'selected="selected"'; } ?> >Включая НДС</option> </select> </td> </tr> <tr> <td>Стоимость: от:<br> <input type="text" name="price_from" value="<?php echo_val('price_from'); ?> " size="10"> </td> <td>Стоимость: до:<br> <input type="text" name="price_to" value="<?php echo_val('price_to'); ?> " size="10"> </td> </tr> <tr> <td>Дата размещения: от:<br> <input type="text" name="data_from" value="<?php echo_val('data_from'); ?> " size="10"> </td> <td>Дата размещения: до:<br> <input type="text" name="data_to" value="<?php echo_val('data_to'); ?> " size="10"> </td> </tr> <tr> <td>Описание:<br> <input type="text" name="pr_title" value="<?php echo_val('pr_title'); ?> " size="30"> </td> <td> <div style="text-align:right; vertical-aligment: middle;"> <a href="JavaScript:tblTHeadShowSearchForm();" title="Скрыть форму изменения условий поиска"><img src="<?php echo get_site_url(); ?> /wp-content/plugins/tzs/assets/images/form_hide.png" width="110px" height="24px"></a> <a href="javascript:onTblTheadButtonClearClick();" title="Очистить все условия фильтра"><img src="<?php echo get_site_url(); ?> /wp-content/plugins/tzs/assets/images/eraser.png" width="24px" height="24px"></a> <a href="javascript:onTblSearchButtonClick();" title="Выполнить поиск по текущим условиям фильтра"><img src="<?php echo get_site_url(); ?> /wp-content/plugins/tzs/assets/images/find-1.png" width="24px" height="24px"></a> </div> </td> </tr> </table> </form> <?php }
function tzs_front_end_pr_images_handler($atts) { ob_start(); tzs_copy_get_to_post(); $user_id = get_current_user_id(); $pr_id = isset($_POST['id']) && is_numeric($_POST['id']) ? intval($_POST['id']) : 0; $form_type = get_param_def('form_type', ''); $form_type_info = array('product' => array('product', TZS_PRODUCTS_TABLE, 'Товар/услуга', 'товаре/услуге'), 'auction' => array('auction', TZS_AUCTIONS_TABLE, 'Тендер', 'тендере')); if (!is_user_logged_in()) { print_error("Вход в систему обязателен"); } else { if ($form_type !== 'product' && $form_type !== 'auction') { print_error('Не указан параметр "form_type"'); } else { if ($pr_id <= 0) { print_error($form_type_info[$form_type][2] . ' не найден'); } else { if ($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST['action']) && $_POST['action'] == 'editimages' && $_POST['formName'] == $form_type . 'images') { // Проверим защиту nonce if (isset($_POST['image_0_nonce']) && wp_verify_nonce($_POST['image_0_nonce'], 'image_0')) { tzs_edit_pr_images(); } else { print_error("Проверка формы не пройдена. Свяжитесь, пожалуйста, с администрацией сайта."); } } else { global $wpdb; $sql = "SELECT * FROM " . $form_type_info[$form_type][1] . " WHERE id={$pr_id} AND user_id={$user_id};"; $row = $wpdb->get_row($sql); if (count($row) == 0 && $wpdb->last_error != null) { print_error('Не удалось отобразить информацию о ' . $form_type_info[$form_type][3] . '. Свяжитесь, пожалуйста, с администрацией сайта'); } else { if ($row == null) { print_error($form_type_info[$form_type][2] . ' не найден'); } else { $_POST['title'] = $row->title; $_POST['image_id_lists'] = $row->image_id_lists; $_POST['main_image'] = array_search($row->main_image_id, explode(';', $row->image_id_lists)); $_POST['id'] = '' . $row->id; $_POST['form_type'] = $form_type_info[$form_type][0]; tzs_print_edit_image_form(null); } } } } } } $output = ob_get_contents(); ob_end_clean(); return $output; }
function tzs_front_end_search_handler($atts) { ob_start(); tzs_copy_get_to_post(); $following = isset($_POST['following']); tzs_front_end_search_tr_form('transport'); $output = ob_get_contents(); ob_end_clean(); return $output; }
function tzs_front_end_feedback_handler($atts) { ob_start(); tzs_copy_get_to_post(); $pp = TZS_FEEDBACKS_PER_PAGE; $id = isset($_POST['id']) && is_valid_num($_POST['id']) ? intval($_POST['id']) : 0; $page = isset($_POST['pg']) && is_valid_num($_POST['pg']) ? intval($_POST['pg']) : 1; $user_id = get_current_user_id(); $user_info = $id > 0 ? get_userdata($id) : null; if ($user_info == null) { print_error('Пользователь не найден'); } else { global $wpdb; $res_neg = $wpdb->get_row($wpdb->prepare("SELECT COUNT(*) as cnt FROM {$wpdb->comments} WHERE comment_post_ID = %d AND (comment_approved = '1' OR ( user_id = %d AND comment_approved = '0' ) ) AND comment_content like %s", $id, $user_id, '0%')); $res_pos = $wpdb->get_row($wpdb->prepare("SELECT COUNT(*) as cnt FROM {$wpdb->comments} WHERE comment_post_ID = %d AND (comment_approved = '1' OR ( user_id = %d AND comment_approved = '0' ) ) AND comment_content like %s", $id, $user_id, '2%')); $res_cnt = $wpdb->get_row($wpdb->prepare("SELECT COUNT(*) as cnt FROM {$wpdb->comments} WHERE comment_post_ID = %d AND (comment_approved = '1' OR ( user_id = %d AND comment_approved = '0' ) )", $id, $user_id)); $records = $res_cnt->cnt; $pages = ceil($records / $pp); if ($pages == 0) { $pages = 1; } if ($page > $pages) { $page = $pages; } $from = ($page - 1) * $pp; $rate = 0 - $res_neg->cnt + $res_pos->cnt; $rate_class = "feedback_neutral"; if ($rate < 0) { $rate_class = "feedback_negative"; } else { if ($rate > 0) { $rate_class = "feedback_positive"; } } $u_comment = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->comments} WHERE comment_post_ID = %d AND user_id = %d", $id, $user_id)); $u_exists = count($u_comment) > 0; $u_text = $u_exists ? substr($u_comment->comment_content, 1) : ""; $u_type = $u_exists ? substr($u_comment->comment_content, 0, 1) : "1"; $comments = $wpdb->get_results($wpdb->prepare("SELECT * FROM {$wpdb->comments} WHERE comment_post_ID = %d AND (comment_approved = '1' OR ( user_id = %d AND comment_approved = '0' ) ) ORDER BY comment_date_gmt DESC LIMIT %d,%d", $id, $user_id, $from, $pp)); ?> <div id="feedback_title">Компания <?php $meta = get_user_meta($id, 'company'); echo $meta[0]; ?> , контактное лицо "<?php $meta = get_user_meta($user_id, 'fio'); echo $meta[0]; //echo htmlspecialchars($user_info->display_name); ?> "</div> <div id="feedback_rating"> Рейтинг: <span class="<?php echo $rate_class; ?> "><?php echo $rate; ?> </span> </div> <?php if (count($comments) == 0) { ?> <div id="info">У этого пользователя еще нет отзывов.</div> <?php } else { ?> <div id="feedback_content"> <table> <tr> <th id="adds">Дата</th> <th id="type">Тип отзыва</th> <th id="auth">Автор</th> <th id="feedback">Отзыв</th> </tr> <?php foreach ($comments as $row) { $cont = $row->comment_content; $type = substr($cont, 0, 1); $user_id = $row->user_id; $user_info = get_userdata($user_id); if (is_valid_num_zero($type)) { $cont = substr($cont, 1); if ($type == '0') { $type = "<span id=\"negative\">Отрицательный<span>"; } else { if ($type == '1') { $type = "<span id=\"neutral\">Нейтральный<span>"; } else { $type = "<span id=\"positive\">Положительный<span>"; } } } else { $type = "<span id=\"neutral\">Нейтральный<span>"; } ?> <tr> <td><b><?php echo convert_date_no_year($row->comment_date); ?> </b><br/><?php echo convert_time_only($row->comment_date); ?> </td> <td><?php echo $type; ?> </td> <td><?php echo $user_info->display_name; ?> </td> <td><?php echo htmlspecialchars($cont); ?> </td> </tr> <?php } ?> </table> <?php build_pages_footer($page, $pages, "fpage"); ?> </div> <?php } ?> <div id="feedback_form"> <input type="hidden" name="user_id" value="<?php echo $id; ?> "></input> <select name="feedback_type"> <option value="0" <?php if ($u_type == "0") { echo "selected"; } ?> >Отрицательный</option> <option value="1" <?php if ($u_type == "1") { echo "selected"; } ?> >Нейтральный</option> <option value="2" <?php if ($u_type == "2") { echo "selected"; } ?> >Положительный</option> </select> <textarea name="feedback_text"><?php echo $u_text; ?> </textarea> <?php if ($u_exists) { ?> <button onClick="javascript:sendFeedback();">Изменить</button> <button onClick="javascript:delFeedback();">Удалить</button> <?php } else { ?> <button onClick="javascript:sendFeedback();">Добавить</button> <?php } ?> </div> <!--<button onClick="javascript:doReloadFeedback();">Обновить</button>--> <script> function sendFeedback() { var tp = jQuery("select[name=feedback_type] option:selected").attr('value'); var cont = jQuery("textarea[name=feedback_text]").val(); var id = jQuery("input[name=user_id]").val(); var data = { 'action': 'tzs_add_feedback', 'cont': cont, 'type': tp, 'id': id }; jQuery.post(ajax_url, data, function(response) { if (response != '1') { alert("Ошибка: "+response); } else { doReloadFeedback(); } }).fail(function() { alert("Не удалось добавить/изменить отзыв. Попробуйте, пожалуйста, еще раз."); }); } function delFeedback() { var id = jQuery("input[name=user_id]").val(); var data = { 'action': 'tzs_del_feedback', 'id': id }; jQuery.post(ajax_url, data, function(response) { if (response != '1') { alert("Ошибка: "+response); } else { doReloadFeedback(); } }).fail(function() { alert("Не удалось удалить отзыв. Попробуйте, пожалуйста, еще раз."); }); } function hijackFeedbackLinks() { jQuery('a[tag=fpage]').each(function() { jQuery(this).click(function(){ feedback_page = parseInt(jQuery(this).attr('page')); doReloadFeedback(); return false; }); }); } jQuery(document).ready(function() { hijackFeedbackLinks(); }); </script> <?php } $output = ob_get_contents(); ob_end_clean(); return $output; }