Exemple #1
0
function share_system_rules_data()
{
    global $_G;
    $rid = intval($_GET['id']);
    if (!$rid) {
        exit('error');
    }
    $client_info = get_client_info();
    if (!$client_info) {
        return milu_lang('share_no_allow');
    }
    $rules_data = get_rules_info($rid);
    if (!$rules_data) {
        exit('error');
    }
    $rpcClient = rpcClient();
    unset($rules_data['rid']);
    $rules_data['rules_name'] = $_GET['rules_name'];
    $rules_data['rule_desc'] = $_GET['rules_desc'];
    $re = $rpcClient->upload_data('rule', $rules_data, $client_info);
    if (is_object($re) || $data->Number == 0) {
        if ($re->Message) {
            return milu_lang('phprpc_error', array('msg' => $re->Message));
        }
        $re = (array) $re;
    }
    $re = is_array($re) ? $re[0] : $re;
    if ($re < 0) {
        return $re;
    } else {
        return 'ok';
    }
}
function common_ticket($vars, $pre)
{
    $options = get_options();
    $ticketid = $vars['ticketid'];
    $userid = $vars['userid'];
    $user = get_client_info($userid);
    $ticket = get_ticket_info($ticketid);
    if (!$user || !$ticket) {
        return;
    }
    $msg = $pre . $ticket['tid'] . ' from ' . $user['lastname'] . ' ' . $user['firstname'] . '(' . $user['email'] . ')';
    $url = $options['whmcs_host'] . '/supporttickets.php?action=view&id=' . $ticketid;
    $attach = [array('title' => $ticket['subject'], 'text' => $url)];
    send_mesage($options['channel_tickets'], $msg, $attach);
}
Exemple #3
0
function cloud_match_rules($get_type, $url, $content)
{
    global $_G;
    pload('F:fastpick');
    $setting = get_pick_set();
    $pick_config = $_G['cache']['evn_milu_pick']['pick_config'];
    $server_cache_time = $pick_config['index_server_cache_time'];
    if ($get_type == '3') {
        //智能学习规则索引过期时间比较短
        $server_cache_time = $pick_config['evo_index_server_cache_time'];
    }
    $milu_set = pick_common_get();
    if ($setting['open_cloud_pick'] != 1) {
        return FALSE;
    }
    pload('F:copyright');
    $host_info = GetHostInfo($url);
    $domain = $host_info['host'];
    $domain_hash = md5($domain);
    $url_temp = preg_replace('/\\d+/', '', $url);
    $arr_temp = parse_url($url_temp);
    $path_hash = md5($arr_temp['path']);
    $over_dateline = $_G['timestamp'] - $server_cache_time;
    $count = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('strayer_searchindex') . " WHERE  domain_hash='" . $domain_hash . "' AND path_hash='" . $path_hash . "' AND type='" . $get_type . "3' AND dateline > {$over_dateline}"), 0);
    //3是服务端 4是本地的缓存
    if ($count) {
        return FALSE;
    }
    $args = array('get_type' => $get_type, 'url' => $url);
    $rpcClient = rpcClient();
    $client_info = get_client_info();
    $re = $rpcClient->cloud_match_rules($args, $client_info);
    if (is_object($re) || $re->Number == 0) {
        if ($re->Message) {
            return milu_lang('phprpc_error', array('msg' => $re->Message));
        }
        $re = (array) $re;
    }
    $data = array();
    if ($re['data_type'] == 1) {
        //返回规则
        $rules_info = $re['data'];
        if ($get_type == 3) {
            $data = evo_rules_get_article($content, $rules_info);
        } else {
            $data = rules_get_article($content, $rules_info);
        }
        if ($data || $data['content'] && $get_type == 3) {
            //规则验证有效,下载到本地
            if ($get_type == 3) {
                $data_id = import_evo_data($rules_info);
            } else {
                $data_id = import_fastpick_data($rules_info);
            }
            if ($data_id) {
                //先清除之前的索引
                DB::query('DELETE FROM ' . DB::table('strayer_searchindex') . " WHERE domain_hash='" . $domain_hash . "' AND path_hash='" . $path_hash . "'");
                add_search_index($domain_hash, $path_hash, $get_type . '4', $data_id);
                //添加索引
            }
        }
    } else {
        if ($re['data_type'] == 2) {
            //返回内容
            $data = $re['data'];
        } else {
            //一无所获,那也要告诉客户端,别再骚扰服务端了
            add_search_index($domain_hash, $path_hash, $get_type . '3', 0);
        }
    }
    return $data;
}
Exemple #4
0
<div class="column span-24">
<h6 style="text-align: center;">11. Інформація про Турагента</h6>
11.1. Фінансове забезпечення цивільної відповідальності Турагента підтверджується банківською гарантією на суму еквівалентну 20.000 (двадцять тисячі) євро, яка видана ВАТ „Торговельно-фінансовим банком „Контракт” відповідно до умов Договору про надання банківської гарантії виконання зобов’язань за  №469/08-Г від 08.06.2008р.<br>
11.2. Банківською гарантією забезпечується відповідальність Турагента перед Туристом згідно цього Договору лише за умови виникнення обставин банкрутства чи неплатоспроможності Турагента, які пов’язані з необхідністю відшкодування вартості ненаданих посередницьких послуг, передбачених Договором, що спрямовані на продаж туристичного продукту Туроператора, вказаного у цьому Договорі.<br>
11.3. Туристичні послуги, які входять до вартості туристичного продукту не належать Турагенту, а реалізуються Турагентом за дорученням, від імені та в інтересах Туроператора, згідно з умовами агентського договору, укладеного з Туроператором. <br>
11.4. Всі кошти, отримані Турагентом від Туриста, крім агентської винагороди, не належать на праві власності Турагенту і є транзитними та підлягають подальшому перерахуванню Туроператору, згідно з умовами та в порядку встановленому в агентському договорі з Туроператором.<br>
</div>
<br><br>
<div class="column span-24">
<h6 style="text-align: center;">12. Термін дії Договору</h6>
12.1 Цей Договір вважається укладеним з моменту підписання його Сторонами і оплати Туристом повної вартості замовлених послуг та діє до дати закінчення туристичної подорожі та виконання зобов’язань Сторонами Договору.<br>
</div>
<div class="column span-24">
<h6 style="text-align: center;">13. Місцезнаходження, реквізити та підписи Сторін</h6>
</div>
<div class="column span-12">
<h6 style="text-align: center;">Турагент</h6>
<?=get_constant('COMPANY_NAME')?><br>
<?=get_constant('EDRPUO')?><br>
<?=get_constant('RECVISITS')?><br>
<br><br><br>
Директор                              <?=get_constant('DIRECTOR')?><br>   
<br>
М.П.
</div>
<div class="column span-12 last">
<h6 style="text-align: center;">Турист/Замовник</h6>
<?$demander_info = get_client_info($demander->_clients_rid)?>
<?=$demander_info->l_name?> <?=$demander_info->f_name?> <?=$demander_info->s_name?><br>
</div>
</div>
Exemple #5
0
                $pa = get_user_val('priv_add_client');
                if ($pa == 1) {
                    $r['priv'] = true;
                }
                if ($pa == 0) {
                    $r['priv'] = false;
                }
                $r['msg_error'] = "<div class=\"alert alert-danger alert-dismissible\" role=\"alert\">\n  <button type=\"button\" class=\"close\" data-dismiss=\"alert\"><span aria-hidden=\"true\">&times;</span><span class=\"sr-only\">Close</span></button>\n  " . lang('TICKET_error_msg') . "\n</div>";
            }
            $row_set[] = $r;
            echo json_encode($row_set);
        }
        if ($mode == "get_client_from_new_t") {
            if (isset($_POST['get_client_info'])) {
                $client_id = $_POST['get_client_info'];
                get_client_info($client_id);
            }
            if (isset($_POST['new_client_info'])) {
                $fio = $_POST['new_client_info'];
                $u_l = $_POST['new_client_login'];
                ?>


                <div id="" class="alert alert-warning alert-dismissable" style="padding: 5px; margin-bottom: 10px;">
                    <button style="right: 0px;" type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
                    <small>
                        <?php 
                echo lang('msg_created_new_user');
                ?>
 <br></small>
                </div>
function download_fast_pick_data()
{
    $id = intval($_GET['id']);
    $rpcClient = rpcClient();
    $client_info = get_client_info();
    $re = $rpcClient->download_data('fastpick', $id, $client_info);
    if (is_object($re) || $re->Number == 0) {
        if ($re->Message) {
            return milu_lang('phprpc_error', array('msg' => $re->Message));
        }
        $re = (array) $re;
    }
    $re = serialize_iconv($re);
    import_fastpick_data($re);
    return 'ok';
}
Exemple #7
0
function pick_match_coloud_rules($url, $get_type = 2)
{
    $args = array('get_type' => $get_type, 'url' => $url);
    $rpcClient = rpcClient();
    $client_info = get_client_info();
    $re = $rpcClient->cloud_match_rules($args, $client_info);
    if (is_object($re) || $re->Number == 0) {
        if ($re->Message) {
            return milu_lang('phprpc_error', array('msg' => $re->Message));
        }
        $re = (array) $re;
    }
    return $re;
}
Exemple #8
0
 /******************** before edit end ********************/
 /******************** after edit start ********************/
 $frm = $GUI->Form("Содержание заказа после изменений", 650);
 $ypos = 10;
 $is_author = is_author($_SESSION["user"]["data"]['id']);
 if ($is_author) {
     $h = 800;
 } else {
     $h = 1100;
 }
 $frm->VLine(10, $h - 80, 630);
 $frm->height = $h;
 $b = $frm->Button("К списку", 275, $h - 60, 100);
 $b->Event = "document.location.href=\"?section=ord&subsection=2&order=" . $_REQUEST['order'] . "&p=5\"";
 if (!$is_author) {
     $klient = get_client_info($order_change_history['klient_id_new']);
     $frm->Label("Клиент: <b>" . $klient["fio"] . "</b>", 10, $ypos);
     $ypos += 20;
     $frm->Label("Почта: <b>" . $klient["email"] . "</b>", 10, $ypos);
     $ypos += 20;
     $frm->Label("Телефон: <b>" . $klient["telnum"] . "</b>", 10, $ypos);
     $ypos += 20;
     $s = $frm->Hidden($klient["id"]);
     //0
     $s->linkName = "client";
     $b = $frm->Button("Инфо", 560, $ypos - 32, 70);
     $b->Event = 'var id= jQuery("#' . $s->idname . '").val(); if(id!=0) window.open("?section=kln&subsection=2&edit="+id);';
     $frm->VLine(10, $ypos, 630);
     $ypos += 10;
 }
 $frm->Label("ВУЗ", 10, $ypos);
Exemple #9
0
function record_url($url, &$md5, &$cvec)
{
    if (function_exists('sys_get_temp_dir')) {
        $tmpdir = sys_get_temp_dir();
    } else {
        $tmpdir = '/tmp';
    }
    $dfn = tempnam($tmpdir, 'similar-' . md5(uniqid(mt_rand(), TRUE)));
    register_shutdown_function('remove_tmpfile', $dfn);
    if (($dfp = fopen($dfn, 'w')) == FALSE) {
        display_form();
        display_error('Unable to create the temporary file');
        return FALSE;
    }
    if (($fp = fopen($url, 'r')) == FALSE) {
        display_form();
        display_error('Unable to open: [' . $url . ']');
        return FALSE;
    }
    $f = fread($fp, 4096);
    $written = strlen($f);
    if (empty($f)) {
        display_form();
        display_error('Unable to load: [' . $url . ']');
        return FALSE;
    }
    fwrite($dfp, $f);
    $infos = @getimagesize($dfn);
    if (empty($infos) || $infos[2] !== IMAGETYPE_GIF && $infos[2] !== IMAGETYPE_JPEG && $infos[2] !== IMAGETYPE_PNG || $infos[0] < 50 || $infos[1] < 50) {
        fclose($dfp);
        display_form();
        display_error('Unsupported image format');
        return FALSE;
    }
    fseek($dfp, strlen($f));
    while (!feof($fp)) {
        $max = MAX_IMAGE_SIZE - $written;
        if ($max > 65536) {
            $max = 65536;
        }
        $t = fread($fp, $max);
        fwrite($dfp, $t);
        $written += strlen($t);
        if ($written > MAX_IMAGE_SIZE) {
            fclose($dfp);
            display_form();
            display_error('File too large');
            return FALSE;
        }
    }
    unset($t);
    fclose($dfp);
    display_loaded();
    $md5 = @md5_file($dfn);
    if (empty($md5)) {
        display_form();
        display_error('Unable to get the MD5 of the file');
        return FALSE;
    }
    $cvec = puzzle_fill_cvec_from_file($dfn);
    if (empty($cvec)) {
        display_form();
        display_error('Unable to compute image signature');
        return FALSE;
    }
    display_signature_ok();
    save_signature($url, get_client_info(), $md5, $cvec);
    return TRUE;
}
 function evo_set($info)
 {
     global $_G;
     if (!$info) {
         return;
     }
     if (strlen($info['text']['html']) < 200 || strlen($info['title']['html']) < 10) {
         return;
     }
     //标题和内容太短都不行
     $link_count = own_link_count($info['text']['html'], $this->url);
     if ($link_count > 10) {
         return FALSE;
     }
     //有10个指向自己的链接,就不行
     $milu_set = pick_common_get();
     if ($milu_set['fp_open_evo'] != 1) {
         return FALSE;
     }
     $text_info = $this->dom_info_arr[$info['text']['key']];
     $title_info = $this->dom_info_arr[$info['title']['key']];
     $text_info['html'] = $info['text']['html'];
     $title_info['html'] = $info['title']['html'];
     $info['title_split_arr'] = $this->get_split_arr($title_info);
     $info['text_split_arr'] = $split_arr = $this->get_split_arr($text_info);
     unset($text_info['outertext'], $text_info['parent']['outertext'], $title_info['outertext'], $title_info['parent']['outertext'], $text_info['html'], $title_info['html']);
     if (strlen($split_arr[0]) < 14) {
         return FALSE;
     }
     pload('F:copyright');
     $host_info = GetHostInfo($this->url);
     $domain = $host_info['host'];
     $domain_hash = md5($domain);
     if (preg_match('/\\d+/', $split_arr[0])) {
         $s_arr = preg_split("/[\\d]+/", $split_arr[0]);
         $split_arr[0] = $s_arr[0];
         foreach ((array) $s_arr as $k => $v) {
             if (strlen($v) > strlen($split_arr[0])) {
                 $split_arr[0] = $v;
             }
         }
     }
     if (!$title_info) {
         return FALSE;
     }
     $result_info['evo_title_info'] = $title_info;
     $setarr = array('content_get_type' => 0, 'detail_ID' => $split_arr[0], 'detail_ID_hash' => md5($split_arr[0]), 'detail_ID_test' => $this->url, 'content_rules' => '', 'evo_text_info' => serialize($text_info), 'evo_title_info' => serialize($title_info), 'domain_hash' => $domain_hash, 'domain' => $domain, 'status' => 0, 'dateline' => $_G['timestamp']);
     $setarr = paddslashes($setarr);
     $base_sql = "SELECT * FROM " . DB::table('strayer_evo') . " WHERE domain_hash='{$domain_hash}' AND detail_ID_hash='" . $setarr['detail_ID_hash'] . "' AND status=0";
     $data_info = DB::fetch_first($base_sql . " AND detail_ID_test!='{$this->url}'");
     $data_info = pstripslashes($data_info);
     if (!$data_info) {
         //还没有资料
         if (!($check = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('strayer_evo') . " WHERE domain_hash='{$domain_hash}' AND detail_ID_hash='" . $setarr['detail_ID_hash'] . "' AND status=0 AND detail_ID_test='{$this->url}'"), 0))) {
             DB::insert('strayer_evo', $setarr, TRUE);
         }
         $result_info['status'] = 'no';
         return $result_info;
     } else {
         //有了资料
         $title_rules = $this->get_rules($info, $title_info, $data_info, 'title');
         $text_rules = $this->get_rules($info, $text_info, $data_info, 'text');
         //删除之前的一些记录,防止没有索引的情况下重复生成规则
         $check_info = DB::fetch_first("SELECT * FROM " . DB::table('strayer_evo') . " WHERE domain_hash='{$domain_hash}' AND detail_ID_hash='" . $setarr['detail_ID_hash'] . "' AND status=1");
         DB::query('DELETE FROM ' . DB::table('strayer_evo') . " WHERE id='{$check_info['id']}'");
         DB::query('DELETE FROM ' . DB::table('strayer_searchindex') . " WHERE id='{$check_info['id']}' AND type='34'");
         if ($text_rules) {
             $setarr = array('content_get_type' => $text_rules['get_type'], 'content_rules' => $text_rules['rules'], 'theme_get_type' => $title_rules['get_type'], 'theme_rules' => $title_rules['rules'], 'status' => 1);
             DB::update("strayer_evo", $setarr, array("id" => $data_info['id']));
             $pash_hash = get_path_hash($this->url);
             add_search_index($domain_hash, $path_hash, 34, $data_info['id']);
             //添加索引 4是本地缓存
             $pick_set = get_pick_set();
             if ($pick_set['open_cloud_pick'] == 1) {
                 //开启云采集,将规则上传到服务端
                 $rpcClient = rpcClient();
                 unset($setarr['status']);
                 $data_info['content_get_type'] = $setarr['content_get_type'];
                 $data_info['content_rules'] = $setarr['content_rules'];
                 $data_info['theme_get_type'] = $setarr['theme_get_type'];
                 $data_info['theme_rules'] = $setarr['theme_rules'];
                 $client_info = get_client_info();
                 $re = $rpcClient->upload_evo_data($data_info, $client_info);
             }
             del_search_index(3);
             $result_info['status'] = 'ok';
             return $result_info;
         }
     }
 }
