static function open_in_blank_old($kp_id, $client_id, $user_id, $save_on_disk = false) { global $mysqli; $stock = false; $com_offer_descriptions = array(); $com_offer_description_length = 80; $string = $article_string = $ordinary_string = $print_string = $itog_string = $previos_marker_summ_print = ''; // Здесь делаем то что в старой версии делали при сохранении КП в файл $cont_face_data_arr = get_client_cont_face_by_id($client_id, $user_id, true); $client_data_arr = select_all_client_data($client_id); //print_r($cont_face_data_arr); //exit; $rows_data = self::fetch_kp_rows($kp_id); $rows_data = array_reverse($rows_data); // собираем контент коммерческого предложения //if($save_on_disk)//?'.$_SERVER['QUERY_STRING'].'&show_kp_in_blank='.$kp_id.' $kp_content = '<div style="width:675px;background-color:#FFFFFF;"><div style="text-align:right;font-family:verdana;font-size:12px;font-weight:bold;line-height:16px;"><br />В компанию: ' . $client_data_arr['comp_full_name'] . '<br />Кому: ' . $cont_face_data_arr['name'] . '<br />Контакты: ' . $cont_face_data_arr['phone'] . '<br />' . $cont_face_data_arr['email'] . '<br /><br /></div> <div style="font-family:verdana;font-size:18px;padding:10px;color:#10B050;text-align:center">Презентация</div>'; $kp_content .= '<table width="675" style="border:#CCCCCC solid 1px; border-collapse:collapse;background-color:#FFFFFF;font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px;" valign="top">'; $tr_td = '<tr><td style="border:#CCCCCC solid 1px;" width="300" valign="middle" align="center">'; $td_tr = '</td></tr>'; $td_td = '</td><td style="border:#CCCCCC solid 1px;padding:6px;" width="325" valign="top">'; // этап создания контента меню // принцип следующий сортируем id в порядке возрастания, и считываем ряды из таблицы в порядке возрастания, при считывании // рядов первоначально считывается персонализация относящаяся к артикулу, записываем её данные в массив, когда доходим до // ряда "article" или ряда "ordinary" проверям были ли созданна переменная содержащая информацию о нанесении если да // записываем данные по нанесению которые были считанны до этого в общую строку, предварительно развернув массив // с этими данными, затем переменную с данными о нанесении удаляем, если нет добавляем пустую запись // собранную сроку записываем в итоговый массив который перед записью в файл разворачиваем // если в конце всей обработки были считанны данные по нанесению но строка артикул в итоге не последовала // тогда эти данные добавляются в итоговый массив без данных об артикуле, на последнем шаге // перед разворотом массива и записью данных в файл foreach ($rows_data as $item) { if ($item['type'] == 'article') { $query = "SELECT*FROM `" . BASE_TBL . "` WHERE art = '" . $item['article'] . "'"; $result = $mysqli->query($query) or die($mysqli->error); $row = $result->fetch_assoc(); $id = $row['id']; $article_string = $tr_td; $art_img = new Art_Img($item['article']); // проверяем наличие изображения //$img_path = '../../img/'.$art_img->big; $img_path = 'http://www.apelburg.ru/img/' . $art_img->big; $img_src = checkImgExists($img_path); //$img_path = ''; //$img_src = '../../skins/images/img_design/icon_index_2.jpg'; // меняем размер изображения $size_arr = transform_img_size($img_src, 230, 300); //$size_arr = array(230,300); //$size_arr = array(100,100); // вставляем изображение $article_string .= '<img src="' . $img_src . '" height="' . $size_arr[0] . '" width="' . $img_src[1] . '">' . $td_td; // количество $quantity = $item['quantity']; // стоимость $price = $item['discount'] == 0 ? $item['price'] : $item['price'] + $item['price'] / 100 * $item['discount']; $summ = $quantity * $price; $article = $item['hide_article_marker'] == 'on' ? '' : 'арт.: <a href="/index.php?page=description&id=' . $id . '" target="_blank">' . $item['article'] . '</a>'; // наименование сувенира $str_len = 40; $article_name = $item['name']; $article_name = nl2br($article_name); $article_name = iconv("UTF-8", "windows-1251//TRANSLIT", $article_name); if (strpos($article_name, '<br />') == true) { $article_name = str_replace('<br />', '<br />', $article_name); } $article_name_arr = explode('<br />', $article_name); $new_line = '<br /> '; foreach ($article_name_arr as $key => $piece) { if (strlen($piece) > $str_len) { $piece = wordwrap($piece, $str_len, $new_line); $article_name_arr[$key] = $piece; } else { $article_name_arr[$key] = trim($piece); } } $article_name = implode($new_line, $article_name_arr); $article_name = iconv("windows-1251", "UTF-8//TRANSLIT", $article_name); //iconv_strlen($article_name,'UTF-8') $article_string .= '<b>Сувенир:</b><br /> ' . $article_name . '<br /> ' . $article . '<br /> Тираж: ' . $item['quantity'] . ' шт.<br /> 1шт.: ' . number_format($price, 2, '.', ' ') . 'руб. / тираж: <nobr>' . number_format($summ, 2, '.', ' ') . 'руб.</nobr><br />'; // формирование описания для коммерческого предложения помещается в списке КП-шек $description_str = strip_tags($article_name); $description_str = str_replace('<br />', ' ', $description_str); $description_str = str_replace('<br/>', ' ', $description_str); $description_str = str_replace('<br />', ' ', $description_str); $description_str = str_replace(' ', ' ', $description_str); $description_str = preg_replace('|[\\s]+|s', ' ', $description_str); $description_str = trim($description_str, ' '); $description_str = str_replace(' ', ',', $description_str); $com_offer_description = substr($description_str, 0, strpos($description_str, ',')); $com_offer_description = strlen($com_offer_description) > $com_offer_description_length ? substr($com_offer_description, 0, $com_offer_description_length) : $com_offer_description; if (trim($com_offer_description) != '') { $com_offer_descriptions[] = $com_offer_description; } if ($stock) { $ostatok_update_time = substr($item_dop['ostatok_update_time'], 11, 5); $ostatok_update_date = substr($item_dop['ostatok_update_time'], 8, 2) . substr($item_dop['ostatok_update_time'], 4, 4) . substr($item_dop['ostatok_update_time'], 0, 4); $ostatok = $item_dop['ostatok']; $ostatok_block = '<div style="font-size:10px;color:#669900;"> <span style="font-size:13px;font-family:Arial;">остаток - ' . $ostatok . '</span> шт. на <span style="font-size:11px;font-family:Arial;">' . $ostatok_update_time . ' ' . $ostatok_update_date . '</span> </div><br />'; } else { $ostatok_block = '<br />'; } $short_space_str = ' '; $long_space_str = ' '; $quantity_for_division = $quantity == 0 ? 1 : $quantity; if (isset($print_rows)) { $print_rows = array_reverse($print_rows); $print_string = '<b>Лого:</b><br />'; $itog_string = '<br /><b>Стоимость сувенира + лого:</b><br />'; for ($i = 0; $i < count($print_rows); $i++) { if (count($print_rows) == 1) { $print_string .= $short_space_str . str_replace('{##}', $short_space_str, $print_rows[$i][1]); $itog_string .= $short_space_str . '<span style="color:#00B050;font-weight:bold;">1шт. : ' . number_format(($summ + $print_rows[$i][0]) / $quantity_for_division, 2, '.', ' ') . ' руб. / тираж: <nobr>' . number_format($summ + $print_rows[$i][0], 2, '.', ' ') . 'руб.</nobr></span><br />'; } else { $print_string .= '<br />' . $short_space_str . ($i + 1) . '. ' . str_replace('{##}', $long_space_str, $print_rows[$i][1]); $itog_string .= $short_space_str . '<span style="color:#00B050;font-weight:bold;">' . ($i + 1) . '. 1шт. : ' . number_format(($summ + $print_rows[$i][0]) / $quantity_for_division, 2, '.', ' ') . ' руб. / тираж: <nobr>' . number_format($summ + $print_rows[$i][0], 2, '.', ' ') . 'руб.</nobr></span><br />'; } } } $tbl_rows[] = $article_string . $ostatok_block . $print_string . $itog_string . $td_tr; unset($print_rows); $article_string = $print_string = $itog_string = ''; } elseif ($item['type'] == 'ordinary') { // пустая ячейка $ordinary_string = $tr_td . ' ' . $td_td; // количество $quantity = $item['quantity']; // стоимость $price = $item['discount'] == 0 ? $item['price'] : $item['price'] + $item['price'] / 100 * $item['discount']; $summ = $quantity * $price; // наименование сувенира $str_len = 40; $article_name = $item['name']; $article_name = nl2br($article_name); $article_name = iconv("UTF-8", "windows-1251//TRANSLIT", $article_name); if (strpos($article_name, '<br />') == true) { $article_name = str_replace('<br />', '<br />', $article_name); } $article_name_arr = explode('<br />', $article_name); $new_line = '<br /> '; foreach ($article_name_arr as $key => $piece) { if (strlen($piece) > $str_len) { $piece = wordwrap($piece, $str_len, $new_line); $article_name_arr[$key] = $piece; } else { $article_name_arr[$key] = trim($piece); } } $article_name = implode($new_line, $article_name_arr); $article_name = iconv("windows-1251", "UTF-8//TRANSLIT", $article_name); //iconv_strlen($article_name,'UTF-8') $ordinary_string .= ' ' . $article_name . '<br /> Тираж: ' . $item['quantity'] . ' шт.<br /> 1шт.: ' . number_format($price, 2, '.', ' ') . 'руб. / тираж: <nobr>' . number_format($summ, 2, '.', ' ') . 'руб.</nobr><br /><br />'; $short_space_str = ' '; $long_space_str = ' '; $quantity_for_division = $quantity == 0 ? 1 : $quantity; if (isset($print_rows)) { $print_rows = array_reverse($print_rows); $print_string = '<b>Лого:</b><br />'; $itog_string = '<br /><b>Стоимость сувенира + лого:</b><br />'; for ($i = 0; $i < count($print_rows); $i++) { if (count($print_rows) == 1) { $print_string .= $short_space_str . str_replace('{##}', $short_space_str, $print_rows[$i][1]); $itog_string .= $short_space_str . '<span style="color:#00B050;font-weight:bold;">1шт. : ' . number_format(($summ + $print_rows[$i][0]) / $quantity_for_division, 2, '.', ' ') . ' руб. / тираж: <nobr>' . number_format($summ + $print_rows[$i][0], 2, '.', ' ') . 'руб.</nobr></span><br />'; } else { $print_string .= '<br />' . $short_space_str . ($i + 1) . '. ' . str_replace('{##}', $long_space_str, $print_rows[$i][1]); $itog_string .= $short_space_str . '<span style="color:#00B050;font-weight:bold;">' . ($i + 1) . '. 1шт. : ' . number_format(($summ + $print_rows[$i][0]) / $quantity_for_division, 2, '.', ' ') . ' руб. / тираж: <nobr>' . number_format($summ + $print_rows[$i][0], 2, '.', ' ') . 'руб.</nobr></span><br />'; } } } $tbl_rows[] = $ordinary_string . $print_string . $itog_string . $td_tr; unset($print_rows); $ordinary_string = $print_string = $itog_string = ''; } elseif ($item['type'] == 'print') { // количество $print_quantity = $item['quantity']; // стоимость $print_price = $item['discount'] == 0 ? $item['price'] : $item['price'] + $item['price'] / 100 * $item['discount']; $print_summ = $item['quantity'] * $print_price; // наименование нанесения $str_len = 38; $print_description = $item['name']; $print_description = nl2br($print_description); $print_description = iconv("UTF-8", "windows-1251//TRANSLIT", $print_description); if (strpos($print_description, '<br />') == true) { $print_description = str_replace('<br />', '<br />', $print_description); } $print_description_arr = explode('<br />', $print_description); $new_line = '<br />{##}'; foreach ($print_description_arr as $key => $piece) { if (strlen($piece) > $str_len) { $piece = wordwrap($piece, $str_len, $new_line); $print_description_arr[$key] = $piece; } else { $print_description_arr[$key] = trim($piece); } } $print_description = implode($new_line, $print_description_arr); $print_description = iconv("windows-1251", "UTF-8//TRANSLIT", $print_description); //iconv_strlen($print_description,'UTF-8') $string .= $print_description . '<br /> {##}Тираж: ' . $item['quantity'] . ' шт.<br /> {##}1шт.: ' . number_format($print_price, 2, '.', ' ') . 'руб. / тираж: <nobr>' . number_format($print_summ, 2, '.', ' ') . 'руб.</nobr><br />'; // если предыдущий ряд был отмечен маркером marker_summ_print (объединить расчет нанесения) то объеденяем данные // внося их в созданный ранее эелемент массива, если нет добавляем новый элемент. if ($previos_marker_summ_print == 'on') { $print_rows[count($print_rows) - 1] = array($print_rows[count($print_rows) - 1][0] + $print_summ, $string . '<br />{##}' . $print_rows[count($print_rows) - 1][1]); } else { $print_rows[] = array($print_summ, $string); } $string = ''; $previos_marker_summ_print = $item['marker_summ_print']; } /**/ } //$tbl_rows[] = $tr_td.'proba'.$td_tr; // записываем все данные в строку предварительно развернув массив $kp_content .= '<div style="text-align:right;font-family:arial;font-size:12px;line-height:20px;"><br>' . convert_bb_tags(mysql_result(select_manager_data($user_id), 0, 'mail_signature')) . '<br><br><br></div>'; $kp_content .= '<div style="text-align:justify;font-family:verdana;font-size:10px;line-height:11px;padding:0 20px;"><br>Данная презентация носит исключительно информационный характер и никакая информация, опубликованная в ней, ни при каких условиях не является офертой или публичной офертой, определяемой положениями пункта 2 статьи 437 и статьи 435 Гражданского кодекса Российской Федерации. Для получения подробной информации о реализуемых товарах, работах и услугах и их цене необходимо обращаться к менеджерам компании Апельбург<br><br><br></div></div>'; return $kp_content; }
/** * возвращает карусель превью изображений для карточки артикула * * @param articul * @return array() * @author Алексей Капитонов * @version 17:27 14.12.2015 */ public function fetchImagesForArt($art, $rt_main_row_id) { if (!isset($this->checked_IMG)) { $this->checked_IMG = $this->getCheckedImg($rt_main_row_id); } // return ''; $b = count($this->checked_IMG) + 1; $c = count($this->checked_IMG); // if($art && $art > 0){ $big_images = $this->getBigImagesForArt($art); $small_images = $this->getSmallImagesForArt($art); $first_img = ''; $main_img_src = ''; // echo '<br><br><br><br><br><br><br><br><br><br><br><br> '; // изображения с сайта foreach ($small_images as $key => $img) { // удаление изображений для админов $deleting_img = ''; if ($img != 'no_image.jpg' && isset($_SESSION['access']['access']) && $_SESSION['access']['access'] == 1) { $deleting_img = '<div class="catalog_delete_img_link"> <a href="#" title="удалить изображение из базы" data-del="' . APELBURG_HOST . '/admin/order_manager/?page=common&delete_img_from_base_by_id=' . $big_images[$key] . '|' . $img . '" onclick="if(confirm(\' изображение будет удалено из базы!\')){$.get( $(this).attr(\'data-del\'),function( data ) {});remover_image(this); return false; } else{ return false;}">×</a> </div>'; } if ($this->copare_and_calculate_checked_files($rt_main_row_id, $big_images[$key]) == "checked") { if (!isset($main_img_src)) { $main_img_src = $this->checkImgExists(APELBURG_HOST . '/img/' . $big_images[$key]); } $previews_block[$c] = '<div class="carousel-block kp_checked">'; $previews_block[$c] .= '<img class="articulusImagesMiniImg imagePr" alt="" src="' . checkImgExists(APELBURG_HOST . '/img/' . $img) . '" data-file="' . $big_images[$key] . '" data-src_IMG_link="' . APELBURG_HOST . '/img/' . $big_images[$key] . '">'; $previews_block[$c] .= $deleting_img; $previews_block[$c--] .= '</div>'; } else { if ($b == 1) { // echo 'test'; $main_img_src = $this->checkImgExists(APELBURG_HOST . '/img/' . $big_images[$key]); } // echo 'test'.$b.'654'; $previews_block[$b] = '<div class="carousel-block">'; $previews_block[$b] .= '<img class="articulusImagesMiniImg imagePr" alt="" src="' . checkImgExists(APELBURG_HOST . '/img/' . $img) . '" data-file="' . $big_images[$key] . '" data-src_IMG_link="' . APELBURG_HOST . '/img/' . $big_images[$key] . '">'; $previews_block[$b] .= $deleting_img; $previews_block[$b++] .= '</div>'; } } ////////////////////////// // Загруженные изображения ////////////////////////// $upload_dir = ROOT . '/data/images/' . $this->position['img_folder'] . '/'; $global_link_dir = '' . HOST . '/data/images/' . $this->position['img_folder'] . '/'; // если директория (папка) существует if ($this->position['img_folder'] != '' && is_dir($upload_dir)) { // сканируем директории. $files = scandir($upload_dir); // перебираем содержимое директории for ($i = 0; $i < count($files); $i++) { // Перебираем все файлы if ($files[$i] == "." || $files[$i] == "..") { // Текущий каталог и родительский пропускаем continue; } if ($this->copare_and_calculate_checked_files($rt_main_row_id, $files[$i]) == "checked") { if (!isset($main_img_src)) { $main_img_src = $this->checkImgExists($global_link_dir . '' . $files[$i]); } $main_img_src = $this->checkImgExists($global_link_dir . '' . $files[$i]); $previews_block[$c] = '<div class="carousel-block kp_checked">'; $previews_block[$c] .= '<img class="articulusImagesMiniImg imagePr" alt="" data-file="' . $files[$i] . '" src="' . checkImgExists($global_link_dir . '' . $files[$i]) . '" data-src_IMG_link="' . $global_link_dir . '' . $files[$i] . '">'; $previews_block[$c--] .= '</div>'; } else { if ($b == 1) { $main_img_src = $this->checkImgExists($global_link_dir . '' . $files[$i]); } $previews_block[$b] = '<div class="carousel-block">'; $previews_block[$b] .= '<img class="articulusImagesMiniImg imagePr" alt="" data-file="' . $files[$i] . '" src="' . checkImgExists($global_link_dir . '' . $files[$i]) . '" data-src_IMG_link="' . $global_link_dir . '' . $files[$i] . '">'; $previews_block[$b++] .= '</div>'; } } } // echo '<pre>'; // print_r($previews_block); // echo '</pre>'; // echo '*** '.$main_img_src.'***'; if (isset($previews_block)) { ksort($previews_block); $string = implode('', $previews_block); } else { $previews_block = array(); $string = ''; } $html = '<div class="carousel shadow" style="">' . PHP_EOL; $html .= count($previews_block) >= 3 ? '<a href="" class="articulusImagesArrow2 carousel-button-left" style="background-image:url(' . APELBURG_HOST . '/skins/images/general/artkart/s2.png)"></a>' . PHP_EOL : ''; $html .= '<div class="carousel-wrapper">' . PHP_EOL; $html .= '<div class="carousel-items">' . PHP_EOL; $html .= $first_img . $string; $html .= '</div>' . PHP_EOL; $html .= '</div>' . PHP_EOL; $html .= count($previews_block) >= 3 ? '<a href="" class="articulusImagesArrow2 carousel-button-right" style="background-image:url(' . APELBURG_HOST . '/skins/images/general/artkart/s22.png); float:right; margin-top:-70px"></a>' . PHP_EOL : ''; $html .= '</div>' . PHP_EOL; $html .= '<div id="image_add">Загрузить ещё</div>' . PHP_EOL; $previews_block = $html; return array('main_img_src' => $main_img_src, 'previews_block' => $previews_block); }
function make_com_offer($id_arr, $stock, $order_num, $client_manager_id, $control_num) { global $db; global $client_id; global $user_id; $order_num = $order_num != 'false' && $order_num != '' ? $order_num : '00000'; $client_manager_id = $client_manager_id != 'false' && $client_manager_id != '' ? $client_manager_id : false; $com_offer_descriptions = array(); $com_offer_description_length = 80; $prefix = '../admin/order_manager/'; //echo $order_num.' '.$client_manager_id; $cont_face_data_arr = get_client_cont_face_by_id($client_id, $client_manager_id, true); $client_data_arr = select_all_client_data($client_id); //print_r($cont_face_data_arr); //exit; // собираем контент коммерческого предложения $file_content = '<div style="width:625px;background-color:#FFFFFF;"><div style="text-align:right;font-family:verdana;font-size:12px;font-weight:bold;line-height:16px;"><br>В компанию: ' . $client_data_arr['comp_full_name'] . '<br>Кому: ' . $cont_face_data_arr['name'] . '<br>Контакты: ' . $cont_face_data_arr['phone'] . '<br>' . $cont_face_data_arr['email'] . '<br><br></div> <div style="font-family:verdana;font-size:18px;padding:10px;color:#10B050;text-align:center">Коммерческое предложение</div>'; $file_content .= '<table width="625" style="border:#CCCCCC solid 1px; border-collapse:collapse;background-color:#FFFFFF;font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px;" valign="top">'; $tr_td = '<tr><td style="border:#CCCCCC solid 1px;" width="300" valign="middle" align="center">'; $td_tr = '</td></tr>'; $td_td = '</td><td style="border:#CCCCCC solid 1px;padding:6px;" width="325" valign="top">'; // этап создания контента меню // принцип следующий сортируем id в порядке возрастания, и считываем ряды из таблицы в порядке возрастания, при считывании // рядов первоначально считывается персонализация относящаяся к артикулу, записываем её данные в массив, когда доходим до // ряда "article" или ряда "ordinary" проверям были ли созданна переменная содержащая информацию о нанесении если да // записываем данные по нанесению которые были считанны до этого в общую строку, предварительно развернув массив // с этими данными, затем переменную с данными о нанесении удаляем, если нет добавляем пустую запись // собранную сроку записываем в итоговый массив который перед записью в файл разворачиваем // если в конце всей обработки были считанны данные по нанесению но строка артикул в итоге не последовала // тогда эти данные добавляются в итоговый массив без данных об артикуле, на последнем шаге // перед разворотом массива и записью данных в файл // этап создания файла КП и сохраниения его на диск // проверяем существует ли папка данного клиента если нет создаем её // если происходит ошибка выводим отчет // проверяем существует ли файл с таким названием если сушествует выводим предупреждение // создаем и записываем файл если происходит ошибка выводим отчет /**/ natsort($id_arr); $string = $article_string = $ordinary_string = $print_string = $itog_string = ''; // схема: // 1). блокируем таблицу CALCULATE_TBL // блокируем таблицу CALCULATE_TBL_PROTOCOL // 2). получаем id // 3). производим изменения в таблице CALCULATE_TBL // 4). разблокируем таблицы CALCULATE_TBL и CALCULATE_TBL_PROTOCOL // 1) mysql_query("LOCK TABLES " . CALCULATE_TBL . " WRITE, " . CALCULATE_TBL_PROTOCOL . " WRITE, " . COM_PRED_LIST_OLD . " WRITE , " . LAST_COM_PRED_NUM . " WRITE, " . BASE_TBL . " READ ") or die(mysql_error()); $previos_marker_summ_print = ''; foreach ($id_arr as $id_row) { // 2) $row_id = check_changes_to_rt_protocol($control_num, $id_row); if ($row_id == false) { mysql_query("UNLOCK TABLES") or die(mysql_error()); return; } // 3) $query = "SELECT*FROM `" . CALCULATE_TBL . "` WHERE `id` = '" . $row_id . "'"; $result = mysql_query($query, $db); if (!$result) { echo mysql_error(); } $item = mysql_fetch_assoc($result); if ($item['type'] == 'article') { $article_string = $tr_td; // проверяем наличие изображения $query_dop = "SELECT*FROM `" . BASE_TBL . "` WHERE `art` = '" . $item['article'] . "'"; $result_dop = mysql_query($query_dop, $db); if (!$result_dop) { echo mysql_error(); } $item_dop = mysql_fetch_assoc($result_dop); $id = $item_dop['id']; $img_path = '../../img/' . $item_dop['image'] . '.jpg'; $img_src = checkImgExists($img_path); //$img_path = ''; //$img_src = '../../skins/images/img_design/icon_index_2.jpg'; // меняем размер изображения $size_arr = transform_img_size($img_src, 230, 300); //$size_arr = array(230,300); //$size_arr = array(100,100); // вставляем изображение $article_string .= '<img src="' . $img_src . '" height="' . $size_arr[0] . '" width=' . $img_src[1] . '">' . $td_td; // количество $quantity = $item['quantity']; // стоимость $price = $item['discount'] == 0 ? $item['price'] : $item['price'] + $item['price'] / 100 * $item['discount']; $summ = $quantity * $price; $article = $item['marker_hidearticle'] == 'on' ? '' : 'арт.: <a href="/index.php?page=description&id=' . $id . '" target="_blank">' . $item['article'] . '</a>'; // наименование сувенира $str_len = 40; $article_name = $item['name']; $article_name = nl2br($article_name); $article_name = iconv("UTF-8", "windows-1251//TRANSLIT", $article_name); if (strpos($article_name, '<br>') == true) { $article_name = str_replace('<br>', '<br />', $article_name); } $article_name_arr = explode('<br />', $article_name); $new_line = '<br /> '; foreach ($article_name_arr as $key => $piece) { if (strlen($piece) > $str_len) { $piece = wordwrap($piece, $str_len, $new_line); $article_name_arr[$key] = $piece; } else { $article_name_arr[$key] = trim($piece); } } $article_name = implode($new_line, $article_name_arr); $article_name = iconv("windows-1251", "UTF-8//TRANSLIT", $article_name); //iconv_strlen($article_name,'UTF-8') $article_string .= '<b>Сувенир:</b><br /> ' . $article_name . '<br /> ' . $article . '<br /> Тираж: ' . $item['quantity'] . ' шт.<br /> 1шт.: ' . number_format($price, 2, '.', ' ') . 'руб. / тираж: ' . number_format($summ, 2, '.', ' ') . 'руб.<br />'; $description_str = strip_tags($article_name); $description_str = str_replace('<br>', ' ', $description_str); $description_str = str_replace('<br/>', ' ', $description_str); $description_str = str_replace('<br />', ' ', $description_str); $description_str = str_replace(' ', ' ', $description_str); $description_str = preg_replace('|[\\s]+|s', ' ', $description_str); $description_str = trim($description_str, ' '); $description_str = str_replace(' ', ',', $description_str); $com_offer_description = substr($description_str, 0, strpos($description_str, ',')); $com_offer_description = strlen($com_offer_description) > $com_offer_description_length ? substr($com_offer_description, 0, $com_offer_description_length) : $com_offer_description; if (trim($com_offer_description) != '') { $com_offer_descriptions[] = $com_offer_description; } if ($stock) { $ostatok_update_time = substr($item_dop['ostatok_update_time'], 11, 5); $ostatok_update_date = substr($item_dop['ostatok_update_time'], 8, 2) . substr($item_dop['ostatok_update_time'], 4, 4) . substr($item_dop['ostatok_update_time'], 0, 4); $ostatok = $item_dop['ostatok']; $ostatok_block = '<div style="font-size:10px;color:#669900;"> <span style="font-size:13px;font-family:Arial;">остаток - ' . $ostatok . '</span> шт. на <span style="font-size:11px;font-family:Arial;">' . $ostatok_update_time . ' ' . $ostatok_update_date . '</span> </div><br />'; } else { $ostatok_block = '<br />'; } $short_space_str = ' '; $long_space_str = ' '; $quantity_for_division = $quantity == 0 ? 1 : $quantity; if (isset($print_rows)) { $print_rows = array_reverse($print_rows); $print_string = '<b>Лого:</b><br />'; $itog_string = '<br /><b>Стоимость сувенира + лого:</b><br />'; for ($i = 0; $i < count($print_rows); $i++) { if (count($print_rows) == 1) { $print_string .= $short_space_str . str_replace('{##}', $short_space_str, $print_rows[$i][1]); $itog_string .= $short_space_str . '<span style="color:#00B050;font-weight:bold;">1шт. : ' . number_format(($summ + $print_rows[$i][0]) / $quantity_for_division, 2, '.', ' ') . ' руб. / тираж: ' . number_format($summ + $print_rows[$i][0], 2, '.', ' ') . 'руб.</span><br />'; } else { $print_string .= '<br />' . $short_space_str . ($i + 1) . '. ' . str_replace('{##}', $long_space_str, $print_rows[$i][1]); $itog_string .= $short_space_str . '<span style="color:#00B050;font-weight:bold;">' . ($i + 1) . '. 1шт. : ' . number_format(($summ + $print_rows[$i][0]) / $quantity_for_division, 2, '.', ' ') . ' руб. / тираж: ' . number_format($summ + $print_rows[$i][0], 2, '.', ' ') . 'руб.</span><br />'; } } } $rows_data[] = $article_string . $ostatok_block . $print_string . $itog_string . $td_tr; unset($print_rows); $article_string = $print_string = $itog_string = ''; } elseif ($item['type'] == 'ordinary') { // пустая ячейка $ordinary_string = $tr_td . ' ' . $td_td; // количество $quantity = $item['quantity']; // стоимость $price = $item['discount'] == 0 ? $item['price'] : $item['price'] + $item['price'] / 100 * $item['discount']; $summ = $quantity * $price; // наименование сувенира $str_len = 40; $article_name = $item['name']; $article_name = nl2br($article_name); $article_name = iconv("UTF-8", "windows-1251//TRANSLIT", $article_name); if (strpos($article_name, '<br>') == true) { $article_name = str_replace('<br>', '<br />', $article_name); } $article_name_arr = explode('<br />', $article_name); $new_line = '<br /> '; foreach ($article_name_arr as $key => $piece) { if (strlen($piece) > $str_len) { $piece = wordwrap($piece, $str_len, $new_line); $article_name_arr[$key] = $piece; } else { $article_name_arr[$key] = trim($piece); } } $article_name = implode($new_line, $article_name_arr); $article_name = iconv("windows-1251", "UTF-8//TRANSLIT", $article_name); //iconv_strlen($article_name,'UTF-8') $ordinary_string .= ' ' . $article_name . '<br /> Тираж: ' . $item['quantity'] . ' шт.<br /> 1шт.: ' . number_format($price, 2, '.', ' ') . 'руб. / тираж: ' . number_format($summ, 2, '.', ' ') . 'руб.<br /><br />'; $short_space_str = ' '; $long_space_str = ' '; $quantity_for_division = $quantity == 0 ? 1 : $quantity; if (isset($print_rows)) { $print_rows = array_reverse($print_rows); $print_string = '<b>Лого:</b><br />'; $itog_string = '<br /><b>Стоимость сувенира + лого:</b><br />'; for ($i = 0; $i < count($print_rows); $i++) { if (count($print_rows) == 1) { $print_string .= $short_space_str . str_replace('{##}', $short_space_str, $print_rows[$i][1]); $itog_string .= $short_space_str . '<span style="color:#00B050;font-weight:bold;">1шт. : ' . number_format(($summ + $print_rows[$i][0]) / $quantity_for_division, 2, '.', ' ') . ' руб. / тираж: ' . number_format($summ + $print_rows[$i][0], 2, '.', ' ') . 'руб.</span><br />'; } else { $print_string .= '<br />' . $short_space_str . ($i + 1) . '. ' . str_replace('{##}', $long_space_str, $print_rows[$i][1]); $itog_string .= $short_space_str . '<span style="color:#00B050;font-weight:bold;">' . ($i + 1) . '. 1шт. : ' . number_format(($summ + $print_rows[$i][0]) / $quantity_for_division, 2, '.', ' ') . ' руб. / тираж: ' . number_format($summ + $print_rows[$i][0], 2, '.', ' ') . 'руб.</span><br />'; } } } $rows_data[] = $ordinary_string . $print_string . $itog_string . $td_tr; unset($print_rows); $ordinary_string = $print_string = $itog_string = ''; } elseif ($item['type'] == 'print') { // количество $print_quantity = $item['quantity']; // стоимость $print_price = $item['discount'] == 0 ? $item['price'] : $item['price'] + $item['price'] / 100 * $item['discount']; $print_summ = $item['quantity'] * $print_price; // наименование нанесения $str_len = 38; $print_description = $item['name']; $print_description = nl2br($print_description); $print_description = iconv("UTF-8", "windows-1251//TRANSLIT", $print_description); if (strpos($print_description, '<br>') == true) { $print_description = str_replace('<br>', '<br />', $print_description); } $print_description_arr = explode('<br />', $print_description); $new_line = '<br />{##}'; foreach ($print_description_arr as $key => $piece) { if (strlen($piece) > $str_len) { $piece = wordwrap($piece, $str_len, $new_line); $print_description_arr[$key] = $piece; } else { $print_description_arr[$key] = trim($piece); } } $print_description = implode($new_line, $print_description_arr); $print_description = iconv("windows-1251", "UTF-8//TRANSLIT", $print_description); //iconv_strlen($print_description,'UTF-8') $string .= $print_description . '<br /> {##}Тираж: ' . $item['quantity'] . ' шт.<br /> {##}1шт.: ' . number_format($print_price, 2, '.', ' ') . 'руб. / тираж: ' . number_format($print_summ, 2, '.', ' ') . 'руб.<br />'; // если предыдущий ряд был отмечен маркером marker_summ_print (объединить расчет нанесения) то объеденяем данные // внося их в созданный ранее эелемент массива, если нет добавляем новый элемент. if ($previos_marker_summ_print == 'on') { $print_rows[count($print_rows) - 1] = array($print_rows[count($print_rows) - 1][0] + $print_summ, $string . '<br />{##}' . $print_rows[count($print_rows) - 1][1]); } else { $print_rows[] = array($print_summ, $string); } $string = ''; $previos_marker_summ_print = $item['marker_summ_print']; } } $com_pred_num = get_new_com_offer_num(); $query = "INSERT INTO `" . COM_PRED_LIST_OLD . "` SET `client_id` = '" . $client_id . "',\n\t\t `com_pred_num` = '" . $com_pred_num . "',\n\t\t\t\t\t\t\t\t\t\t\t\t\t `order_num` = '" . $order_num . "',\n\t\t\t\t\t\t\t\t\t\t\t\t\t `manager` = '" . $cont_face_data_arr['name'] . "',\n\t\t\t\t\t\t\t\t\t\t\t\t\t `description` = '" . implode(', ', $com_offer_descriptions) . "'\n\t\t\t\t\t\t\t\t\t\t\t\t\t "; mysql_query($query, $db) or die(mysql_error()); // 4) mysql_query("UNLOCK TABLES") or die(mysql_error()); // если в конце были данные по нанесению, но не было строки артикул, записываем их в массив данных if (isset($print_rows)) { $print_rows = array_reverse($print_rows); //$print_string = '<b>Лого:</b><br />'; for ($i = 0; $i < count($print_rows); $i++) { $print_string .= ' ' . ($i + 1) . '. ' . $print_rows[$i][1]; } $rows_data[] = $tr_td . '' . $td_td . $article_string . $print_string . $td_tr; } // записываем все данные в строку предварительно разварнув массив $file_content .= implode('', array_reverse($rows_data)) . '</td></tr></table> <div style="text-align:right;font-family:verdana;font-size:12px;line-height:20px;"><br>' . convert_bb_tags(mysql_result(select_manager_data($user_id), 0, 'mail_signature')) . '<br><br><br></div></div>'; // этап создания файла КП и сохраниения его на диск // проверяем существует ли папка данного клиента если нет создаем её // если происходит ошибка выводим отчет // проверяем существует ли файл с таким названием если сушествует выводим предупреждение // создаем и записываем файл если происходит ошибка выводим отчет // проверяем есть папка данного клента, если её нет то создаем её $dir_name_full = $prefix . 'data/com_offers/' . strval(intval($_GET['client_id'])); //chmod("data/com_offers/", 0755); if (!file_exists($dir_name_full)) { if (!mkdir($dir_name_full, 0700)) { echo 'ошибка создания папки клиента (4)' . $dir_name_full; exit; } } else { if (!is_dir($dir_name_full)) { if (!unlink($dir_name_full)) { echo 'ошибка удаления одноименного с папкой файла (3)'; exit; } echo 'повторите команду создания КП (3.1)'; exit; } } // записываем файл $file_name = $dir_name_full . '/com_pred_' . date('Y_d_m__Gis') . '_' . $order_num . '_' . $com_pred_num . '.doc'; //$file_name = $dir_name_full.'/com_pred_1_1.doc'; if (file_exists($file_name)) { echo 'файл с таким именем уже существует (2)'; exit; } $fd = fopen($file_name, 'w'); $write_result = fwrite($fd, $file_content); //\r\n fclose($fd); if ($write_result) { echo 1; } else { echo 'ошибка создания файла коммерческого предложения (1)'; } //print_r($id_arr); exit; }
public function color_variants_to_html2($color_variants) { //print_r($color_variants);// foreach ($color_variants as $item) { $block[] = '<div class="carousel-block"><a target="_blank" href="' . APELBURG_HOST . '/description/' . $item['id'] . '/" border="0"><img class="carousel-block" alt="" src="' . checkImgExists(APELBURG_HOST . '/img/' . $item['img']) . '" ></a></div>' . PHP_EOL; } $string = implode('', $block); $html = '<div id="articulusImagesMiniImg" class="carousel shadow">' . PHP_EOL; $html .= count($block) > 6 ? '<a href="" class="articulusImagesArrow1 carousel-button-left" style="background-image:url(' . APELBURG_HOST . '/skins/images/general/artkart/s1.png); margin-right:5px"></a>' . PHP_EOL : ''; $html .= '<div class="carousel-wrapper">' . PHP_EOL; $html .= '<div class="carousel-items">'; $html .= $string; $html .= '</div>' . PHP_EOL; $html .= '</div>' . PHP_EOL; $html .= count($block) > 6 ? '<a href="" class="articulusImagesArrow1 carousel-button-right" style="background-image:url(' . APELBURG_HOST . '/skins/images/general/artkart/s11.png); margin-left:5px; background-position: 3px"></a>' . PHP_EOL : ''; $html .= '</div>'; return $html; }