示例#1
0
function tzs_front_end_my_shipments_handler($atts)
{
    ob_start();
    global $wpdb;
    $user_id = get_current_user_id();
    $url = current_page_url();
    $page = current_page_number();
    $pp = TZS_RECORDS_PER_PAGE;
    $active = isset($_GET['active']) ? trim($_GET['active']) : '1';
    if ($user_id == 0) {
        ?>
        <div>Для просмотра необходимо <a href="/account/login/">войти</a> или <a href="/account/registration/">зарегистрироваться</a></div>
        <?php 
    } else {
        $sql = "SELECT COUNT(*) as cnt FROM " . TZS_SHIPMENT_TABLE . " WHERE user_id={$user_id} AND active={$active};";
        $res = $wpdb->get_row($sql);
        if (count($res) == 0 && $wpdb->last_error != null) {
            print_error('Не удалось отобразить список грузов. Свяжитесь, пожалуйста, с администрацией сайта');
        } else {
            $records = $res->cnt;
            $pages = ceil($records / $pp);
            if ($pages == 0) {
                $pages = 1;
            }
            if ($page > $pages) {
                $page = $pages;
            }
            $from = ($page - 1) * $pp;
            // Добавим отбор счетов и сортировку по ним для активных записей
            if ($active == 0) {
                $sql = "SELECT * FROM " . TZS_SHIPMENT_TABLE . "  WHERE user_id={$user_id} AND active={$active} ORDER BY time DESC LIMIT {$from},{$pp};";
            } else {
                $sql = "SELECT a.*,";
                $sql .= " b.id AS order_id,";
                $sql .= " b.number AS order_number,";
                $sql .= " b.status AS order_status,";
                $sql .= " b.dt_pay AS order_dt_pay,";
                $sql .= " b.dt_expired AS order_dt_expired,";
                $sql .= " IFNULL(b.dt_pay, a.time) AS dt_sort";
                $sql .= " FROM " . TZS_SHIPMENT_TABLE . " a";
                $sql .= " LEFT OUTER JOIN wp_tzs_orders b ON (b.tbl_type = 'SH' AND a.id = b.tbl_id AND ((b.status=1 AND b.dt_expired > NOW()) OR b.status=0) )";
                $sql .= " WHERE a.user_id={$user_id} AND a.active={$active}";
                $sql .= " ORDER BY order_status DESC, dt_sort DESC";
                $sql .= " LIMIT {$from},{$pp};";
            }
            $res = $wpdb->get_results($sql);
            if (count($res) == 0 && $wpdb->last_error != null) {
                print_error('Не удалось отобразить список транспорта. Свяжитесь, пожалуйста, с администрацией сайта');
            } else {
                ?>
                <script src="/wp-content/plugins/tzs/assets/js/distance.js"></script>
                <div id="my_products_wrapper">
                    <div id="my_products_table">
                        <table id="tbl_products">
                        <thead>
                            <tr id="tbl_thead_records_per_page">
                                <th colspan="4">
                                    <div class="div_td_left">
                                        <h3>Список <?php 
                echo $active === '1' ? 'публикуемых' : 'архивных';
                ?>
 грузов</h3>
                                    </div>
                                </th>
                                
                                <th colspan="6">
                                    <div id="my_products_button">
                                        <?php 
                if ($active === '1') {
                    ?>
                                            <button id="view_del" onClick="javascript: window.open('/account/my-shipments/?active=0', '_self');">Показать архивные</button>
                                        <?php 
                } else {
                    ?>
                                            <button id="view_edit" onClick="javascript: window.open('/account/my-shipments/?active=1', '_self');">Показать публикуемые</button>
                                        <?php 
                }
                ?>
                                        <button id="view_add" onClick="javascript: window.open('/account/add-shipment/', '_self');">Добавить груз</button>
                                    </div>
                                </th>
                            </tr>
                            <tr>
                                <th id="tbl_trucks_id">№, дата и время заявки</th>
                                <th id="tbl_trucks_path" nonclickable="true">Пункты погрузки /<br>выгрузки</th>
                                <th id="tbl_trucks_dtc">Дата погрузки /<br>выгрузки</th>
                                <th id="tbl_trucks_ttr">Тип груза</th>
                                <th id="tbl_trucks_wv">Вес,<br>объем</th>
                                <th id="tbl_trucks_comm">Описание груза</th>
                                <th id="tbl_trucks_cost">Стоимость,<br/>цена 1 км</th>
                                <th id="tbl_trucks_payment">Форма оплаты</th>
                                <th id="comm">Комментарии</th>
                                <th id="actions" nonclickable="true">Действия</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php 
                foreach ($res as $row) {
                    $type = trans_types_to_str($row->trans_type, $row->tr_type);
                    $cost = tzs_cost_to_str($row->cost, true);
                    ?>
                                <tr rid="<?php 
                    echo $row->id;
                    ?>
" <?php 
                    echo $row->order_status == 1 ? ' class="top_record"' : ($row->order_status !== null && $row->order_status == 0 ? ' class="pre_top_record"' : '');
                    ?>
 >
                                <td>
                                    <?php 
                    echo $row->id;
                    ?>
<br>
                                    <?php 
                    echo convert_time($row->time);
                    ?>
                                </td>
                                <td>
                                        <?php 
                    echo tzs_city_to_str($row->from_cid, $row->from_rid, $row->from_sid, $row->sh_city_from);
                    ?>
<br/><?php 
                    echo tzs_city_to_str($row->to_cid, $row->to_rid, $row->to_sid, $row->sh_city_to);
                    ?>
                                        <?php 
                    if ($row->distance > 0) {
                        ?>
                                                <br/>
                                                <?php 
                        echo tzs_make_distance_link($row->distance, false, array($row->sh_city_from, $row->sh_city_to));
                        ?>
                                        <?php 
                    }
                    ?>
                                </td>
                                <td><?php 
                    echo convert_date($row->sh_date_from);
                    ?>
<br/><?php 
                    echo convert_date($row->sh_date_to);
                    ?>
</td>

                                <td><?php 
                    echo $GLOBALS['tzs_sh_types'][$row->sh_type];
                    ?>
</td>
                                
                                <td>
                                <?php 
                    if ($row->sh_weight > 0) {
                        echo remove_decimal_part($row->sh_weight) . ' т<br>';
                    }
                    if ($row->sh_volume > 0) {
                        echo remove_decimal_part($row->sh_volume) . ' м³';
                    }
                    ?>
                                </td>

                                <td><?php 
                    echo htmlspecialchars($row->sh_descr);
                    ?>
</td>
                                <td>
                                    <?php 
                    if ($row->price > 0) {
                        echo $row->price . ' ' . $GLOBALS['tzs_curr'][$row->price_val] . '<br><br>';
                        echo round($row->price / $row->distance, 2) . ' ' . $GLOBALS['tzs_curr'][$row->price_val] . '/км';
                    }
                    ?>
                                </td>
                                <td><?php 
                    echo $cost[1];
                    ?>
</td>
                                <td><?php 
                    echo htmlspecialchars($row->comment);
                    ?>
</td>
                                <td>
                                        <a href="javascript:doDisplay(<?php 
                    echo $row->id;
                    ?>
);" at="<?php 
                    echo $row->id;
                    ?>
" id="icon_set">Действия</a>
                                        <div id="menu_set" id2="menu" for="<?php 
                    echo $row->id;
                    ?>
" style="display:none;">
                                                <ul>
                                                        <a href="/account/view-shipment/?id=<?php 
                    echo $row->id;
                    ?>
&link=my-shipments&active=<?php 
                    echo $active;
                    ?>
">Смотреть</a>
                                                        <a href="/account/edit-shipment/?id=<?php 
                    echo $row->id;
                    ?>
">Изменить</a>
                                                    <?php 
                    if ($row->active && $row->order_status === null) {
                        ?>
                                                        <a href="javascript:promptPickUp(<?php 
                        echo $row->id;
                        ?>
, 'SH');">В ТОП</a>
                                                    <?php 
                    }
                    ?>
                                                        
                                                    <?php 
                    if ($row->active && $row->order_status !== null && $row->order_status == 0) {
                        ?>
                                                        <a href="/account/view-order/?id=<?php 
                        echo $row->order_id;
                        ?>
">Счет ТОП</a>
                                                    <?php 
                    }
                    ?>
                                                        <a href="javascript: promptDelete(<?php 
                    echo $row->id . ', ' . $row->active;
                    ?>
);" id="red">Удалить</a>
                                                </ul>
                                        </div>
                                </td>
                                </tr>
                            <?php 
                }
                ?>
                        </tbody>
                        </table>
                    </div>
                </div>
                    
                <?php 
                include_once WP_PLUGIN_DIR . '/tzs/front-end/tzs.my.new_order.php';
                ?>
                

    <script src="/wp-content/plugins/tzs/assets/js/jquery.stickytableheaders.min.js"></script>
                    <script>
                    jQuery(document).ready(function(){
                            jQuery('table').on('click', 'td', function(e) {  
                                    var nonclickable = 'true' == e.delegateTarget.rows[1].cells[this.cellIndex].getAttribute('nonclickable');
                                    var id = this.parentNode.getAttribute("rid");
                                    if (!nonclickable)
                                            document.location = "/account/view-shipment/?id="+id+"&link=my-shipments&active=<?php 
                echo $active;
                ?>
";
                            });
                        
                            jQuery("#tbl_products").stickyTableHeaders();
                    });

                    function doDisplay(id) {
                            var el = jQuery('div[for='+id+']');
                            if (el.attr('style') == null) {
                                    el.attr('style', 'display:none;');
                                    jQuery('a[at='+id+']').attr('id', 'icon_set');
                            } else {
                                    el.removeAttr('style');
                                    jQuery('a[at='+id+']').attr('id', 'icon_set_cur');
                            }
                            jQuery("div[id2=menu]").each(function(i) {
                                    var id2 = this.getAttribute('for');
                                    if (id2 != ''+id) {
                                            this.setAttribute('style', 'display:none;');
                                            jQuery('a[at='+id2+']').attr('id', 'icon_set');
                                    }
                            });
                    }

                    function promptDelete(id, active) {
                    if (active === 1) {
                        var s_text = '<div><h2>Удалить запись '+id+' или перенести в архив ?</h2><hr/><p>Запись из архива можно в любой момент снова опубликовать.</p></div>';
                        buttons1 = new Object({
                                                'В архив': function () {
                                                        jQuery(this).dialog("close");
                                                        doDelete(id, 0);
                                                },
                                                'Удалить': function () {
                                                        jQuery(this).dialog("close");
                                                        doDelete(id, 1);
                                                },
                                                'Отменить': function () {
                                                        jQuery(this).dialog("close");
                                                }
                                            });
                    } else {
                        var s_text = '<div><h2>Удалить запись '+id+' из архива ?</h2><hr/><p>Запись из архива можно в любой момент снова опубликовать.</p></div>';
                        buttons1 = new Object({
                                                'Удалить': function () {
                                                        jQuery(this).dialog("close");
                                                        doDelete(id, 1);
                                                },
                                                'Отменить': function () {
                                                        jQuery(this).dialog("close");
                                                }
                                            });
                    }
                            jQuery('<div></div>').appendTo('body')
                                    .html(s_text)
                                    .dialog({
                                            modal: true,
                                            title: 'Удаление',
                                            zIndex: 10000,
                                            autoOpen: true,
                                            width: 'auto',
                                            resizable: false,
                                            buttons: buttons1,
                                            close: function (event, ui) {
                                                    jQuery(this).remove();
                                            }
                                    });
                    }

                    function doDelete(id, is_delete) {
                            var data = {
                                    'action': 'tzs_delete_shipment',
                                    'id': id,
                                'is_delete': is_delete
                            };

                            jQuery.post(ajax_url, data, function(response) {
                                    if (response == '1') {
                                            location.reload();
                                    } else {
                                            alert('Не удалось удалить: '+response);
                                    }
                            });
                    }
                    </script>
                    <?php 
                build_pages_footer($page, $pages);
            }
        }
    }
    $output = ob_get_contents();
    ob_end_clean();
    return $output;
}
示例#2
0
function tzs_front_end_my_products_handler($atts)
{
    ob_start();
    global $wpdb;
    $user_id = get_current_user_id();
    $url = current_page_url();
    $page = current_page_number();
    $pp = TZS_RECORDS_PER_PAGE;
    $active = isset($_GET['active']) ? trim($_GET['active']) : '1';
    $record_pickup_time = get_option('t3s_setting_record_pickup_time', '30');
    if ($user_id == 0) {
        ?>
            <div>Для просмотра необходимо <a href="/account/login/">войти</a> или <a href="/account/registration/">зарегистрироваться</a></div>
            <script>
                jQuery(document).ready(function(){
                    jQuery('#menu-profile').hide();
                });
            </script>
            <?php 
    } else {
        $sql = "SELECT COUNT(*) as cnt FROM " . TZS_PRODUCTS_TABLE . " WHERE user_id={$user_id} AND active={$active};";
        $res = $wpdb->get_row($sql);
        if (count($res) == 0 && $wpdb->last_error != null) {
            print_error('Не удалось отобразить список товаров/услуг. Свяжитесь, пожалуйста, с администрацией сайта');
        } else {
            $records = $res->cnt;
            $pages = ceil($records / $pp);
            if ($pages == 0) {
                $pages = 1;
            }
            if ($page > $pages) {
                $page = $pages;
            }
            $from = ($page - 1) * $pp;
            // Добавим отбор счетов и сортировку по ним для активных записей
            if ($active == 0) {
                $sql = "SELECT * FROM " . TZS_PRODUCTS_TABLE . "  WHERE user_id={$user_id} AND active={$active} ORDER BY created DESC LIMIT {$from},{$pp};";
            } else {
                $sql = "SELECT a.*,";
                $sql .= " b.id AS order_id,";
                $sql .= " b.number AS order_number,";
                $sql .= " b.status AS order_status,";
                $sql .= " b.dt_pay AS order_dt_pay,";
                $sql .= " b.dt_expired AS order_dt_expired,";
                $sql .= " IFNULL(b.dt_pay, a.created) AS dt_sort,";
                $sql .= " IF(b.status IS NOT NULL, 2, IF(ROUND((UNIX_TIMESTAMP() - UNIX_TIMESTAMP(a.dt_pickup))/60, 0) <= " . $record_pickup_time . ", 1, 0)) AS top_status,";
                $sql .= " LOWER(c.code) AS from_code";
                $sql .= " FROM " . TZS_PRODUCTS_TABLE . " a";
                $sql .= " LEFT OUTER JOIN wp_tzs_orders b ON (b.tbl_type = 'PR' AND a.id = b.tbl_id AND ((b.status=1 AND b.dt_expired > NOW()) OR b.status=0) )";
                $sql .= " LEFT OUTER JOIN wp_tzs_countries c ON (a.from_cid = c.country_id)";
                $sql .= " WHERE a.user_id={$user_id} AND a.active={$active}";
                $sql .= " ORDER BY top_status DESC, order_status DESC, dt_sort DESC";
                $sql .= " LIMIT {$from},{$pp};";
            }
            $res = $wpdb->get_results($sql);
            if (count($res) == 0 && $wpdb->last_error != null) {
                print_error('Не удалось отобразить список товаров/услуг. Свяжитесь, пожалуйста, с администрацией сайта');
            } else {
                ?>
                <div id="my_products_wrapper">
                    <div id="my_products_table">
                        <input type="hidden" id="table_record_id" name="table_record_id" value="0"/>
                        <input type="hidden" id="table_record_order_id" name="table_record_order_id" value=""/>
                        <input type="hidden" id="table_record_order_status" name="table_record_order_status" value=""/>
                        <input type="hidden" id="table_record_top_status" name="table_record_top_status" value=""/>
                        <table id="tbl_products">
                        <thead>
                            <tr id="tbl_thead_records_per_page">
                                <th colspan="10" style="border: 0;">
                                    <div class="div_td_left">
                                        <?php 
                echo $active === '1' ? 'Публикуемые' : 'Архивные';
                ?>
 товары
                                    </div>
                                    <div id="my_products_button">
                                        <?php 
                if ($active === '1') {
                    ?>
                                            <button id="pickup_button">Обновить</button>
                                            <button id="vip_pickup_button">ТОП $</button>
                                            <button id="view_button">Смотреть</button>
                                            <button id="edit_button"">Изменить</button>
                                            <button id="delete_button">Удалить</button>
                                            <button id="all_list_button" onClick="javascript: window.open('/products', '_self');">Общий список</button>
                                            <button id="" onClick="javascript: window.open('/account/my-products/?active=0', '_self');">Архивные</button>
                                        <?php 
                } else {
                    ?>
                                            <button id="duplicate_button">Дублировать</button>
                                            <button id="view_button">Смотреть</button>
                                            <button id="delete_button">Удалить</button>
                                            <button id="all_list_button" onClick="javascript: window.open('/products', '_self');">Общий список</button>
                                            <button id="" onClick="javascript: window.open('/account/my-products/?active=1', '_self');">Публикуемые</button>
                                        <?php 
                }
                ?>
                                    </div>
                                </th>
                            </tr>
                            <tr>
                                <th id="tbl_trucks_rb">&nbsp;</th>
                                <th id="tbl_products_id">Опубликовано<br>Поднято</th>
                                <th id="tbl_products_sale">Покупка<br/>Продажа</th>
                                <th id="tbl_products_dtc">Период публи-<br/>кации</th>
                                <th id="tbl_products_type">Тип товара</th>
                                <th id="tbl_products_img">Фото товара</th>
                                <th id="tbl_products_title">Название, описание и местонахождение товара</th>
                                <th id="tbl_products_price">Цена<br/>Кол-во</th>
                                <th id="tbl_products_payment">Форма оплаты</th>
                                <th id="tbl_products_cost">Купить / Предложить цену</th>
                                <!--th id="actions" nonclickable="true">Действия</th-->
                            </tr>
                        </thead>
                        <tbody>
                        <?php 
                foreach ($res as $row) {
                    //$profile_td_text = '<a href="javascript:doDisplay('.$row->id.');" at="'.$row->id.'" id="icon_set">Действия</a>
                    //        <div id="menu_set" id2="menu" for="'.$row->id.'" style="display:none;">
                    $profile_td_text = '<div id="menu_set" id2="menu" for="' . $row->id . '">
                                        <ul>
                                            <a href="/account/view-product/?id=' . $row->id . '&link=my-products&active=' . $active . '">Смотреть</a>
                                            <a href="/account/edit-product/?id=' . $row->id . '">Изменить</a>';
                    if ($row->active && $row->order_status === null) {
                        $profile_td_text .= '<a href="javascript:promptPickUp(' . $row->id . ', \'PR\');">В ТОП</a>';
                    }
                    if ($row->active && $row->order_status !== null && $row->order_status == 0) {
                        $profile_td_text .= '<a href="/account/view-order/?id=' . $row->order_id . '">Счет ТОП</a>';
                    }
                    $profile_td_text .= '<a href="javascript: promptDelete(' . $row->id . ', ' . $row->active . ');" id="red">Удалить</a>
                                        </ul>
                                    </div>';
                    $profile_td_text = 'no';
                    $sss = tzs_products_table_record_out($row, 'products', tzs_get_children_pages(TZS_PR_ROOT_CATEGORY_PAGE_ID), $profile_td_text);
                    echo $sss;
                }
                ?>
                        </tbody>
                        </table>
                    </div>
                </div>
            
                <?php 
                include_once WP_PLUGIN_DIR . '/tzs/front-end/tzs.my.record_pickup.php';
                ?>
                <?php 
                include_once WP_PLUGIN_DIR . '/tzs/front-end/tzs.my.new_order.php';
                ?>
                
    <script src="/wp-content/plugins/tzs/assets/js/jquery.stickytableheaders.min.js"></script>
            <script>
                // Функция, отрабатывающая после готовности HTML-документа
                jQuery(document).ready(function(){
                        jQuery('.entry-title').hide();
                        /*jQuery('table').on('click', 'td', function(e) {  
                                var nonclickable = 'true' == e.delegateTarget.rows[1].cells[this.cellIndex].getAttribute('nonclickable');
                                var id = this.parentNode.getAttribute("rid");
                                if (!nonclickable)
                                        document.location = "/account/view-product/?id="+id+"&link=my-products&active=<?php 
                echo $active;
                ?>
";
                        });*/
                        
                        jQuery("#tbl_products").stickyTableHeaders();
    
                        jQuery("input[type=radio]").change(function (e) {
                            var order_id = e.target.getAttribute('order-id');
                            var order_status = e.target.getAttribute('order-status');
                            var top_status = e.target.getAttribute('top-status');
                            var record_active = e.target.getAttribute('record-active');
                            
                            jQuery("#table_record_id").attr('value', e.target.value);
                            jQuery("#table_record_active").attr('value', record_active);
                            jQuery("#table_record_order_id").attr('value', order_id);
                            jQuery("#table_record_order_status").attr('value', order_status);
                            jQuery("#table_record_top_status").attr('value', top_status);
                            
                            if (top_status == 2) {
                                jQuery("#pickup_button").hide();
                                
                                if (order_status != '') {
                                    jQuery("#vip_pickup_button").text('Счет ТОП $');
                                } else {
                                    jQuery("#vip_pickup_button").text('');
                                }
                            } else if (top_status == 1) {
                                jQuery("#vip_pickup_button").text('ТОП $');
                                jQuery("#pickup_button").hide();
                                jQuery("#vip_pickup_button").show();
                            } else {
                                jQuery("#vip_pickup_button").text('ТОП $');
                                jQuery("#pickup_button").show();
                                jQuery("#vip_pickup_button").show();
                            }
                        });
                        
                        jQuery("#pickup_button").on('click', function(event) {  
                            id = jQuery("#table_record_id").attr('value');
                            if (id !== '0') {
                                promptPickUp(id, 'PR');
                            } else {
                                ksk_show_msg('Необходимо выбрать запись с помощью переключателя в первом столбце', 'Ошибка');
                                event.preventDefault();
                            }
                        });
                        
                        jQuery("#vip_pickup_button").on('click', function(event) {  
                            var id = jQuery("#table_record_id").attr('value');
                            var order_id = jQuery("#table_record_order_id").attr('value');
                            var order_status = jQuery("#table_record_order_status").attr('value');
                            //alert('id='+id+', order_id='+order_id+', order_status='+order_status);
                            
                            if (id !== '0') {
                                if (order_status == '') {
                                    promptVipPickUp(id, 'PR');
                                } else {
                                    window.location.replace("<?php 
                echo get_site_url();
                ?>
/account/view-order/?id=" + order_id);
                                }
                            } else {                            
                                ksk_show_msg('Необходимо выбрать запись с помощью переключателя в первом столбце', 'Ошибка');
                                event.preventDefault();
                            }
                        });
                        
                        jQuery("#view_button").on('click', function(event) {  
                            id = jQuery("#table_record_id").attr('value');
                            active = jQuery("#table_record_active").attr('value');
                            if (id !== '0') {
                                window.location.replace("<?php 
                echo get_site_url();
                ?>
/account/view-product/?id=" + id + "&link=my-products&active=" + active);
                            } else {
                                ksk_show_msg('Необходимо выбрать запись с помощью переключателя в первом столбце', 'Ошибка');
                                event.preventDefault();
                            }
                        });
                        
                        jQuery("#edit_button").on('click', function(event) {  
                            id = jQuery("#table_record_id").attr('value');
                            if (id !== '0') {
                                document.location = "<?php 
                echo get_site_url();
                ?>
/account/edit-product/?id="+id;
                            } else {                            
                                ksk_show_msg('Необходимо выбрать запись с помощью переключателя в первом столбце', 'Ошибка');
                                event.preventDefault();
                            }
                        });
                        
                        jQuery("#delete_button").on('click', function(event) {  
                            id = jQuery("#table_record_id").attr('value');
                            if (id !== '0') {
                                promptDelete(id, <?php 
                echo $active;
                ?>
);
                            } else {                            
                                ksk_show_msg('Необходимо выбрать запись с помощью переключателя в первом столбце', 'Ошибка');
                                event.preventDefault();
                            }
                        });
                });

                function doDisplay(id) {
                        var el = jQuery('div[for='+id+']');
                        if (el.attr('style') == null) {
                                el.attr('style', 'display:none;');
                                jQuery('a[at='+id+']').attr('id', 'icon_set');
                        } else {
                                el.removeAttr('style');
                                jQuery('a[at='+id+']').attr('id', 'icon_set_cur');
                        }
                        jQuery("div[id2=menu]").each(function(i) {
                                var id2 = this.getAttribute('for');
                                if (id2 != ''+id) {
                                        this.setAttribute('style', 'display:none;');
                                        jQuery('a[at='+id2+']').attr('id', 'icon_set');
                                }
                        });
                }

                function promptDelete(id, active) {
                    if (active === 1) {
                        var s_text = '<div><h2>Удалить запись '+id+' или перенести в архив ?</h2><hr/><p>Запись из архива можно в любой момент снова опубликовать.</p><p>При удалении записи будут так же удалены все прикрепленные изображения.</p></div>';
                        buttons1 = new Object({
                                                'В архив': function () {
                                                        jQuery(this).dialog("close");
                                                        doDelete(id, 0);
                                                },
                                                'Удалить': function () {
                                                        jQuery(this).dialog("close");
                                                        doDelete(id, 1);
                                                },
                                                'Отменить': function () {
                                                        jQuery(this).dialog("close");
                                                }
                                            });
                    } else {
                        var s_text = '<div><h2>Удалить запись '+id+' из архива ?</h2><hr/><p>Запись из архива можно в любой момент снова опубликовать.</p><p>При удалении записи будут так же удалены все прикрепленные изображения.</p></div>';
                        buttons1 = new Object({
                                                'Удалить': function () {
                                                        jQuery(this).dialog("close");
                                                        doDelete(id, 1);
                                                },
                                                'Отменить': function () {
                                                        jQuery(this).dialog("close");
                                                }
                                            });
                    }
                        jQuery('<div></div>').appendTo('body')
                                .html(s_text)
                                .dialog({
                                        modal: true,
                                        title: 'Удаление',
                                        zIndex: 10000,
                                        autoOpen: true,
                                        width: 'auto',
                                        resizable: false,
                                        buttons: buttons1,
                                        close: function (event, ui) {
                                                jQuery(this).remove();
                                        }
                                });
                }

                function doDelete(id, is_delete) {
                        var data = {
                                'action': 'tzs_delete_product',
                                'id': id,
                                'is_delete': is_delete
                        };

                        jQuery.post(ajax_url, data, function(response) {
                                if (response == '1') {
                                        location.reload();
                                } else {
                                        alert('Не удалось удалить: '+response);
                                }
                        });
                }
            </script>
                <?php 
                build_pages_footer($page, $pages);
            }
        }
    }
    $output = ob_get_contents();
    ob_end_clean();
    return $output;
}
示例#3
0
function tzs_front_end_following_handler($atts)
{
    ob_start();
    $sp = tzs_validate_search_parameters();
    $s_sql = tzs_search_parameters_to_sql($sp, 'sh');
    $s_title = tzs_search_parameters_to_str($sp);
    $errors = $sp['errors'];
    $show_table = true;
    if (strlen($s_title) == 0 && count($errors) == 0) {
        $show_table = false;
        //$errors = array("Укажите параметры поиска");
    }
    if (count($errors) > 0) {
        print_errors($errors);
    }
    ?>
	<a href="javascript:showSearchDialog();" id="edit_search">Изменить параметры поиска</a>
	<?php 
    if (count($errors) == 0 && $show_table) {
        if (strlen($s_title) > 0) {
            ?>
			<div id="search_info">Попутные грузы <?php 
            echo $s_title;
            ?>
</div>
		<?php 
        } else {
            ?>
			<div id="search_info">Параметры поиска не заданы</div>
		<?php 
        }
        $page = current_page_number();
        ?>
	<a tag="page" id="realod_btn" href="<?php 
        echo build_page_url($page);
        ?>
">Обновить</a>
	<?php 
        global $wpdb;
        $url = current_page_url();
        $pp = TZS_RECORDS_PER_PAGE;
        $sql = "SELECT COUNT(*) as cnt FROM " . TZS_SHIPMENT_TABLE . " WHERE active=1 {$s_sql};";
        $res = $wpdb->get_row($sql);
        if (count($res) == 0 && $wpdb->last_error != null) {
            print_error('Не удалось отобразить список грузов. Свяжитесь, пожалуйста, с администрацией сайта');
        } else {
            $records = $res->cnt;
            $pages = ceil($records / $pp);
            if ($pages == 0) {
                $pages = 1;
            }
            if ($page > $pages) {
                $page = $pages;
            }
            $from = ($page - 1) * $pp;
            $sql = "SELECT * FROM " . TZS_SHIPMENT_TABLE . " WHERE active=1 {$s_sql} ORDER BY time DESC LIMIT {$from},{$pp};";
            $res = $wpdb->get_results($sql);
            if (count($res) == 0 && $wpdb->last_error != null) {
                print_error('Не удалось отобразить список грузов. Свяжитесь, пожалуйста, с администрацией сайта');
            } else {
                if (count($res) == 0) {
                    ?>
					<div id="info">По Вашему запросу ничего не найдено.</div>
				<?php 
                } else {
                    ?>
			<script src="/wp-content/plugins/tzs/assets/js/distance.js"></script>
			<table id="tbl_shipments">
			<tr>
				<th id="numb">Номер заявки</th>
				<th id="adds">Дата размещения</th>
				<th id="date-load">Дата погрузки<br>Дата выгрузки</th>
				<th id="numb-unload" nonclickable="true">Пункт погрузки<br>Пункт выгрузки</th>
				<th id="desc">Описание груза</th>
				<th id="wight">Вес</th>
				<th id="vol">Объем</th>
				<th id="type">Тип транспорта</th>
				<th id="cost">Цена</th>
				<th id="comm">Комментарии</th>
			</tr>
			<?php 
                    foreach ($res as $row) {
                        $type = isset($GLOBALS['tzs_tr_types'][$row->trans_type]) ? $GLOBALS['tzs_tr_types'][$row->trans_type] : "";
                        ?>
				<tr rid="<?php 
                        echo $row->id;
                        ?>
">
				<td><?php 
                        echo $row->id;
                        ?>
</td>
				<td><b><?php 
                        echo convert_date_no_year($row->time);
                        ?>
</b><br/><?php 
                        echo convert_time_only($row->time);
                        ?>
</td>
				<td><?php 
                        echo convert_date_no_year($row->sh_date_from);
                        ?>
<br/><?php 
                        echo convert_date_no_year($row->sh_date_to);
                        ?>
</td>
				<td>
					<?php 
                        echo tzs_city_to_str($row->from_cid, $row->from_rid, $row->from_sid, $row->sh_city_from);
                        ?>
<br/><?php 
                        echo tzs_city_to_str($row->to_cid, $row->to_rid, $row->to_sid, $row->sh_city_to);
                        ?>
					<?php 
                        if ($row->distance > 0) {
                            ?>
						<br/>
						<?php 
                            echo tzs_make_distance_link($row->distance, false, array($row->sh_city_from, $row->sh_city_to));
                            ?>
					<?php 
                        }
                        ?>
				</td>
				
				<td><?php 
                        echo htmlspecialchars($row->sh_descr);
                        ?>
</td>
				
				<?php 
                        if ($row->sh_weight > 0) {
                            ?>
					<td><?php 
                            echo remove_decimal_part($row->sh_weight);
                            ?>
 т</td>
				<?php 
                        } else {
                            ?>
					<td>&nbsp;</td>
				<?php 
                        }
                        ?>
				
				<?php 
                        if ($row->sh_volume > 0) {
                            ?>
					<td><?php 
                            echo remove_decimal_part($row->sh_volume);
                            ?>
 м³</td>
				<?php 
                        } else {
                            ?>
					<td>&nbsp;</td>
				<?php 
                        }
                        ?>
				
				<td><?php 
                        echo $type;
                        ?>
</td>
				<td><?php 
                        echo tzs_cost_to_str($row->cost);
                        ?>
</td>
				<td><?php 
                        echo htmlspecialchars($row->comment);
                        ?>
</td>
				</tr>
				<?php 
                    }
                    ?>
			</table>
			
			<?php 
                }
                build_pages_footer($page, $pages);
            }
        }
    }
    ?>
		<script src="/wp-content/plugins/tzs/assets/js/search.js"></script>
		<script>
			var post = [];
			<?php 
    echo "// POST dump here\n";
    foreach ($_POST as $key => $value) {
        echo "post[" . tzs_encode2($key) . "] = " . tzs_encode2($value) . ";\n";
    }
    ?>
			
			function showSearchDialog() {
				doSearchDialog('cargo', post, null, true);
			}
			
			jQuery(document).ready(function(){
				jQuery('#tbl_shipments').on('click', 'td', function(e) {  
					var nonclickable = 'true' == e.delegateTarget.rows[0].cells[this.cellIndex].getAttribute('nonclickable');
					var id = this.parentNode.getAttribute("rid");
					if (!nonclickable)
						document.location = "/account/view-shipment/?id="+id;
				});
				hijackLinks(post);
				<?php 
    if (strlen($s_title) == 0) {
        ?>
showSearchDialog();<?php 
    }
    ?>
			});
		</script>
	<?php 
    $output = ob_get_contents();
    ob_end_clean();
    return $output;
}
示例#4
0
function tzs_front_end_user_trucks_handler($atts)
{
    // Определяем атрибуты
    // [tzs-view-user-products user_id="1"] - указываем на странице раздела
    // [tzs-view-products] - указываем на страницах подразделов
    extract(shortcode_atts(array('user_id' => '0'), $atts, 'tzs-view-user-trucks'));
    ob_start();
    $sql1 = ' AND user_id=' . $user_id;
    global $wpdb;
    $page = current_page_number();
    $url = current_page_url();
    $pp = TZS_RECORDS_PER_PAGE;
    $sql = "SELECT COUNT(*) as cnt FROM " . TZS_TRUCK_TABLE . " WHERE active=1 {$sql1} ";
    $res = $wpdb->get_row($sql);
    if (count($res) == 0 && $wpdb->last_error != null) {
        print_error('Не удалось отобразить список транспорта. Свяжитесь, пожалуйста, с администрацией сайта -count');
    } else {
        $records = $res->cnt;
        $pages = ceil($records / $pp);
        if ($pages == 0) {
            $pages = 1;
        }
        if ($page > $pages) {
            $page = $pages;
        }
        $from = ($page - 1) * $pp;
        $sql = "SELECT * FROM " . TZS_TRUCK_TABLE . " WHERE active=1 {$sql1} ORDER BY time DESC LIMIT {$from},{$pp}; ";
        $res = $wpdb->get_results($sql);
        if (count($res) == 0 && $wpdb->last_error != null) {
            print_error('Не удалось отобразить список транспорта. Свяжитесь, пожалуйста, с администрацией сайта - record');
            echo $wpdb->last_error;
        } else {
            if (count($res) == 0) {
                ?>
                    <div style="clear: both;"></div>
                    <div class="errors">
                        <div id="info error">По Вашему запросу ничего не найдено.</div>
                    </div>
                    <?php 
            } else {
                ?>
                    <div>
                        <table id="tbl_products">
                        <tr>
                            <th id="tbl_trucks_id">N, дата и время заявки</th>
                            <th id="tbl_trucks_path" nonclickable="true">Пункты погрузки /<br/>выгрузки</th>
                            <th id="tbl_trucks_dtc">Даты погрузки /<br>выгрузки</th>
                            <th id="tbl_trucks_ttr">Тип транспортного средства</th>
                            <th id="tbl_trucks_wv">Описание ТС</th>
                            <th id="tbl_trucks_wv">Желаемый груз</th>
                            <th id="tbl_trucks_cost">Cтоимость,<br/>цена 1 км</th>
                            <th id="tbl_trucks_payment">Форма оплаты</th>
                        </tr>
                        <?php 
                foreach ($res as $row) {
                    echo tzs_tr_sh_table_record_out_cont($row, 'shipments');
                }
                ?>
                        </table>
                    </div>
                <?php 
            }
            build_pages_footer($page, $pages);
        }
    }
    ////
    ?>
        <script src="/wp-content/plugins/tzs/assets/js/search.js"></script>
        <script>
                var post = [];
                <?php 
    echo "// POST dump here\n";
    foreach ($_POST as $key => $value) {
        echo "post[" . tzs_encode2($key) . "] = " . tzs_encode2($value) . ";\n";
    }
    if (!isset($_POST['type_id'])) {
        echo "post[" . tzs_encode2("type_id") . "] = " . tzs_encode2($p_id) . ";\n";
    }
    if (!isset($_POST['cur_type_id'])) {
        echo "post[" . tzs_encode2("cur_type_id") . "] = " . tzs_encode2($p_id) . ";\n";
    }
    ?>

                function showSearchDialog() {
                        doSearchDialog('products', post, null);
                        //doSearchDialog('auctions', post, null);
                }

                jQuery(document).ready(function(){
                        jQuery('#tbl_products').on('click', 'td', function(e) {  
                                var nonclickable = 'true' == e.delegateTarget.rows[0].cells[this.cellIndex].getAttribute('nonclickable');
                                var id = this.parentNode.getAttribute("rid");
                                if (!nonclickable)
                                        document.location = "/account/view-truck/?id="+id;
                        });
                        hijackLinks(post);
                });
        </script>
	<?php 
    ////
    $output = ob_get_contents();
    ob_end_clean();
    return $output;
}
示例#5
0
文件: bloghome.php 项目: lamenath/fbp
    <a class="menu" href="/blog">Home</a>

    <?php 
if (get_next_posts_link_url()) {
    ?>

      <a href="<?php 
    echo get_next_posts_link_url();
    ?>
" class="next">

        <span class="label">next</span>

        <p class="title">Page <?php 
    echo current_page_number() + 1;
    ?>
</p>

      </a>

    <?php 
}
?>

</footer>


<!-- Handle footer -->
<script src="/assets/blog.js"></script>
示例#6
0
function tzs_front_end_my_orders_handler($atts)
{
    ob_start();
    global $wpdb;
    $user_id = get_current_user_id();
    $url = current_page_url();
    $page = current_page_number();
    $pp = TZS_RECORDS_PER_PAGE;
    $status = isset($_GET['status']) ? trim($_GET['status']) : '0';
    if ($user_id == 0) {
        ?>
            <div>Для просмотра необходимо <a href="/account/login/">войти</a> или <a href="/account/registration/">зарегистрироваться</a></div>
            <script>
                jQuery(document).ready(function(){
                    jQuery('#menu-profile').hide();
                });
            </script>
            <?php 
    } else {
        $sql = "SELECT COUNT(*) as cnt FROM " . TZS_ORDERS_TABLE . " WHERE user_id={$user_id} AND status={$status};";
        $res = $wpdb->get_row($sql);
        if (count($res) == 0 && $wpdb->last_error != null) {
            print_error('Не удалось отобразить список счетов. Свяжитесь, пожалуйста, с администрацией сайта');
        } else {
            $records = $res->cnt;
            $pages = ceil($records / $pp);
            if ($pages == 0) {
                $pages = 1;
            }
            if ($page > $pages) {
                $page = $pages;
            }
            $from = ($page - 1) * $pp;
            $sql = "SELECT * FROM " . TZS_ORDERS_TABLE . "  WHERE user_id={$user_id} AND status={$status} ORDER BY dt_create DESC LIMIT {$from},{$pp};";
            $res = $wpdb->get_results($sql);
            if (count($res) == 0 && $wpdb->last_error != null) {
                print_error('Не удалось отобразить список счетов. Свяжитесь, пожалуйста, с администрацией сайта');
            } else {
                ?>
                <div id="my_products_wrapper">

                    <div id="my_products_table">
                        <table id="tbl_products">
                        <thead>
                            <tr id="tbl_thead_records_per_page">
                                <th colspan="4">
                                    <div class="div_td_left">
                                        <h3>Список <?php 
                echo $status === '0' ? 'неоплаченных' : ($status === '1' ? 'действующих' : 'архивных');
                ?>
 счетов</h3>
                                    </div>
                                </th>
                                
                                <th colspan="5">
                                    <div id="my_products_button">
                                        <?php 
                if ($status !== '0') {
                    ?>
                                            <button id="" onClick="javascript: window.open('/account/my-orders/?status=0', '_self');">Показать неоплаченные</button>
                                        <?php 
                }
                ?>
                                            
                                        <?php 
                if ($status !== '1') {
                    ?>
                                            <button id="" onClick="javascript: window.open('/account/my-orders/?status=1', '_self');">Показать действующие</button>
                                        <?php 
                }
                ?>
                                            
                                        <?php 
                if ($status !== '2') {
                    ?>
                                            <button id="" onClick="javascript: window.open('/account/my-orders/?status=2', '_self');">Показать архивные</button>
                                        <?php 
                }
                ?>
                                    </div>
                                </th>
                            </tr>
                            <tr>
                                <th id="">ID счета</th>
                                <th id="">Рубрика</th>
                                <th id="">ID заявки</th>
                                <th id="">Номер счета</th>
                                <th id="">Сумма счета</th>
                                <th id="">Дата и время создания</th>
                                <th id="">Дата и время оплаты</th>
                                <th id="">Дата окончания</th>
                                <th id="actions" nonclickable="true">Действия</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php 
                foreach ($res as $row) {
                    ?>
                                <tr rid="<?php 
                    echo $row->id;
                    ?>
">
                                <td>
                                    <?php 
                    echo $row->id;
                    ?>
                                </td>
                                <td>
                                    <?php 
                    echo $row->tbl_type === 'PR' ? 'Торговля' : ($row->tbl_type === 'TR' ? 'Транспорт' : 'Товар');
                    ?>
                                </td>
                                <td>
                                    <?php 
                    echo $row->tbl_id;
                    ?>
                                </td>
                                <td>
                                    <?php 
                    echo $row->number;
                    ?>
                                </td>
                                <td>
                                    <?php 
                    echo $row->cost . " " . $GLOBALS['tzs_curr'][$row->currency];
                    ?>
                                </td>
                                <td>
                                    <?php 
                    echo convert_time($row->dt_create);
                    ?>
                                </td>
                                <td>
                                    <?php 
                    echo $row->dt_pay ? convert_time($row->dt_pay) : '';
                    ?>
                                </td>
                                <td>
                                    <?php 
                    echo $row->dt_expired ? convert_date($row->dt_expired) : '';
                    ?>
                                </td>
                                <td>
                                        <!--a href="javascript:doDisplay(<?php 
                    //echo $row->id;
                    ?>
);" at="<?php 
                    //echo $row->id;
                    ?>
" id="icon_set">Действия</a-->
                                        <div id="menu_set" id2="menu" for="<?php 
                    echo $row->id;
                    ?>
"><!-- style="display:none;"-->
                                                <ul>
                                                    <?php 
                    if ($status === '0') {
                        ?>
                                                        <a href="/account/view-order/?id=<?php 
                        echo $row->id;
                        ?>
&link=my-orders&status=<?php 
                        echo $status;
                        ?>
">Оплатить</a>
                                                    <?php 
                    }
                    ?>
                                                        <a href="/account/view-order/?id=<?php 
                    echo $row->id;
                    ?>
&link=my-orders&status=<?php 
                    echo $status;
                    ?>
">Смотреть</a>
                                                </ul>
                                        </div>
                                </td>
                                </tr>
                                <?php 
                }
                ?>
                        </tbody>
                        </table>
                    </div>
                </div>

    <script src="/wp-content/plugins/tzs/assets/js/jquery.stickytableheaders.min.js"></script>
            <script>
                jQuery(document).ready(function(){
                        jQuery('.entry-title').hide();
                        jQuery('table').on('click', 'td', function(e) {  
                                var nonclickable = 'true' == e.delegateTarget.rows[1].cells[this.cellIndex].getAttribute('nonclickable');
                                var id = this.parentNode.getAttribute("rid");
                                if (!nonclickable)
                                        document.location = "/account/view-order/?id="+id+"&link=my-orders&status=<?php 
                echo $status;
                ?>
";
                        });
                        
                        jQuery("#tbl_products").stickyTableHeaders();
                });

                function doDisplay(id) {
                        var el = jQuery('div[for='+id+']');
                        if (el.attr('style') == null) {
                                el.attr('style', 'display:none;');
                                jQuery('a[at='+id+']').attr('id', 'icon_set');
                        } else {
                                el.removeAttr('style');
                                jQuery('a[at='+id+']').attr('id', 'icon_set_cur');
                        }
                        jQuery("div[id2=menu]").each(function(i) {
                                var id2 = this.getAttribute('for');
                                if (id2 != ''+id) {
                                        this.setAttribute('style', 'display:none;');
                                        jQuery('a[at='+id2+']').attr('id', 'icon_set');
                                }
                        });
                }
            </script>
                <?php 
                build_pages_footer($page, $pages);
            }
        }
    }
    $output = ob_get_contents();
    ob_end_clean();
    return $output;
}
示例#7
0
function tzs_front_end_user_products_handler($atts)
{
    // Определяем атрибуты
    // [tzs-view-user-products user_id="1"] - указываем на странице раздела
    // [tzs-view-products] - указываем на страницах подразделов
    extract(shortcode_atts(array('user_id' => '0'), $atts, 'tzs-view-user-products'));
    ob_start();
    $sql1 = ' AND user_id=' . $user_id;
    global $wpdb;
    $page = current_page_number();
    $url = current_page_url();
    $pp = TZS_RECORDS_PER_PAGE;
    $sql = "SELECT COUNT(*) as cnt FROM " . TZS_PRODUCTS_TABLE . " WHERE active=1 {$sql1} ";
    $res = $wpdb->get_row($sql);
    if (count($res) == 0 && $wpdb->last_error != null) {
        print_error('Не удалось отобразить список товаров. Свяжитесь, пожалуйста, с администрацией сайта -count');
    } else {
        $records = $res->cnt;
        $pages = ceil($records / $pp);
        if ($pages == 0) {
            $pages = 1;
        }
        if ($page > $pages) {
            $page = $pages;
        }
        $from = ($page - 1) * $pp;
        $sql = "SELECT * FROM " . TZS_PRODUCTS_TABLE . " WHERE active=1 {$sql1} ORDER BY created DESC LIMIT {$from},{$pp}; ";
        $res = $wpdb->get_results($sql);
        if (count($res) == 0 && $wpdb->last_error != null) {
            print_error('Не удалось отобразить список товаров. Свяжитесь, пожалуйста, с администрацией сайта - record');
        } else {
            if (count($res) == 0) {
                ?>
                    <div style="clear: both;"></div>
                    <div class="errors">
                        <div id="info error">По Вашему запросу ничего не найдено.</div>
                    </div>
                    <?php 
            } else {
                ?>
                    <div>
                        <table id="tbl_products">
                        <tr>
                            <th id="tbl_products_id">Номер</th>
                            <th id="tbl_products_img">Фото</th>
                            <th id="tbl_products_dtc">Дата размещения</th>
                            <th id="title">Описание товара</th>
                            <th id="price">Стоимость товара</th>
                            <th id="descr">Форма оплаты</th>
                            <th id="cities">Город</th>
                            <th id="comm">Комментарии</th>
                        </tr>
                        <?php 
                foreach ($res as $row) {
                    ?>
                            <tr rid="<?php 
                    echo $row->id;
                    ?>
">
                                <td><?php 
                    echo $row->id;
                    ?>
</td>
                                <td>
                                    <?php 
                    if (strlen($row->image_id_lists) > 0) {
                        //$img_names = explode(';', $row->pictures);
                        $main_image_id = $row->main_image_id;
                        // Вначале выведем главное изображение
                        $attachment_info = wp_get_attachment_image_src($main_image_id, 'thumbnail');
                        if ($attachment_info !== false) {
                            //if (file_exists(ABSPATH . $img_names[0])) {
                            //echo '<img src="'.get_site_url().'/'.$img_names[0].'" alt="">';
                            echo '<img src="' . $attachment_info[0] . '" alt="">';
                            // width="50px" height="50px"
                        } else {
                            echo '&nbsp;';
                        }
                    } else {
                        echo '&nbsp;';
                    }
                    ?>
                                </td>
                                <td><?php 
                    echo convert_time($row->created);
                    ?>
</td>
                                <td><?php 
                    echo htmlspecialchars($row->title);
                    ?>
</td>
                                <td><?php 
                    echo $row->price . " " . $GLOBALS['tzs_pr_curr'][$row->currency];
                    ?>
</td>
                                <td><?php 
                    echo $GLOBALS['tzs_pr_payment'][$row->payment];
                    ?>
</td>
                                <td><?php 
                    echo tzs_city_to_str($row->from_cid, $row->from_rid, $row->from_sid, $row->city_from);
                    ?>
</td>
                                <td><?php 
                    echo htmlspecialchars($row->comment);
                    ?>
</td>
                            </tr>
                            <?php 
                }
                ?>
                        </table>
                    </div>
                <?php 
            }
            build_pages_footer($page, $pages);
        }
    }
    ////
    ?>
        <script src="/wp-content/plugins/tzs/assets/js/search.js"></script>
        <script>
                var post = [];
                <?php 
    echo "// POST dump here\n";
    foreach ($_POST as $key => $value) {
        echo "post[" . tzs_encode2($key) . "] = " . tzs_encode2($value) . ";\n";
    }
    if (!isset($_POST['type_id'])) {
        echo "post[" . tzs_encode2("type_id") . "] = " . tzs_encode2($p_id) . ";\n";
    }
    if (!isset($_POST['cur_type_id'])) {
        echo "post[" . tzs_encode2("cur_type_id") . "] = " . tzs_encode2($p_id) . ";\n";
    }
    ?>

                function showSearchDialog() {
                        doSearchDialog('products', post, null);
                        //doSearchDialog('auctions', post, null);
                }

                jQuery(document).ready(function(){
                        jQuery('#tbl_products').on('click', 'td', function(e) {  
                                var nonclickable = 'true' == e.delegateTarget.rows[0].cells[this.cellIndex].getAttribute('nonclickable');
                                var id = this.parentNode.getAttribute("rid");
                                if (!nonclickable)
                                        document.location = "/account/view-product/?id="+id;
                        });
                        hijackLinks(post);
                });
        </script>
	<?php 
    ////
    $output = ob_get_contents();
    ob_end_clean();
    return $output;
}
示例#8
0
function tzs_front_end_my_auctions_handler($atts)
{
    ob_start();
    global $wpdb;
    $user_id = get_current_user_id();
    $url = current_page_url();
    $page = current_page_number();
    $pp = TZS_RECORDS_PER_PAGE;
    $active = isset($_GET['active']) ? trim($_GET['active']) : '1';
    if ($user_id == 0) {
        ?>
            <div>Для просмотра необходимо <a href="/account/login/">войти</a> или <a href="/account/registration/">зарегистрироваться</a></div>
            <?php 
    } else {
        $sql = "SELECT COUNT(*) as cnt FROM " . TZS_AUCTIONS_TABLE . " WHERE user_id={$user_id} AND active={$active};";
        $res = $wpdb->get_row($sql);
        if (count($res) == 0 && $wpdb->last_error != null) {
            print_error('Не удалось отобразить список тендеров. Свяжитесь, пожалуйста, с администрацией сайта');
        } else {
            $records = $res->cnt;
            $pages = ceil($records / $pp);
            if ($pages == 0) {
                $pages = 1;
            }
            if ($page > $pages) {
                $page = $pages;
            }
            $from = ($page - 1) * $pp;
            $sql = "SELECT a.*,(SELECT COUNT(*) FROM " . TZS_AUCTION_RATES_TABLE . " c WHERE c.auction_id = a.id) AS rate_count FROM " . TZS_AUCTIONS_TABLE . " a  WHERE a.user_id={$user_id} AND a.active={$active} ORDER BY a.created DESC LIMIT {$from},{$pp};";
            $res = $wpdb->get_results($sql);
            if (count($res) == 0 && $wpdb->last_error != null) {
                print_error('Не удалось отобразить список тендеров. Свяжитесь, пожалуйста, с администрацией сайта');
            } else {
                ?>
                <div id="my_auctions_wrapper">
                    <div id="my_products_button">
                        <?php 
                if ($active === '1') {
                    ?>
                            <button id="view_del" onClick="javascript: window.open('/account/my-auction/?active=0', '_self');">Показать архивные</button>
                        <?php 
                } else {
                    ?>
                            <button id="view_edit" onClick="javascript: window.open('/account/my-auction/?active=1', '_self');">Показать действующие</button>
                        <?php 
                }
                ?>
                        <button id="view_add" onClick="javascript: window.open('/account/add-auction/', '_self');">Добавить тендер</button>
                    </div>

                    <div id="my_auctions_table">
                        <h3>Список <?php 
                echo $active === '1' ? 'действующих' : 'архивных';
                ?>
 тендеров</h3>
                        <table id="tbl_products">
                        <tr>
                            <th id="tbl_products_id">Номер</th>
                            <th id="tbl_auctions_lot">Тип<br>Кол-во ставок</th>
                            <th id="tbl_products_img">Фото</th>
                            <th id="tbl_products_dtc">Дата размещения<br>Дата окончания</th>
                            <th id="title">Описание</th>
                            <th id="copies">Кол-во</th>
                            <th id="price">Цена за единицу</th>
                            <th id="descr">Форма оплаты</th>
                            <th id="cities">Город</th>
                            <th id="comm">Комментарии</th>
                            <th id="actions" nonclickable="true">Действия</th>
                        </tr>
                        <?php 
                foreach ($res as $row) {
                    ?>
                            <tr rid="<?php 
                    echo $row->id;
                    ?>
" id="<?php 
                    echo $row->is_lot == 1 ? 'tbl_auctions_tr_lot_1' : 'tbl_auctions_tr_lot_0';
                    ?>
">
                                <td><?php 
                    echo $row->id;
                    ?>
</td>
                                <td><?php 
                    echo $row->is_lot == 1 ? 'Продам' : 'Куплю';
                    ?>
<br><br><?php 
                    echo 'Ставок-' . $row->rate_count;
                    ?>
</td>
                                <td>
                                    <?php 
                    if (strlen($row->image_id_lists) > 0) {
                        $main_image_id = $row->main_image_id;
                        // Вначале выведем главное изображение
                        //$attachment_info = wp_get_attachment_image_src($main_image_id, 'thumbnail');
                        $attachment_info = wp_get_attachment_image_src($main_image_id, 'full');
                        if ($attachment_info !== false) {
                            ?>
                                            <div class="ienlarger">
                                                <a href="#nogo">
                                                    <img src="<?php 
                            echo $attachment_info[0];
                            ?>
" alt="thumb" class="resize_thumb">
                                                    <span>
                                                        <?php 
                            echo htmlspecialchars($row->title);
                            ?>
<br/>
                                                        <img src="<?php 
                            echo $attachment_info[0];
                            ?>
" alt="large"/>
                                                    </span>
                                                </a>
                                            </div>
                                        <?php 
                        } else {
                            echo '&nbsp;';
                        }
                    } else {
                        echo '&nbsp;';
                    }
                    ?>
                                </td>
                                <td><?php 
                    echo convert_date($row->created);
                    ?>
<br><?php 
                    echo convert_date($row->expiration);
                    ?>
</td>
                                <td><?php 
                    echo htmlspecialchars($row->title);
                    ?>
</td>
                                <td><?php 
                    echo $row->copies . " " . $GLOBALS['tzs_au_unit'][$row->unit];
                    ?>
</td>
                                <td><?php 
                    echo $row->price . " " . $GLOBALS['tzs_pr_curr'][$row->currency];
                    ?>
</td>
                                <td><?php 
                    echo $GLOBALS['tzs_pr_payment'][$row->payment];
                    ?>
</td>
                                <td><?php 
                    echo tzs_city_to_str($row->from_cid, $row->from_rid, $row->from_sid, $row->city_from);
                    ?>
</td>
                                <td><?php 
                    echo htmlspecialchars($row->comment);
                    ?>
</td>
                                <td>
                                        <a href="javascript:doDisplay(<?php 
                    echo $row->id;
                    ?>
);" at="<?php 
                    echo $row->id;
                    ?>
" id="icon_set">Действия</a>
                                        <div id="menu_set" id2="menu" for="<?php 
                    echo $row->id;
                    ?>
" style="display:none;">
                                                <ul>
                                                        <a href="/account/view-auction/?id=<?php 
                    echo $row->id;
                    ?>
">Смотреть</a>
                                                        <a href="/account/edit-auction/?id=<?php 
                    echo $row->id;
                    ?>
">Изменить</a>
                                                        <a href="javascript: promptDelete(<?php 
                    echo $row->id . ', ' . $row->active;
                    ?>
);" id="red">Удалить</a>
                                                </ul>
                                        </div>
                                </td>
                            </tr>
                        <?php 
                }
                ?>
                        </table>
                    </div>
                </div>

            <script>
                jQuery(document).ready(function(){
                        jQuery('table').on('click', 'td', function(e) {  
                                var nonclickable = 'true' === e.delegateTarget.rows[0].cells[this.cellIndex].getAttribute('nonclickable');
                                var id = this.parentNode.getAttribute("rid");
                                if (!nonclickable)
                                        document.location = "/account/view-auction/?id="+id;
                        });
                        
                          //align element in the middle of the screen
                        jQuery.fn.alignCenter = function() {
                           //get margin left
                           //var marginLeft = Math.max(40, parseInt(jQuery(window).width()/2 - jQuery(this).width()/2)) + 'px';
                           var marginLeft = - jQuery(this).width()/2 + 'px';
                           //get margin top
                           //var marginTop = Math.max(40, parseInt(jQuery(window).height()/2 - jQuery(this).height()/2)) + 'px';
                           var marginTop = - jQuery(this).height()/2 + 'px';
                           //return updated element
                           //return jQuery(this).css({'margin-left':marginLeft*(-1), 'margin-top':marginTop*(-1)});
                           return jQuery(this).css({'margin-left':'120px', 'margin-top':marginTop});
                        };
                });

                function doDisplay(id) {
                        var el = jQuery('div[for='+id+']');
                        if (el.attr('style') === null) {
                                el.attr('style', 'display:none;');
                                jQuery('a[at='+id+']').attr('id', 'icon_set');
                        } else {
                                el.removeAttr('style');
                                jQuery('a[at='+id+']').attr('id', 'icon_set_cur');
                        }
                        jQuery("div[id2=menu]").each(function(i) {
                                var id2 = this.getAttribute('for');
                                if (id2 != ''+id) {
                                        this.setAttribute('style', 'display:none;');
                                        jQuery('a[at='+id2+']').attr('id', 'icon_set');
                                }
                        });
                }

                function promptDelete(id, active) {
                    if (active === 1) {
                        var s_text = '<div><h2>Удалить запись '+id+' или перенести в архив ?</h2><hr/><p>Запись из архива можно в любой момент снова опубликовать.</p><p>При удалении записи будут так же удалены все прикрепленные изображения.</p></div>';
                        buttons1 = new Object({
                                                'В архив': function () {
                                                        jQuery(this).dialog("close");
                                                        doDelete(id, 0);
                                                },
                                                'Удалить': function () {
                                                        jQuery(this).dialog("close");
                                                        doDelete(id, 1);
                                                },
                                                'Отменить': function () {
                                                        jQuery(this).dialog("close");
                                                }
                                            });
                    } else {
                        var s_text = '<div><h2>Удалить запись '+id+' из архива ?</h2><hr/><p>Запись из архива можно в любой момент снова опубликовать.</p><p>При удалении записи будут так же удалены все прикрепленные изображения.</p></div>';
                        buttons1 = new Object({
                                                'Удалить': function () {
                                                        jQuery(this).dialog("close");
                                                        doDelete(id, 1);
                                                },
                                                'Отменить': function () {
                                                        jQuery(this).dialog("close");
                                                }
                                            });
                    }
                    
                    jQuery('<div></div>').appendTo('body')
                        .html(s_text)
                        .dialog({
                                modal: true,
                                title: 'Удаление',
                                zIndex: 10000,
                                autoOpen: true,
                                width: 'auto',
                                resizable: false,
                                buttons: buttons1,
                                close: function (event, ui) {
                                        jQuery(this).remove();
                                }
                        });
                }

                function doDelete(id, is_delete) {
                        var data = {
                                'action': 'tzs_delete_auction',
                                'id': id,
                                'is_delete': is_delete
                        };

                        jQuery.post(ajax_url, data, function(response) {
                                if (response == '1') {
                                        location.reload();
                                } else {
                                        alert('Не удалось удалить: '+response);
                                }
                        });
                }
                </script>
                <?php 
                build_pages_footer($page, $pages);
            }
        }
    }
    $output = ob_get_contents();
    ob_end_clean();
    return $output;
}
示例#9
0
function tzs_front_end_my_products_handler($atts)
{
    ob_start();
    global $wpdb;
    $user_id = get_current_user_id();
    $url = current_page_url();
    $page = current_page_number();
    $pp = TZS_RECORDS_PER_PAGE;
    $active = isset($_GET['active']) ? trim($_GET['active']) : '1';
    if ($user_id == 0) {
        ?>
            <div>Для просмотра необходимо <a href="/account/login/">войти</a> или <a href="/account/registration/">зарегистрироваться</a></div>
            <?php 
    } else {
        $sql = "SELECT COUNT(*) as cnt FROM " . TZS_PRODUCTS_TABLE . " WHERE user_id={$user_id} AND active={$active};";
        $res = $wpdb->get_row($sql);
        if (count($res) == 0 && $wpdb->last_error != null) {
            print_error('Не удалось отобразить список товаров/услуг. Свяжитесь, пожалуйста, с администрацией сайта');
        } else {
            $records = $res->cnt;
            $pages = ceil($records / $pp);
            if ($pages == 0) {
                $pages = 1;
            }
            if ($page > $pages) {
                $page = $pages;
            }
            $from = ($page - 1) * $pp;
            // Добавим отбор счетов и сортировку по ним для активных записей
            if ($active == 0) {
                $sql = "SELECT * FROM " . TZS_PRODUCTS_TABLE . "  WHERE user_id={$user_id} AND active={$active} ORDER BY created DESC LIMIT {$from},{$pp};";
            } else {
                $sql = "SELECT a.*,";
                $sql .= " b.id AS order_id,";
                $sql .= " b.number AS order_number,";
                $sql .= " b.status AS order_status,";
                $sql .= " b.dt_pay AS order_dt_pay,";
                $sql .= " b.dt_expired AS order_dt_expired,";
                $sql .= " IFNULL(b.dt_pay, a.created) AS dt_sort";
                $sql .= " FROM " . TZS_PRODUCTS_TABLE . " a";
                $sql .= " LEFT OUTER JOIN wp_tzs_orders b ON (b.tbl_type = 'PR' AND a.id = b.tbl_id AND ((b.status=1 AND b.dt_expired > NOW()) OR b.status=0) )";
                $sql .= " WHERE a.user_id={$user_id} AND a.active={$active}";
                $sql .= " ORDER BY order_status DESC, dt_sort DESC";
                $sql .= " LIMIT {$from},{$pp};";
            }
            $res = $wpdb->get_results($sql);
            if (count($res) == 0 && $wpdb->last_error != null) {
                print_error('Не удалось отобразить список товаров/услуг. Свяжитесь, пожалуйста, с администрацией сайта');
            } else {
                ?>
                <div id="my_products_wrapper">
                    <div id="my_products_table">
                        <table id="tbl_products">
                        <thead>
                            <tr id="tbl_thead_records_per_page">
                                <!--th colspan="10" id="thead_h1"-->
                                <!--th colspan="4" id="thead_h1"-->
                                <th colspan="4">
                                    <div class="div_td_left">
                                        <h3>Список <?php 
                echo $active === '1' ? 'публикуемых' : 'архивных';
                ?>
 товаров</h3>
                                    </div>
                                </th>
                                
                                <th colspan="6">
                                    <div id="my_products_button">
                                        <?php 
                if ($active === '1') {
                    ?>
                                            <button id="view_del" onClick="javascript: window.open('/account/my-products/?active=0', '_self');">Показать архивные</button>
                                        <?php 
                } else {
                    ?>
                                            <button id="view_edit" onClick="javascript: window.open('/account/my-products/?active=1', '_self');">Показать публикуемые</button>
                                        <?php 
                }
                ?>
                                        <button id="view_add" onClick="javascript: window.open('/account/add-product/', '_self');">Добавить товар</button>
                                    </div>
                                </th>
                            </tr>
                            <tr>
                                <th id="tbl_products_id">№, дата и время заявки</th>
                                <th id="tbl_products_sale">Покупка<br/>Продажа</th>
                                <th id="tbl_products_img">Фото</th>
                                <th id="tbl_products_dtc">Период публикации</th>
                                <th id="title">Описание товара</th>
                                <th id="price">Стоимость товара</th>
                                <th id="descr">Форма оплаты</th>
                                <th id="cities">Город</th>
                                <th id="comm">Комментарии</th>
                                <th id="actions" nonclickable="true">Действия</th>
                            </tr>
                        </thead>
                        <tbody>
                        <?php 
                foreach ($res as $row) {
                    ?>
                            <tr rid="<?php 
                    echo $row->id;
                    ?>
" <?php 
                    echo $row->order_status == 1 ? ' class="top_record"' : ($row->order_status !== null && $row->order_status == 0 ? ' class="pre_top_record"' : '');
                    ?>
 >
                                <td>
                                    <?php 
                    echo $row->id;
                    ?>
<br>
                                    <?php 
                    echo convert_time($row->created);
                    ?>
                                </td>
                                <td>
                                    <?php 
                    echo $row->sale_or_purchase == 1 ? 'Продажа' : 'Покупка';
                    ?>
<br><br>
                                    <?php 
                    echo $row->fixed_or_tender == 1 ? 'Цена зафиксирована' : 'Тендерное предложение';
                    ?>
                                </td>
                                <td>
                                    <?php 
                    if (strlen($row->image_id_lists) > 0) {
                        $main_image_id = $row->main_image_id;
                        // Вначале выведем главное изображение
                        $attachment_info = wp_get_attachment_image_src($main_image_id, 'full');
                        if ($attachment_info !== false) {
                            ?>
                                            <div class="ienlarger">
                                                <a href="#nogo">
                                                    <img src="<?php 
                            echo $attachment_info[0];
                            ?>
" alt="thumb" class="resize_thumb">
                                                    <span>
                                                        <?php 
                            echo htmlspecialchars($row->title);
                            ?>
<br/>
                                                        <img src="<?php 
                            echo $attachment_info[0];
                            ?>
" alt="large"/>
                                                    </span>
                                                </a>
                                            </div>
                                        <?php 
                        } else {
                            echo '&nbsp;';
                        }
                    } else {
                        echo '&nbsp;';
                    }
                    ?>
                                </td>
                                <td><?php 
                    echo convert_date($row->created) . '<br>' . convert_date($row->expiration);
                    ?>
</td>
                                <td><?php 
                    echo htmlspecialchars($row->title);
                    ?>
</td>
                                <td><?php 
                    echo $row->price . " " . $GLOBALS['tzs_pr_curr'][$row->currency];
                    ?>
</td>
                                <td><?php 
                    echo $GLOBALS['tzs_pr_payment'][$row->payment];
                    ?>
</td>
                                <td><?php 
                    echo tzs_city_to_str($row->from_cid, $row->from_rid, $row->from_sid, $row->city_from);
                    ?>
</td>
                                <td><?php 
                    echo htmlspecialchars($row->comment);
                    ?>
</td>
                                <td>
                                        <a href="javascript:doDisplay(<?php 
                    echo $row->id;
                    ?>
);" at="<?php 
                    echo $row->id;
                    ?>
" id="icon_set">Действия</a>
                                        <div id="menu_set" id2="menu" for="<?php 
                    echo $row->id;
                    ?>
" style="display:none;">
                                                <ul>
                                                        <a href="/account/view-product/?id=<?php 
                    echo $row->id;
                    ?>
&link=my-products&active=<?php 
                    echo $active;
                    ?>
">Смотреть</a>
                                                        <a href="/account/edit-product/?id=<?php 
                    echo $row->id;
                    ?>
">Изменить</a>
                                                    <?php 
                    if ($row->active && $row->order_status === null) {
                        ?>
                                                        <a href="javascript:promptPickUp(<?php 
                        echo $row->id;
                        ?>
, 'PR');">В ТОП</a>
                                                    <?php 
                    }
                    ?>
                                                        
                                                    <?php 
                    if ($row->active && $row->order_status !== null && $row->order_status == 0) {
                        ?>
                                                        <a href="/account/view-order/?id=<?php 
                        echo $row->order_id;
                        ?>
">Счет ТОП</a>
                                                    <?php 
                    }
                    ?>
                                                        <a href="javascript:promptDelete(<?php 
                    echo $row->id . ', ' . $row->active;
                    ?>
);" id="red">Удалить</a>
                                                </ul>
                                        </div>
                                </td>
                            </tr>
                        <?php 
                }
                ?>
                        </tbody>
                        </table>
                    </div>
                </div>
            
                <!-- Modal -->
                <!--div id="RecordPickUpModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
                    <div class="modal-header">
                        <button id="RecordPickUpModalCloseButton" type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                        <h3 id="myModalLabel">Поднятие объявления в ТОП</h3>
                    </div>
                    <div class="modal-body">
                        <h4>Создать счет на оплату услуг добавления заявки в ТОП ?</h4>
                        <form id="RecordPickUpForm" method="post" action="" class="pr_edit_form">
                            <div class="pr_edit_form_line">
                                <label for="order_tbl_type">Префикс таблицы</label>
                                <input type="text" id="order_tbl_type" name="order_tbl_type" value="" disabled="disabled">
                            </div>
                            <div class="pr_edit_form_line">
                                <label for="order_tbl_id">ID заявки</label>
                                <input type="text" id="order_tbl_id" name="order_tbl_id" value="" disabled="disabled">
                            </div>
                            <div class="pr_edit_form_line">
                                <label for="order_cost">Стоимость услуги, грн</label>
                                <input type="text" id="order_cost" name="order_cost" value="<?php 
                echo get_option('t3s_setting_record_pickup_cost');
                ?>
" disabled="disabled">
                            </div>
                        </form>
                        <div id="RecordPickUpInfo"></div>
                    </div>
                    <div class="modal-footer">
                        <button class="btn btn-default" data-dismiss="modal">Закрыть</button>
                        <button id="RecordPickUpSubmit" class="btn btn-primary" onClick="doPickUp();">Создать счет</button>
                    </div>
                </div-->

                <?php 
                include_once WP_PLUGIN_DIR . '/tzs/front-end/tzs.my.new_order.php';
                ?>
                
    <script src="/wp-content/plugins/tzs/assets/js/jquery.stickytableheaders.min.js"></script>
            <script>
/*                function promptPickUp(id, table_prefix) {
                    jQuery("#order_tbl_type").attr('value', table_prefix);
                    jQuery("#order_tbl_id").attr('value', id);
                    jQuery("#RecordPickUpModal").modal('show');
                }
                
                function doPickUp() {
                    jQuery("#RecordPickUpSubmit").attr('disabled', 'disabled');
                    jQuery('#RecordPickUpInfo').html('Подождите, идет формирование счета на оплату...');
                    //fd = jQuery('#RecordPickUpModal form#RecordPickUpForm').serialize();
                    fd = 'order_tbl_type=' + jQuery("#order_tbl_type").val() + '&order_tbl_id=' + jQuery("#order_tbl_id").val();
                    jQuery.ajax({
                        url: "/wp-admin/admin-ajax.php?action=tzs_order_add",
                        type: "POST",
                        data: fd,
                        dataType: 'json',
                        success: function(data) {
                            if ((data.output_error !== 'undefined') && (data.output_error !== '')) {
                                jQuery('#RecordPickUpInfo').html(data.output_error);
                            }
                            if ((data.order_id !== 'undefined') && (data.order_id !== '')) {
                                location.href = "<?php 
                //echo get_site_url();
                ?>
/account/view-order/?id=" + data.order_id + "&spis=new";
                            }
                        },
                        error: function(data) {
                            if (data.responseText !== 'undefined') {
                                jQuery('#RecordPickUpInfo').html(data.responseText);
                            }
                        }			
                    });
                    
                }
*/                
                function doDisplay(id) {
                        var el = jQuery('div[for='+id+']');
                        if (el.attr('style') == null) {
                                el.attr('style', 'display:none;');
                                jQuery('a[at='+id+']').attr('id', 'icon_set');
                        } else {
                                el.removeAttr('style');
                                jQuery('a[at='+id+']').attr('id', 'icon_set_cur');
                        }
                        jQuery("div[id2=menu]").each(function(i) {
                                var id2 = this.getAttribute('for');
                                if (id2 != ''+id) {
                                        this.setAttribute('style', 'display:none;');
                                        jQuery('a[at='+id2+']').attr('id', 'icon_set');
                                }
                        });
                }

                function promptDelete(id, active) {
                    if (active === 1) {
                        var s_text = '<div><h2>Удалить запись '+id+' или перенести в архив ?</h2><hr/><p>Запись из архива можно в любой момент снова опубликовать.</p><p>При удалении записи будут так же удалены все прикрепленные изображения.</p></div>';
                        buttons1 = new Object({
                                                'В архив': function () {
                                                        jQuery(this).dialog("close");
                                                        doDelete(id, 0);
                                                },
                                                'Удалить': function () {
                                                        jQuery(this).dialog("close");
                                                        doDelete(id, 1);
                                                },
                                                'Отменить': function () {
                                                        jQuery(this).dialog("close");
                                                }
                                            });
                    } else {
                        var s_text = '<div><h2>Удалить запись '+id+' из архива ?</h2><hr/><p>Запись из архива можно в любой момент снова опубликовать.</p><p>При удалении записи будут так же удалены все прикрепленные изображения.</p></div>';
                        buttons1 = new Object({
                                                'Удалить': function () {
                                                        jQuery(this).dialog("close");
                                                        doDelete(id, 1);
                                                },
                                                'Отменить': function () {
                                                        jQuery(this).dialog("close");
                                                }
                                            });
                    }
                        jQuery('<div></div>').appendTo('body')
                                .html(s_text)
                                .dialog({
                                        modal: true,
                                        title: 'Удаление',
                                        zIndex: 10000,
                                        autoOpen: true,
                                        width: 'auto',
                                        resizable: false,
                                        buttons: buttons1,
                                        close: function (event, ui) {
                                                jQuery(this).remove();
                                        }
                                });
                }

                function doDelete(id, is_delete) {
                        var data = {
                                'action': 'tzs_delete_product',
                                'id': id,
                                'is_delete': is_delete
                        };

                        jQuery.post(ajax_url, data, function(response) {
                                if (response == '1') {
                                        location.reload();
                                } else {
                                        alert('Не удалось удалить: '+response);
                                }
                        });
                }
                
                jQuery(document).ready(function(){
                        jQuery('table').on('click', 'td', function(e) {  
                                var nonclickable = 'true' == e.delegateTarget.rows[1].cells[this.cellIndex].getAttribute('nonclickable');
                                var id = this.parentNode.getAttribute("rid");
                                if (!nonclickable)
                                        document.location = "/account/view-product/?id="+id+"&link=my-products&active=<?php 
                echo $active;
                ?>
";
                        });
                        
                        jQuery("#tbl_products").stickyTableHeaders();
                });

            </script>
                <?php 
                build_pages_footer($page, $pages);
            }
        }
    }
    $output = ob_get_contents();
    ob_end_clean();
    return $output;
}
示例#10
0
function tzs_front_end_auctions_handler($atts)
{
    // Определяем атрибуты
    // [tzs-view-auctions rootcategory="1"] - указываем на странице раздела
    // [tzs-view-auctions] - указываем на страницах подразделов
    extract(shortcode_atts(array('rootcategory' => '0'), $atts, 'tzs-view-auctions'));
    ob_start();
    $p_id = get_the_ID();
    $p_title = the_title('', '', false);
    // Если указан параметр rootcategory, то выводим все товары раздела
    // Иначе - товары категории
    if ($rootcategory === '1') {
        $sql1 = ' AND type_id IN (' . tzs_build_product_types_id_str($p_id) . ')';
        $p_name = '';
    } else {
        $sql1 = ' AND type_id=' . $p_id;
        $p_name = get_post_field('post_name', $p_id);
    }
    $sp = tzs_validate_pr_search_parameters();
    $errors = $sp['errors'];
    if (count($errors) > 0) {
        print_errors($errors);
    }
    ?>
	<a href="javascript:showSearchDialog();" id="edit_search">Изменить параметры поиска</a>
    <?php 
    if (count($errors) == 0) {
        $s_sql = tzs_search_pr_parameters_to_sql($sp, '');
        $s_title = tzs_search_pr_parameters_to_str($sp);
        ?>
            <div id="search_info"><?php 
        echo $p_title;
        echo strlen($s_title) > 0 ? ' * ' . $s_title : '';
        ?>
</div>
	<?php 
        $page = current_page_number();
        ?>
	<a tag="page" id="realod_btn" href="<?php 
        echo build_page_url($page);
        ?>
">Обновить</a>
	<?php 
        global $wpdb;
        $url = current_page_url();
        $pp = TZS_RECORDS_PER_PAGE;
        $sql = "SELECT COUNT(*) as cnt FROM " . TZS_AUCTIONS_TABLE . " WHERE active=1 {$sql1} {$s_sql};";
        $res = $wpdb->get_row($sql);
        if (count($res) == 0 && $wpdb->last_error != null) {
            print_error('Не удалось отобразить список тендеров. Свяжитесь, пожалуйста, с администрацией сайта');
        } else {
            $records = $res->cnt;
            $pages = ceil($records / $pp);
            if ($pages == 0) {
                $pages = 1;
            }
            if ($page > $pages) {
                $page = $pages;
            }
            $from = ($page - 1) * $pp;
            $sql = "SELECT a.*,(SELECT COUNT(*) FROM " . TZS_AUCTION_RATES_TABLE . " c WHERE c.auction_id = a.id) AS rate_count FROM " . TZS_AUCTIONS_TABLE . " a  WHERE a.active=1 {$sql1} {$s_sql} ORDER BY a.created DESC LIMIT {$from},{$pp};";
            $res = $wpdb->get_results($sql);
            if (count($res) == 0 && $wpdb->last_error != null) {
                print_error('Не удалось отобразить список тендеров. Свяжитесь, пожалуйста, с администрацией сайта.');
            } else {
                if (count($res) == 0) {
                    ?>
                    <div style="clear: both;"></div>
                    <div class="errors">
                        <div id="info error">По Вашему запросу ничего не найдено.</div>
                    </div>
                    <?php 
                } else {
                    ?>
                    <div>
                        <table id="tbl_products">
                        <tr>
                            <th id="tbl_products_id">Номер</th>
                            <th id="tbl_auctions_lot">Тип<br>Кол-во ставок</th>
                            <th id="tbl_products_img">Фото</th>
                            <th id="tbl_products_dtc">Дата размещения<br>Дата окончания</th>
                            <th id="tbl_auctions_title">Описание</th>
                            <th id="tbl_auctions_copies">Кол-во</th>
                            <th id="tbl_products_price">Цена за единицу</th>
                            <th id="tbl_products_payment">Форма оплаты</th>
                            <th id="tbl_products_cities">Город</th>
                            <th id="tbl_products_comm">Комментарии</th>
                        </tr>
                        <?php 
                    foreach ($res as $row) {
                        ?>
                            <tr rid="<?php 
                        echo $row->id;
                        ?>
" id="<?php 
                        echo $row->is_lot == 1 ? 'tbl_auctions_tr_lot_1' : 'tbl_auctions_tr_lot_0';
                        ?>
">
                                <td><?php 
                        echo $row->id;
                        ?>
</td>
                                <td><?php 
                        echo $row->is_lot == 1 ? 'Продам' : 'Куплю';
                        ?>
<br><br><?php 
                        echo 'Ставок-' . $row->rate_count;
                        ?>
</td>
                                <td>
                                    <?php 
                        if (strlen($row->image_id_lists) > 0) {
                            $main_image_id = $row->main_image_id;
                            // Вначале выведем главное изображение
                            $attachment_info = wp_get_attachment_image_src($main_image_id, 'full');
                            if ($attachment_info !== false) {
                                ?>
                                            <div class="ienlarger">
                                                <a href="#nogo">
                                                    <img src="<?php 
                                echo $attachment_info[0];
                                ?>
" alt="thumb" class="resize_thumb">
                                                    <span>
                                                        <?php 
                                echo htmlspecialchars($row->title);
                                ?>
<br/>
                                                        <img src="<?php 
                                echo $attachment_info[0];
                                ?>
" alt="large"/>
                                                    </span>
                                                </a>
                                            </div>
                                        <?php 
                            } else {
                                echo '&nbsp;';
                            }
                        } else {
                            echo '&nbsp;';
                        }
                        ?>
                                </td>
                                <td><?php 
                        echo convert_date($row->created);
                        ?>
<br><?php 
                        echo convert_date($row->expiration);
                        ?>
</td>
                                <td><?php 
                        echo htmlspecialchars($row->title);
                        ?>
</td>
                                <td><?php 
                        echo $row->copies . " " . $GLOBALS['tzs_au_unit'][$row->unit];
                        ?>
</td>
                                <td><?php 
                        echo $row->price . " " . $GLOBALS['tzs_pr_curr'][$row->currency];
                        ?>
</td>
                                <td><?php 
                        echo $GLOBALS['tzs_pr_payment'][$row->payment];
                        ?>
</td>
                                <td><?php 
                        echo tzs_city_to_str($row->from_cid, $row->from_rid, $row->from_sid, $row->city_from);
                        ?>
</td>
                                <td><?php 
                        echo htmlspecialchars($row->comment);
                        ?>
</td>
                            </tr>
                            <?php 
                    }
                    ?>
                        </table>
                    </div>
                <?php 
                }
                build_pages_footer($page, $pages);
            }
        }
    }
    ////
    ?>
        <script src="/wp-content/plugins/tzs/assets/js/search.js"></script>
        <script>
                var post = [];
                <?php 
    echo "// POST dump here\n";
    foreach ($_POST as $key => $value) {
        echo "post[" . tzs_encode2($key) . "] = " . tzs_encode2($value) . ";\n";
    }
    if (!isset($_POST['type_id'])) {
        echo "post[" . tzs_encode2("type_id") . "] = " . tzs_encode2($p_id) . ";\n";
    }
    if (!isset($_POST['cur_type_id'])) {
        echo "post[" . tzs_encode2("cur_type_id") . "] = " . tzs_encode2($p_id) . ";\n";
    }
    if (!isset($_POST['cur_post_name']) && $p_name !== '') {
        echo "post[" . tzs_encode2("cur_post_name") . "] = " . tzs_encode2($p_name) . ";\n";
    }
    ?>

                function showSearchDialog() {
                        doSearchDialog('auctions', post, null);
                }

                jQuery(document).ready(function(){
                        jQuery('#tbl_products').on('click', 'td', function(e) {  
                                var nonclickable = 'true' == e.delegateTarget.rows[0].cells[this.cellIndex].getAttribute('nonclickable');
                                var id = this.parentNode.getAttribute("rid");
                                if (!nonclickable)
                                        document.location = "/account/view-auction/?id="+id;
                        });
                        hijackLinks(post);
                });
        </script>
	<?php 
    $output = ob_get_contents();
    ob_end_clean();
    return $output;
}