function pick_install()
{
    global $_G;
    $tmpdir = DISCUZ_ROOT . './data/download/dxc_temp';
    if (!is_dir($tmpdir)) {
        cpmsg(milu_lang('cloudaddons_download_error'), '', 'error');
        //数据下载错误
    }
    $_GET['type'] = 'plugin';
    $_GET['key'] = 'milu_pick';
    $to_version = $_GET['version'];
    $to_version_dateline = $_GET['version_dateline'];
    if (!libfile('function/cloudaddons')) {
        exit('error01:file not found');
    }
    require_once libfile('function/cloudaddons');
    $descdir = DISCUZ_ROOT . 'source/plugin/';
    $subdir = 'milu_pick';
    $unwriteabledirs = cloudaddons_dirwriteable($descdir, $subdir, $tmpdir);
    if ($unwriteabledirs) {
        //目录不可写
        showtips(milu_lang('cloudaddons_unwriteabledirs', array('basedir' => 'source/plugin', 'unwriteabledirs' => implode(', ', $unwriteabledirs))));
        exit;
    }
    $descdir .= $subdir;
    cloudaddons_comparetree($tmpdir, $descdir, $tmpdir, $_GET['key'] . '.' . $_GET['type'] . 'vip', 1);
    if (!empty($_G['treeop']['oldchange']) && empty($_GET['confirmed'])) {
        cpmsg(milu_lang('cloudaddons_install_files_changed', array('files' => implode('<br />', $_G['treeop']['oldchange']))), '', 'form', '');
    }
    cloudaddons_copytree($tmpdir, $descdir);
    $client_info = get_client_info();
    $_GET['end'] = 'Status=End&ID=milu_pick_vip.plugin&SN=' . $client_info['domain'] . '&RevisionID=' . $client_info['domain'] . '&RevisionDateline=' . $client_info['domain'];
    cloudaddons_savemd5($_GET['key'] . '.' . $_GET['type'] . 'vip', $_GET['end'], $_G['treeop']['md5']);
    cloudaddons_deltree($tmpdir);
    //成功之后的一些动作
    $set['pick_tips']['check_version'] = 0;
    pick_common_set($set);
    $charset = str_replace('-', '', strtoupper($_G['config']['output']['charset']));
    $locale = '';
    if ($charset == 'BIG5') {
        $locale = 'TC';
    } elseif ($charset == 'GBK') {
        $locale = 'SC';
    } elseif ($charset == 'UTF8') {
        if ($_G['config']['output']['language'] == 'zh_cn') {
            $locale = 'SC';
        } elseif ($_G['config']['output']['language'] == 'zh_tw') {
            $locale = 'TC';
        }
    }
    $xml_ext = 'discuz_plugin_milu_pick_' . $locale . '_' . $charset . '.xml';
    $xml_file = $descdir . '/' . $xml_ext;
    if (!file_exists($xml_file)) {
        cpmsg(milu_lang('xml_no_found', array('f' => $xml_ext)), '', 'error');
    }
    //xml文件丢失
    require_once libfile('class/xml');
    $data = file_get_contents($xml_file);
    $data_arr = xml2array($data);
    $xml_data = exportarray($data_arr['Data'], 0);
    $installtype = $locale . '_' . $charset;
    pluginupgrade($xml_data, $installtype);
    $auth_file = PICK_DIR . '/data/pick_auth.txt';
    $upgrade_file = $descdir . '/upgrade.php';
    if (file_exists($upgrade_file)) {
        $_GET['fromversion'] = PICK_VERSION;
        include $upgrade_file;
        if (!$finish) {
            cpmsg_error(milu_lang('up_fail'));
        }
    }
    @unlink($auth_file);
    cpmsg('plugins_upgrade_succeed', PICK_GO . "pick_info", 'succeed', array('toversion' => $to_version . ' ' . $to_version_dateline));
}
Exemple #12
0
{
    $url = trim($raw_url);
    $url = preg_replace('/(^' . preg_quote('http://' . $_SERVER['HTTP_HOST'], '/') . ')(.*)/', '\\2', $url);
    $url = preg_replace('/#[^\\?]*/', '', $url);
    $pos = strpos($url, '?');
    if ($pos !== false) {
        $url = preg_replace('/PHPSESSID=[^&]*/', '', $url);
        if ($pos == strlen($url) - 1) {
            $url = rtrim($url, '?');
        }
    }
    $url = rtrim($url, '/');
    return $url;
}
$db =& db_factory::instance();
$client_info = get_client_info();
$ip = $client_info['ip'];
//converting ip to integer
$ip_pieces = explode('.', $ip);
$int_ip = 0;
for ($i = 3; $i >= 0; $i--) {
    $int_ip = $int_ip + ($ip_pieces[$i] << $i * 8);
}
$time = time();
$time_arr = getdate($time);
$page_url = $_REQUEST['pg'];
$page_url = _clean_url($page_url);
//cleaning referer
$page_referer = $_REQUEST['r'];
$page_referer = _clean_url($page_referer);
//collecting client specific stuff
Exemple #13
0
<div class="column span-8" style="text-align: left; border: 1px solid #000000; padding: 3px;">
	<b>Страховка</b>
</div>
<div class="column span-10 last" style="text-align: left; border: 1px solid #000000; border-left: none; padding: 3px;">
	<?=$ds->cif?>&nbsp;
</div>
<br><br>
<div class="column span-24 last" style="text-align: left; padding: 3px;">
	Додатково: <?=$ds->excursions?>
</div>
<div class="column span-24 last" style="text-align: left; padding: 3px;">
	Загальна вартість туристичних послуг (цифрами та прописом): <?=$ds->sum?> (<?=num2str($ds->sum)?>)
</div>
<div class="column span-24 last" style="text-align: left; padding: 3px;">
	Телефони (дом., моб.): <?$demander_info = get_client_info($demander->_clients_rid)?><?=$demander_info->phones?>
</div>

<div class="column span-12" style="text-align: left;margin-top: 30px;">
	ВІДПОВІДАЛЬНИЙ МЕНЕДЖЕР<br>
	<br>
	
	________________________/<?=get_curr_uname()?>/
	
	<br><br>
	М.П.
</div>

<div class="column span-12 last" style="text-align: left;margin-top: 30px;">
	КЛІЄНТ<br>
	<br>