1
Changeset 8495cd0 – MultiMag

Changeset 8495cd0


Ignore:
Timestamp:
Apr 9, 2011, 8:39:41 PM (12 years ago)
Author:
Blacklight <blacklight@…>
Branches:
master
Children:
f2000c1
Parents:
b4d90bb
Message:
  • Раздел "Возможности" переименован в "личный кабинет"
  • Добавлена возможность редактирования данных пользователя и просмотра заказа
  • Изменено место хранения реквизитов заказа
  • При ошибке 404 в журнале ошибок теперь отображается запрос, который привёл к ошибке - #180
  • В некоторые документы добавлен флаг "документы подписаны и получены" - #181
  • Убраны ссылки на несуществующие скрипты
  • В журналах (ошибок и счётчике) имя скрипта заменено на ссылку на объект
Location:
web
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • web/core.php

    rb4d90bb r8495cd0  
    6060$rf=getenv("HTTP_REFERER");
    6161$qq=$_SERVER['QUERY_STRING'];
    62 $ff=$_SERVER['PHP_SELF'];
     62$ff=$_SERVER['REQUEST_URI'];
    6363$tim=time();
    6464$skidka="";
     
    7070        $ag=getenv("HTTP_USER_AGENT");
    7171        $rf=getenv("HTTP_REFERER");
    72         $qq=$_SERVER['QUERY_STRING'];
    73         $ff=$_SERVER['PHP_SELF'];
     72        $ff=$_SERVER['REQUEST_URI'];
    7473        $uid=$_SESSION['uid'];
    7574        $s=mysql_real_escape_string($exception->getMessage());
     
    7978        $ff=mysql_real_escape_string($ff);
    8079        mysql_query("INSERT INTO `errorlog` (`page`,`referer`,`msg`,`date`,`ip`,`agent`, `uid`) VALUES
    81         ('$ff $qq','$rf','$s',NOW(),'$ip','$ag', '$uid')");
     80        ('$ff','$rf','$s',NOW(),'$ip','$ag', '$uid')");
    8281        header("500 Internal error");
    8382        echo"<h1>500 Необработанная внутренняя ошибка</h1>".get_class($exception).": $s<br>Страница:$ff<br>Сообщение об ошибке передано администратору";
     
    470469        $ag=getenv("HTTP_USER_AGENT");
    471470        $rf=getenv("HTTP_REFERER");
    472         $qq=$_SERVER['QUERY_STRING'];
    473         $ff=$_SERVER['PHP_SELF'];
     471        $ff=$_SERVER['REQUEST_URI'];
    474472        $uid=$_SESSION['uid'];
    475473        $s=mysql_real_escape_string($s);
     
    480478        $ff=mysql_real_escape_string($ff);
    481479        mysql_query("INSERT INTO `errorlog` (`page`,`referer`,`msg`,`date`,`ip`,`agent`, `uid`) VALUES
    482         ('$ff $qq','$rf','$s $hidden_data',NOW(),'$ip','$ag', '$uid')");
     480        ('$ff','$rf','$s $hidden_data',NOW(),'$ip','$ag', '$uid')");
    483481
    484482        if(!$silent)
  • web/e404.php

    rb4d90bb r8495cd0  
    2323$tmpl->logger("404: Not found",1);
    2424
     25
     26$tmpl->SetTitle("<h1>Страница не найдена</h1>");
     27
    2528$tmpl->SetText("<h1>Не найдено!</h1>
    2629<p id=text>
  • web/include/doc.dogovor.php

    rb4d90bb r8495cd0  
    7474        {
    7575                global $tmpl;
    76                 //$tmpl->AddText("Текст договора:<br><textarea name='dog_text' style='height: 400px'>{$this->dop_data['dog_text']}</textarea><br>");   
    77                
     76                $checked=$this->dop_data['received']?'checked':'';
     77                $tmpl->AddText("<label><input type='checkbox' name='received' value='1' $checked>Документы подписаны и получены</label><br>"); 
    7878        }
    7979
    8080        function DopSave()
    8181        {
    82                 $dog_text=rcv('dog_text');
    83                 $doc=$this->doc;
    84 //              mysql_query("REPLACE INTO `doc_dopdata` (`doc`,`param`,`value`)
    85 //              VALUES ( '{$this->doc}' ,'dog_text','$dog_text')");
    86 
     82                $received=rcv('received');
     83                mysql_query("REPLACE INTO `doc_dopdata` (`doc`,`param`,`value`)
     84                VALUES ( '{$this->doc}' ,'received','$received')");
    8785        }
    8886       
     
    9088        {
    9189                global $tmpl;
     90               
     91        }
     92       
     93        function DopBody()
     94        {
     95                global $tmpl;
    9296                global $wikiparser;
     97                if($this->dop_data['received'])
     98                        $tmpl->AddText("<br><b>Документы подписаны и получены</b><br>");
    9399                if($this->doc_data[4])
    94100                {
  • web/include/doc.nulltype.php

    rb4d90bb r8495cd0  
    772772                global $tmpl, $CONFIG;
    773773                $tmpl->AddText('<h1>'.$this->doc_viewname."</h1>
    774                 <script type='text/javascript' src='css/jquery/jquery.date_input.js'></script>
    775                 <link rel='stylesheet' href='css/jquery/date_input.css' type='text/css'>
    776774                <form method='post' action=''>
    777775                <input type=hidden name=mode value='heads'>
  • web/include/doc.postuplenie.php

    rb4d90bb r8495cd0  
    3434                $this->header_fields                    ='agent cena sklad';
    3535                settype($this->doc,'int');
     36        }
     37        function DopHead()
     38        {
     39                global $tmpl;
     40                $tmpl->AddText("Номер входящего документа:<br><input type='text' name='input_doc' value='{$this->dop_data['input_doc']}'><br>");       
     41        }
     42
     43        function DopSave()
     44        {
     45                $input_doc=rcv('input_doc');
     46                mysql_query("REPLACE INTO `doc_dopdata` (`doc`,`param`,`value`)
     47                VALUES ( '{$this->doc}' ,'input_doc','$input_doc')");
     48        }
     49       
     50        function DopBody()
     51        {
     52                global $tmpl;
     53                $tmpl->AddText("<br><b>Номер входящего документа:</b> {$this->dop_data['input_doc']}<br>");
    3654        }
    3755
  • web/include/doc.realiz_op.php

    rb4d90bb r8495cd0  
    3838        }
    3939
     40        function DopHead()
     41        {
     42                global $tmpl;
     43                $checked=$this->dop_data['received']?'checked':'';
     44                $tmpl->AddText("<label><input type='checkbox' name='received' value='1' $checked>Документы подписаны и получены</label><br>"); 
     45        }
     46
     47        function DopSave()
     48        {
     49                $received=rcv('received');
     50                mysql_query("REPLACE INTO `doc_dopdata` (`doc`,`param`,`value`)
     51                VALUES ( '{$this->doc}' ,'received','$received')");
     52        }
     53       
     54        function DopBody()
     55        {
     56                global $tmpl;
     57                if($this->dop_data['received'])
     58                        $tmpl->AddText("<br><b>Документы подписаны и получены</b><br>");
     59        }
    4060        function DocApply($silent=0)
    4161        {
  • web/include/doc.realizaciya.php

    rb4d90bb r8495cd0  
    3737                settype($this->doc,'int');
    3838        }
     39
    3940
    4041        function DopHead()
     
    108109                </script>
    109110                ");     
    110                
     111                $checked=$this->dop_data['received']?'checked':'';
     112                $tmpl->AddText("<label><input type='checkbox' name='received' value='1' $checked>Документы подписаны и получены</label><br>"); 
    111113        }
    112114
     
    115117                $plat_id=rcv('plat_id');
    116118                $gruzop_id=rcv('gruzop_id');
     119                $received=rcv('received');
    117120               
    118121                $doc=$this->doc;
    119122                mysql_query("REPLACE INTO `doc_dopdata` (`doc`,`param`,`value`)
    120                 VALUES ( '{$this->doc}' ,'platelshik','$plat_id'), ( '{$this->doc}' ,'gruzop','$gruzop_id')");
    121 
    122         }
    123        
     123                VALUES ( '{$this->doc}' ,'platelshik','$plat_id'), ( '{$this->doc}' ,'gruzop','$gruzop_id'),  ( '{$this->doc}' ,'received','$received')");
     124        }
     125       
     126        function DopBody()
     127        {
     128                global $tmpl;
     129                if($this->dop_data['received'])
     130                        $tmpl->AddText("<br><b>Документы подписаны и получены</b><br>");
     131        }
     132
    124133        function DocApply($silent=0)
    125134        {
  • web/include/doc.specific.php

    rb4d90bb r8495cd0  
    3535        }
    3636       
     37        function DopHead()
     38        {
     39                global $tmpl;
     40                $checked=$this->dop_data['received']?'checked':'';
     41                $tmpl->AddText("<label><input type='checkbox' name='received' value='1' $checked>Документы подписаны и получены</label><br>"); 
     42        }
     43
     44        function DopSave()
     45        {
     46                $received=rcv('received');
     47                mysql_query("REPLACE INTO `doc_dopdata` (`doc`,`param`,`value`)
     48                VALUES ( '{$this->doc}' ,'received','$received')");
     49        }
     50       
     51        function DopBody()
     52        {
     53                global $tmpl;
     54                if($this->dop_data['received'])
     55                        $tmpl->AddText("<br><b>Документы подписаны и получены</b><br>");
     56        }
    3757        function DocApply($silent=0)
    3858        {
  • web/include/price_analyze.inc.php

    rb4d90bb r8495cd0  
    107107                settype($cost,"double");
    108108
    109                 //echo $line[$num_name].": $cost\n";
     109                //echo "{$line[$num_name]}-{$line[$num_art]}: $cost<br>";
    110110                //var_dump($line);
    111111                //echo"\n";
    112 
     112                //echo"<br>";
    113113                if($line[$num_name] && ($line[$num_nal] || $line[$num_cost]) )
    114114                {
  • web/login.php

    rb4d90bb r8495cd0  
    304304                if(strlen($login)>24)
    305305                        throw new RegException('login слишком длинный','login');
    306                 if( !preg_match('/^[a-z][a-z\d]*$/', $login))
     306                if( !preg_match('/^[a-zA-Z][a-zA-Z\d]*$/', $login))
    307307                        throw new RegException('login должен состоять из английских букв, цифр, начинаться с буквы','login');
    308308               
     
    332332
    333333       
    334                 if(mailto($email,"Registration on ".$CONFIG['site']['name'], $msg))
     334                if(mailto($email,"Регистрация на ".$CONFIG['site']['name'], $msg))
    335335                {
    336336                        $res=mysql_query("INSERT INTO `users` (`name`,`pass`,`email`,`date_reg`,`confirm`,`subscribe`)
     
    341341                        <form action='/login.php'>
    342342                        <input type='hidden' name='mode' value='conf'>
    343                         Для проверки, что указанный адрес электронной почты принадлежит Вам, на него было выслано сообщение.<br>Для завершения регистрации введите полученный код:<br>
    344                         <input type='text' name='s'><button type='submit'>Продолжить</button><br>
     343                        Для проверки, что указанный адрес электронной почты принадлежит Вам, на него было выслано сообщение.<br>Для завершения регистрации введите полученный код:<br><br>
     344                        <input type='text' name='s'><button type='submit'>Продолжить</button><br><br>
    345345                        Если Вы не получите письмо в течение трёх часов, возможно ваш сервер не принимает наше сообщение. Сообщите о проблеме администратору своего почтового сервера, или используйте другой!
    346346                        </form>");     
  • web/message.php

    rb4d90bb r8495cd0  
    6363        $backadr=rcv('backadr');
    6464        $text=rcv('text');
    65         $text="Сообщение от $nm($backadr) с сайта {$CONFIG['site']['name']}\n-------------------\n$text\n";
     65        $text="Нам написал сообщение $nm($backadr)с сайта {$CONFIG['site']['name']}\n-------------------\n$text\n";
    6666        $text.="-------------------\nIP отправителя: ".getenv("REMOTE_ADDR")."\nSESSION ID:".session_id();
    6767        if(@$_SESSION['name']) $text.="\nLogin отправителя: ".$_SESSION['name'];
     
    8585        else
    8686        {
    87                 if(mailto($to,"Message from {$CONFIG['site']['name']}", $text))
     87                if(mailto($to,"Site message from {$CONFIG['site']['name']}", $text))
    8888                        $tmpl->msg("Сообщение было отправлено!","ok");
    8989                else    $tmpl->logger("Не удалось отправить сообщение электронной почты! ".$mail->ErrorInfo);
  • web/user.php

    rb4d90bb r8495cd0  
    2020include_once("core.php");
    2121need_auth($tmpl);
    22 $tmpl->SetTitle("Дополнительные возможности");
    23 $tmpl->AddText("<h1>Дополнительные возможности</h1>$dsa
    24 <p class=text>На этой странице представлены дополнительные возможности, доступные только зарегистрированным пользователям. Разделы с пометкой 'В разработке' и 'Тестирование' размещены здесь только в целях тестирования и не являются полностью рабочими.");
     22$tmpl->SetTitle("Личный кабинет");
     23$tmpl->SetText("<h1 id='page-title'>Личный кабинет</h1>
     24<p class=text>На этой странице представлены дополнительные возможности, доступные только зарегистрированным пользователям. Разделы с пометкой 'В разработке' и 'Тестирование' размещены здесь только в целях тестирования и не являются полностью рабочими.</p>");
    2525
    2626$tmpl->HideBlock('left');
     
    3131
    3232        //$tmpl->AddText("<li><a href='/user.php?mode=frequest' accesskey='w' style='color: #f00'>Сообщить об ошибке или заказать доработку программы</a></li>");
    33        
    3433
    3534        $rights=getright('doc_list',$uid);
     
    4544        }
    4645       
    47         $tmpl->AddText("<li><a href='wiki.php' accesskey='w' title='Wiki-статьи'>Wiki-статьи (W)</a></li>");
    48        
     46        $rights=getright('wiki',$uid);
     47        if($rights['read'])
     48        {
     49                $tmpl->AddText("<li><a href='wiki.php' accesskey='w' title='Wiki-статьи'>Wiki-статьи (W)</a></li>");
     50        }
     51
    4952        $rights=getright('cli',$uid);
    5053        if($rights['read'])
     
    8184                $tmpl->AddText("<li><a href='rights.php'>Привилегии доступа</a></li>");
    8285        }
     86       
     87               
     88        $tmpl->AddText("<li><a href='/user.php?mode=user_data'>Личные данные</a></li>");
     89        $tmpl->AddText("<li><a href='/user.php?mode=doc_hist'>История документов</a></li>");
     90       
    8391        $tmpl->AddText("</ul>");
    8492}
    85 else if($mode=='frequest')
    86 {
    87         // create curl resource
    88         $ch = curl_init();
    89         // set url
    90         curl_setopt($ch, CURLOPT_URL, "http://multimag.tndproject.org/login");
    91         //return the transfer as a string
    92         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    93         curl_setopt($ch, CURLOPT_USERPWD, "");
    94         curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
    95         curl_setopt($ch, CURLOPT_HEADER, true);
    96        
    97         // $output contains the output string
    98         $data = curl_exec($ch);
    99         $header=substr($data,0,curl_getinfo($ch,CURLINFO_HEADER_SIZE));
    100         //$body=substr($data,curl_getinfo($ch,CURLINFO_HEADER_SIZE));
    101         preg_match_all("/Set-Cookie: (.*?)=(.*?);/i",$header,$res);
    102         $cookie='';
    103         foreach ($res[1] as $key => $value)
    104                 $cookie.= $value.'='.$res[2][$key].'; ';
    105        
    106         curl_setopt($ch, CURLOPT_HEADER, false);
    107         curl_setopt($ch, CURLOPT_COOKIE,$cookie);
    108         curl_setopt($ch, CURLOPT_URL, "http://multimag.tndproject.org/newticket");
    109         $output = curl_exec($ch);
    110         // close curl resource to free up system resources
    111         curl_close($ch);
    112        
    113         $_SESSION['trac_cookie']=$cookie;
    114        
    115         $doc = new DOMDocument();
    116         $doc->loadHTML($output);
    117         $doc->normalizeDocument ();
    118         $form=$doc->getElementById('propertyform');
    119         $elements=$form->getElementsByTagName("div");
    120         $token_elem=$elements->item(0)->getElementsByTagName('input')->item(0);
    121         $token=$token_elem->attributes->getNamedItem('value')->nodeValue;
    122        
    123         $type=$doc->getElementById('field-type');
    124 
    125         $tmpl->SetText("<h1>Оформление запроса на доработку программы</h1>
    126         Внимание! Данная страница в разработке. Вы можете воспользоваться старой версией, доступной по адресу: <a href='http://multimag.tndproject.org/newticket' >http://multimag.tndproject.org/newticket</a>
    127         <br><br>
    128         <p class='text'>
    129        
    130         Внимательно заполните все поля. Если иное не написано рядом с полем, все поля являются обязательными для заполнения. Особое внимание стоит уделить полю *краткое содержание*. <b>ВНИМАНИЕ! Для удобства отслеживания исполнения задач (вашего и разработчиков) каждая задача должна быть отдельной задачей. Несоблюдение этого условия может привести к тому, что некоторые задачи окажутся незамеченными</b>. Все глобальные задания можно и нужно отслеживать через систему-треккер.
    131         </p>
    132        
    133         <form action='/user.php' method='post'>
    134         <input type='hidden' name='token' value='$token'>
    135         <input type='hidden' name='mode' value='sendrequest'>
    136         <b>Краткое содержание</b>. Тема задачи. Максимально кратко (3-6 слов) и ёмко изложите суть поставленной задачи. Максимум 64 символа.<br>
    137         <i><u>Пример</u>: Реализовать печатную форму: Товарный чек</i><br>
    138         <input type='text' maxlength='64' name='summary' style='width:90%'><br>
    139         <b>Подробное описание</b>. Максимально подробно изложите суть задачи. Описание должно являться дополнением краткого содержания. Не допускается писать несколько задач.<br>
    140         <textarea name='description' rows='40' cols='6'></textarea><br>
    141         Тип задачи:<br>
    142         <select name='field_type'>
    143         <option>Дефект (Bug)</option><option selected='selected'>Улучшение</option><option>Задача</option><option>Предложение</option>
    144         </select><br>
    145         Приоритет:<br>
    146         <select name='field_priority'>
    147         <option>Критический</option><option>Важный</option><option selected='selected'>Обычный</option><option>Неважный</option><option>Несущественный</option>
    148         </select><br>
    149         Срочность выполнения:<br>
    150         <select name='field_milestone'>
    151         <option></option>
    152         <optgroup label='Open (by due date)'>
    153         <option selected='selected'>0.1</option>
    154         </optgroup><optgroup label='Open (no due date)'>
    155         <option>0.2</option><option>0.9</option><option>1.0</option>
    156         </optgroup>
    157         </select><br>
    158         Компонент:<br>
    159         <select id='field-component' name='field_component'>
    160         <option>CLI: Внешние обработчики</option><option>Wiki</option><option>Анализатор прайсов</option><option>Витрина и прайс-лист</option><option>Документы</option><option selected='selected'>Другое</option><option>Отчёты</option><option>Справочники</option><option>Ядро</option>
    161         </select><br>
    162        
    163         <button type='submit'>Сформировать задачу</button>
    164         </form>
    165         ");
    166 
    167 
    168 
    169 
    170 }
     93else if($mode=='user_data')
     94{
     95        $opt=rcv('opt');
     96        $tmpl->SetText("<h1 id='page-title'>Личные данные</h1>");
     97        if($opt=='save')
     98        {
     99                $rname=rcv('rname');
     100                $tel=rcv('tel');
     101                $adres=rcv('adres');
     102                $subscribe=rcv('subscribe');
     103                mysql_query("UPDATE `users` SET `subscribe`='$subscribe', `rname`='$rname', `tel`='$tel', `adres`='$adres' WHERE `id`='$uid'");
     104                if(mysql_errno())       throw new MysqlException("Не удалось обновить основные данные пользователя!");
     105                $jid=rcv('jid');
     106                $icq=rcv('icq');
     107                $skype=rcv('skype');
     108                $mra=rcv('mra');
     109                $site_name=rcv('site_name');
     110                mysql_query("REPLACE INTO `users_data` (`uid`,`param`,`value`) VALUES
     111                ( '$uid' ,'jid','$jid'),
     112                ( '$uid' ,'icq','$icq'),
     113                ( '$uid' ,'skype','$skype'),
     114                ( '$uid' ,'mra','$mra'),
     115                ( '$uid' ,'site_name','$site_name') ");
     116                if(mysql_errno())       throw new MysqlException("Не удалось обновить дополнительные данные пользователя!");
     117                $tmpl->msg("Данные обновлены!","ok");
     118        }
     119       
     120       
     121        $res=mysql_query("SELECT `name`, `email`, `date_reg`, `subscribe`, `rname`, `tel`, `adres` FROM `users` WHERE `id`='$uid'");
     122        if(mysql_errno())       throw new MysqlException("Не удалось получить основные данные пользователя!");
     123        $user_data=mysql_fetch_assoc($res);
     124        $user_dopdata=array('kont_lico'=>'','tel'=>'','dop_info'=>'');
     125        $res=mysql_query("SELECT `param`, `value` FROM `users_data` WHERE `uid`='$uid'");
     126        if(mysql_errno())       throw new MysqlException("Не удалось получить дополнительные данные пользователя!");
     127        while($line=mysql_fetch_row($res))      $user_dopdata[$line[0]]=$line[1];
     128       
     129        $subs_checked=$user_data['subscribe']?'checked':'';
     130       
     131        $tmpl->AddText("<form action='' method='post'>
     132        <input type='hidden' name='mode' value='user_data'>
     133        <input type='hidden' name='opt' value='save'>
     134        <table border='0' width='500' class='list'>
     135        <tr><th colspan='2'>Общие данные
     136        <tr><td>Логин:<td>{$user_data['name']}
     137        <tr><td>Дата регистрации:<td>{$user_data['date_reg']}
     138        <tr><td>E-mail:<td>{$user_data['email']}<br><label><input type='checkbox' name='subscribe' value='1' $subs_checked> Подписка</label>
     139        <tr><th colspan='2'>Данные физического лица
     140        <tr><td>Фамилия И.О.<td><input type='text' name='rname' value='{$user_data['rname']}'>
     141        <tr><td>Телефон<td><input type='text' name='tel' value='{$user_data['tel']}'>
     142        <tr><td>Адрес доставки<td><input type='text' name='adres' value='{$user_data['adres']}'>
     143        <tr><th colspan='2'>Дополнительные данные
     144        <tr><td>Jabber ID<td><input type='text' name='jid' value='{$user_dopdata['jid']}'>
     145        <tr><td>UIN ICQ<td><input type='text' name='icq' value='{$user_dopdata['icq']}'>
     146        <tr><td>Skype-login<td><input type='text' name='skype' value='{$user_dopdata['skype']}'>
     147        <tr><td>Mail-ru ID<td><input type='text' name='mra' value='{$user_dopdata['mra']}'>
     148        <tr><td>Сайт<td><input type='text' name='site_name' value='{$user_dopdata['site_name']}'>
     149        <tr><td><td><button type='submit'>Сохранить</button>
     150        </table></form>");
     151}
     152else if($mode=='doc_hist')
     153{
     154        $tmpl->SetText("<h1 id='page-title'>Выписанные документы</h1>
     155        <div class='content'>
     156        <table width='100%' class='list' cellspacing='0'>
     157        <tr class='title'><th>Номер<th>Дата<th>Документ<th>Подтверждён ?<th>Дата подтверждения<th>Сумма");
     158        $res=mysql_query("SELECT `doc_list`.`id`, `doc_list`.`date`, `doc_types`.`name`, `doc_list`.`ok`, `doc_list`.`sum`
     159        FROM `doc_list`
     160        LEFT JOIN `doc_types` ON `doc_types`.`id`=`doc_list`.`type`
     161        WHERE `doc_list`.`user`='{$_SESSION['uid']}'
     162        ORDER BY `date`");
     163        $i=0;
     164        while($nxt=mysql_fetch_array($res))
     165        {
     166                $date=date("Y-m-d H:i:s",$nxt['date']);
     167                $ok=$nxt['ok']?'Да':'Нет';
     168                $ok_date=$nxt['ok']?date("Y-m-d H:i:s",$nxt['ok']):'';
     169                $tmpl->AddText("<tr class='lin$i'><td>$nxt[0]<td>$date<td>$nxt[2]<td>$ok<td>$ok_date<td>$nxt[4]");
     170                $i=1-$i;
     171        }
     172        $tmpl->AddText("</table></div>");
     173       
     174}
     175// else if($mode=='frequest')
     176// {
     177//         // create curl resource
     178//         $ch = curl_init();
     179//         // set url
     180//         curl_setopt($ch, CURLOPT_URL, "http://multimag.tndproject.org/login");
     181//         //return the transfer as a string
     182//         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     183//         curl_setopt($ch, CURLOPT_USERPWD, "");
     184//         curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
     185//         curl_setopt($ch, CURLOPT_HEADER, true);
     186//         
     187//         // $output contains the output string
     188//         $data = curl_exec($ch);
     189//         $header=substr($data,0,curl_getinfo($ch,CURLINFO_HEADER_SIZE));
     190//      //$body=substr($data,curl_getinfo($ch,CURLINFO_HEADER_SIZE));
     191//      preg_match_all("/Set-Cookie: (.*?)=(.*?);/i",$header,$res);
     192//      $cookie='';
     193//      foreach ($res[1] as $key => $value)
     194//              $cookie.= $value.'='.$res[2][$key].'; ';
     195//         
     196//         curl_setopt($ch, CURLOPT_HEADER, false);
     197//         curl_setopt($ch, CURLOPT_COOKIE,$cookie);
     198//         curl_setopt($ch, CURLOPT_URL, "http://multimag.tndproject.org/newticket");
     199//         $output = curl_exec($ch);
     200//         // close curl resource to free up system resources
     201//         curl_close($ch);
     202//         
     203//         $_SESSION['trac_cookie']=$cookie;
     204//         
     205//         $doc = new DOMDocument();
     206//      $doc->loadHTML($output);
     207//      $doc->normalizeDocument ();
     208//      $form=$doc->getElementById('propertyform');
     209//      $elements=$form->getElementsByTagName("div");
     210//      $token_elem=$elements->item(0)->getElementsByTagName('input')->item(0);
     211//      $token=$token_elem->attributes->getNamedItem('value')->nodeValue;
     212//     
     213//      $type=$doc->getElementById('field-type');
     214//
     215//      $tmpl->SetText("<h1>Оформление запроса на доработку программы</h1>
     216//      Внимание! Данная страница в разработке. Вы можете воспользоваться старой версией, доступной по адресу: <a href='http://multimag.tndproject.org/newticket' >http://multimag.tndproject.org/newticket</a>
     217//      <br><br>
     218//      <p class='text'>
     219//     
     220//      Внимательно заполните все поля. Если иное не написано рядом с полем, все поля являются обязательными для заполнения. Особое внимание стоит уделить полю *краткое содержание*. <b>ВНИМАНИЕ! Для удобства отслеживания исполнения задач (вашего и разработчиков) каждая задача должна быть отдельной задачей. Несоблюдение этого условия может привести к тому, что некоторые задачи окажутся незамеченными</b>. Все глобальные задания можно и нужно отслеживать через систему-треккер.
     221//      </p>
     222//     
     223//      <form action='/user.php' method='post'>
     224//      <input type='hidden' name='token' value='$token'>
     225//      <input type='hidden' name='mode' value='sendrequest'>
     226//      <b>Краткое содержание</b>. Тема задачи. Максимально кратко (3-6 слов) и ёмко изложите суть поставленной задачи. Максимум 64 символа.<br>
     227//      <i><u>Пример</u>: Реализовать печатную форму: Товарный чек</i><br>
     228//      <input type='text' maxlength='64' name='summary' style='width:90%'><br>
     229//      <b>Подробное описание</b>. Максимально подробно изложите суть задачи. Описание должно являться дополнением краткого содержания. Не допускается писать несколько задач.<br>
     230//      <textarea name='description' rows='40' cols='6'></textarea><br>
     231//      Тип задачи:<br>
     232//      <select name='field_type'>
     233//      <option>Дефект (Bug)</option><option selected='selected'>Улучшение</option><option>Задача</option><option>Предложение</option>
     234//      </select><br>
     235//      Приоритет:<br>
     236//      <select name='field_priority'>
     237//      <option>Критический</option><option>Важный</option><option selected='selected'>Обычный</option><option>Неважный</option><option>Несущественный</option>
     238//      </select><br>
     239//      Срочность выполнения:<br>
     240//      <select name='field_milestone'>
     241//      <option></option>
     242//      <optgroup label='Open (by due date)'>
     243//      <option selected='selected'>0.1</option>
     244//      </optgroup><optgroup label='Open (no due date)'>
     245//      <option>0.2</option><option>0.9</option><option>1.0</option>
     246//      </optgroup>
     247//      </select><br>
     248//      Компонент:<br>
     249//      <select id='field-component' name='field_component'>
     250//      <option>CLI: Внешние обработчики</option><option>Wiki</option><option>Анализатор прайсов</option><option>Витрина и прайс-лист</option><option>Документы</option><option selected='selected'>Другое</option><option>Отчёты</option><option>Справочники</option><option>Ядро</option>
     251//      </select><br>
     252//     
     253//      <button type='submit'>Сформировать задачу</button>
     254//      </form>
     255//      ");
     256// }
    171257else if($mode=="elog")
    172258{
  • web/vitrina.php

    rb4d90bb r8495cd0  
    156156                        $document->PrintForm($doc, 'schet_pdf');
    157157                }
    158                 else $tmpl->msg("Вы ещё не оформили заказ! Вернитесь, и оформите!");
     158                else $tmpl->msg("Вы ещё не оформили заказ! Вернитесь и оформите!");
    159159        }
    160160        else if($mode=='img')
     
    528528        if($_SESSION['uid'])
    529529        {
     530                $res=mysql_query("SELECT `name`, `email`, `date_reg`, `subscribe`, `rname`, `tel`, `adres` FROM `users` WHERE `id`='{$_SESSION['uid']}'");
     531                if(mysql_errno())       throw new MysqlException("Не удалось получить основные данные пользователя!");
     532                $user_data=mysql_fetch_assoc($res);
    530533                $rr=mysql_query("SELECT `param`,`value` FROM `users_data` WHERE `uid`='".$_SESSION['uid']."'");
     534                if(mysql_errno())       throw new MysqlException("Не удалось получить дополнительные данные пользователя!");
    531535                while($nn=mysql_fetch_row($rr))
    532536                {
    533                         $users_data["$nn[0]"]=$nn[1];
     537                        $user_dopdata["$nn[0]"]=$nn[1];
    534538                }
    535539                $str='Товар будет зарезервирован для Вас на 3 рабочих дня.';
     
    551555        <input type='hidden' name='mode' value='makebuy'>
    552556        <div>
    553         Организация:<br>
    554         <input type='text' name='org' value='".$users_data['org']."'><br>
     557        Фамилия И.О.<br>
     558        <input type='text' name='rname' value='".$user_data['rname']."'><br>
    555559        Телефон:<br>
    556         <input type='text' name='tel' value='".$users_data['tel']."'><br>
     560        <input type='text' name='tel' value='".$user_data['tel']."'><br>
    557561        $email_field
    558         Контактное лицо (Фамилия И.О.):<br>
    559         <input type='text' name='kont' value='".$users_data['kont_lico']."'><br>
     562       
    560563        Способ оплаты:<br>
    561564        <!--
     
    566569        <label><input type='radio' name='soplat' value='n'>Наличный расчет.
    567570        <b>Только самовывоз</b>, расчет при отгрузке. $str</label>
    568        
     571        <br>Адрес доставки:<br>
     572        <textarea name='adres' rows='5' cols='15'>".$user_data['adres']."</textarea><br>
    569573        Другая информация:<br>
    570         <textarea name='dop' rows='5' cols='30'>".$users_data['dop_info']."</textarea><br>
     574        <textarea name='dop' rows='5' cols='15'>".$user_dopdata['dop_info']."</textarea><br>
    571575        <button type='submit'>Оформить заказ</button>
    572576        </div>
     
    578582        global $tmpl, $CONFIG, $uid, $xmppclient;
    579583        $soplat=rcv('soplat');
    580         $org=rcv('org');
     584        $rname=rcv('rname');
    581585        $tel=rcv('tel');
     586        $adres=rcv('adres');
    582587        $email=rcv('email');
    583         $kont=rcv('kont');
    584588        $dop=rcv('dop');
    585589        if($_SESSION['uid'])
    586590        {
    587                 mysql_query("REPLACE `users_data` (`uid`, `param`, `value`) VALUES ('$uid', 'org', '$org') ");
    588                 mysql_query("REPLACE `users_data` (`uid`, `param`, `value`) VALUES ('$uid', 'tel', '$tel') ");
    589                 mysql_query("REPLACE `users_data` (`uid`, `param`, `value`) VALUES ('$uid', 'kont_lico', '$kont') ");
     591                mysql_query("UPDATE `users` SET `rname`='$rname', `tel`='$tel', `adres`='$adres' WHERE `id`='$uid'");
     592                if(mysql_errno())       throw new MysqlException("Не удалось обновить основные данные пользователя!");
    590593                mysql_query("REPLACE `users_data` (`uid`, `param`, `value`) VALUES ('$uid', 'dop_info', '$dop') ");
    591                 if( $_SESSION['korz_sum']>20000)
    592                 {
    593                         $res=mysql_query("SELECT `id` FROM `doc_cost` WHERE `vid`='-2'");
    594                         $this->cost_id=mysql_result($res,0,0);
    595                         if(!$this->cost_id)     $this->cost_id=1;
    596                 }
     594                if(mysql_errno())       throw new MysqlException("Не удалось обновить дополнительные данные пользователя!");
     595//              if( $_SESSION['korz_sum']>20000)
     596//              {
     597//                      $res=mysql_query("SELECT `id` FROM `doc_cost` WHERE `vid`='-2'");
     598//                      $this->cost_id=mysql_result($res,0,0);
     599//                      if(!$this->cost_id)     $this->cost_id=1;
     600//              }
    597601        }
    598602        else if(!$tel && !$email)
Note: See TracChangeset for help on using the changeset viewer.