Юрий

Юрий

+210
Репутация
6045
Рейтинг
#1 Не добавляются комментарии:( 19 апреля 2009 в 20:25
Сейчас попробовал, все работает
#2 Как вставить в модуль флеш/js меню.... 16 апреля 2009 в 14:59
Я тупо вставил код прямо в template.php
#3 16 апреля 2009 в 14:45
Вот привожу свой код, думаю разберешься.

www\components\catalog\includes\shopcore.php

<?php
/*********************************************************************************************/
// //
// InstantCMS v1.0 © 2008 COMMERCIAL VERSION //
// Source code protected by copyright laws //
// //
// instantcms.ru/, info@instantcms.ru //
// //
// written by Vladimir E. Obukhov, 2007-2009 //
// //
/*********************************************************************************************/
if(!defined(’VALID_CMS’)) { die(’ACCESS DENIED’); }

////////////////////////////////////////////////////////////////////////////////////////////////
function shopAddToCart($item_id, $itemscount=1){
if (isset($_SESSION[’user’][’id’])){ $user_id = $_SESSION[’user’][’id’]; } else { $user_id = 0; }
$sid = session_id();

shopCheckCarts();

if (!shopIsInCart($item_id)){
$sql = "INSERT INTO cms_uc_cart (id, user_id, session_id, item_id, pubdate, itemscount)
VALUES (’’, ’$user_id’, ’$sid’, ’$item_id’, NOW(), ’$itemscount’)";
} else {
$sql = "UPDATE cms_uc_cart SET itemscount = itemscount + 1 WHERE item_id = ".$item_id." AND (user_id=$user_id OR (user_id=0 AND session_id=’$sid’))";
}

$rs = mysql_query($sql) or die(mysql_error());

return true;
}

function shopClearCart(){
if (isset($_SESSION[’user’][’id’])){ $user_id = $_SESSION[’user’][’id’]; } else { $user_id = 0; }
$sid = session_id();
$sql = "DELETE FROM cms_uc_cart WHERE (user_id=$user_id OR (user_id=0 AND session_id=’$sid’))";
$rs = mysql_query($sql) or die(mysql_error());
return true;
}

function shopRemoveFromCart($item_id=0){
if (isset($_SESSION[’user’][’id’])){ $user_id = $_SESSION[’user’][’id’]; } else { $user_id = 0; }
$sid = session_id();
$sql = "DELETE FROM cms_uc_cart WHERE item_id = $item_id AND (user_id=$user_id OR (user_id=0 AND session_id=’$sid’))";
$rs = mysql_query($sql) or die(mysql_error());
return true;
}

function shopIsInCart($item_id=0){
if (isset($_SESSION[’user’][’id’])){ $user_id = $_SESSION[’user’][’id’]; } else { $user_id = 0; }
$sid = session_id();

if ($user_id){ $user_sql = "(user_id=$user_id OR session_id=’$sid’)"; } else { $user_sql = "(user_id=0 AND session_id=’$sid’)"; }

if ($item_id){
$isin = dbRowsCount(’cms_uc_cart’, "item_id = $item_id AND $user_sql");
} else {
$isin = dbRowsCount(’cms_uc_cart’, "$user_sql");
}
return $isin;
}

function shopCartLink(){
global $menuid;
$items = shopIsInCart();
$html = ’’;
$html .= ’<a id="shop_cartlink" href="/catalog/’.$menuid.’/viewcart.html">Корзина’;
if ($items){
$html .= ’ (’.$items.’)’;
}
$html .= ’</a>’;
return $html;
}

function shopCheckCarts(){
$sql = "DELETE FROM cms_uc_cart WHERE user_id = 0 AND pubdate <= DATE_SUB(NOW(), INTERVAL 3 HOUR)";
mysql_query($sql) or die(mysql_error());
return true;
}

function shopUpdateCart($itemcounts){
foreach($itemcounts as $id => $count){
$sql = "UPDATE cms_uc_cart SET itemscount = $count WHERE id = $id";
mysql_query($sql) or die(mysql_error());
}
return true;
}

function shopCart(){
global $menuid;
if (isset($_SESSION[’user’][’id’])){ $user_id = $_SESSION[’user’][’id’]; } else { $user_id = 0; }
$sid = session_id();

//if (cmsUserCan(’shop/buy’)){
$GLOBALS[’back_btn’] = 0;
cmsPageTitle(’ Корзина’);
cmsAddPathway(’ Корзина’, $_SERVER[’REQUEST_URI’]);

echo ’<div class="con_heading">Корзина</div>’;

if ($user_id){ $user_sql = "(c.user_id=$user_id OR session_id=’$sid’)"; } else { $user_sql = "(c.user_id=0 AND c.session_id=’$sid’)"; }

$sql = "SELECT i.title as title, i.id as id, i.canmany as canmany, c.id as cid, cat.id as category_id, cat.title as category, c.itemscount as itemscount, i.price as price, (i.price*c.itemscount) as totalprice
FROM cms_uc_items i, cms_uc_cart c, cms_uc_cats cat
WHERE $user_sql AND c.item_id = i.id AND i.category_id = cat.id
ORDER BY c.pubdate";
$rs = mysql_query($sql) or die(mysql_error());

if (mysql_num_rows($rs)){
//BUILD LIST
//delete confirmation js
echo ’<script type="text/javascript">’."\n";
echo "function deleteItem(id){
if(confirm(’ Удалить позицию из корзины?’)){
window.location.href = ’/catalog/0/cartremove’+id+’.html’;
}
}";
echo "function clearCart(){
if(confirm(’ Очистить корзину?’)){
window.location.href = ’/catalog/0/clearcart.html’;
}
}";
echo "function saveCart(){
document.cartform.submit();
}";
echo ’</script>’."\n";
//table
echo ’<form action="/catalog/0/savecart.html" method="POST" name="cartform">’;
echo ’<table width="100%" cellpadding="5" cellspacing="0" border="0">’;
echo ’<tr>’;
echo ’<td width="16"> </td>’;
echo ’<td><strong>Позиция</strong></td>’;
echo ’<td width="200"><strong>Рубрика</strong></td>’;
echo ’<td width="120" align="center"><strong>Кол-во</strong></td>’;
echo ’<td width="100" align="center"><strong>Цена</strong></td>’;
echo ’<td width="20" align="center"> </td>’;
echo ’</tr>’;
$row=0; $total = 0;
while($item = mysql_fetch_assoc($rs)){
$row++;
if ($row%2) { $class="search_row1"; } else { $class="search_row2"; }
$item[’price’] = number_format($item[’price’], 2, ’.’, ’’);
$total += $item[’totalprice’];
$item[’totalprice’] = number_format($item[’totalprice’], 2, ’.’, ’ ’);
echo ’<tr>’;
echo ’<td class="’.$class.’"><img src="/components/catalog/images/icons/cart.png" border="0"></td>’;
echo ’<td class="’.$class.’"><a href="/catalog/’.$menuid.’/item’.$item[’id’].’.html">’.$item[’title’].’</a></td>’;
echo ’<td class="’.$class.’"><a href="/catalog/’.$menuid.’/’.$item[’category_id’].’">’.$item[’category’].’</a></td>’;
echo ’<td class="’.$class.’" align="center">’.$item[’price’].’ x ’.shopItemsCounter($item[’cid’], $item[’itemscount’], $item[’canmany’]).’ =</td>’;
echo ’<td class="’.$class.’" align="center"><strong>’.$item[’totalprice’].’</strong></td>’;
echo ’<td class="’.$class.’" align="center">’;
echo ’<a href="javascript:deleteItem(’.$item[’id’].’)" title="Удалить"><img src="/admin/images/actions/delete.gif" border="0"/></a>’;
echo ’</td>’;
echo ’</tr>’;
}
echo ’</table>’;
echo ’</form>’;

$total = number_format($total, 2, ’.’, ’ ’);
echo ’<div id="cart_total">’;
echo ’<span>Итого:</span> ’.$total.’ руб.’;
echo ’</div>’;

//buttons
echo ’<div id="cart_buttons">’;
echo ’<div id="cart_buttons1">’;
echo ’<a href="javascript:saveCart()" title="Сохранить">’;
echo ’<img src="/components/catalog/images/shop/savecart.jpg" border="0" alt="Сохранить"/>’;
echo ’</a> ’;
echo ’<a href="javascript:clearCart();" title="Очистить корзину">’;
echo ’<img src="/components/catalog/images/shop/clearcart.jpg" border="0" alt="Очистить корзину"/>’;
echo ’</a> ’;
echo ’</div>’;
echo ’<div id="cart_buttons2">’;
echo ’<a href="/catalog/’.$menuid.’" title="Вернуться в магазин">’;
echo ’<img src="/components/catalog/images/shop/cartback.jpg" border="0" alt="Вернуться в магазин"/>’;
echo ’</a> ’;
echo ’<a href="/catalog/’.$menuid.’/order.html" title="Оформить заказ">’;
echo ’<img src="/components/catalog/images/shop/cartorder.jpg" border="0" alt="Оформить заказ"/>’;
echo ’</a> ’;
echo ’</div>’;
echo ’</div>’;
} else {
//NO ITEMS
echo ’<p>В корзине нет товаров.</p>’;
echo ’<div id="cart_buttons2">’;
echo ’<a href="/catalog/’.$menuid.’" title="Вернуться в магазин">’;
echo ’<img src="/components/catalog/images/shop/cartback.jpg" border="0" alt="Вернуться в магазин"/>’;
echo ’</a> ’;
echo ’</div>’;

}

// } else {
// echo ’ Доступ запрещен.’;
// }
}

function shopOrder($cfg){
global $menuid;
if (isset($_SESSION[’user’][’id’])){ $user_id = $_SESSION[’user’][’id’]; } else { $user_id = 0; }
$sid = session_id();

$GLOBALS[’back_btn’] = 0;
cmsPageTitle(’ Оформление заказа’);
cmsAddPathway(’ Корзина’, ’/catalog/’.$menuid.’/viewcart.html’);
cmsAddPathway(’ Оформление заказа’, $_SERVER[’REQUEST_URI’]);

echo ’<div class="con_heading">Оформление заказа</div>’;

echo ’<div class="con_description">’.nl2br($cfg[’delivery’]).’</div>’;

if ($user_id){ $user_sql = "(c.user_id=$user_id OR session_id=’$sid’)"; } else { $user_sql = "(c.user_id=0 AND c.session_id=’$sid’)"; }

$sql = "SELECT i.title as title, i.id as id, i.canmany as canmany, c.id as cid, cat.id as category_id, cat.title as category, c.itemscount as itemscount, i.price as price, (i.price*c.itemscount) as totalprice
FROM cms_uc_items i, cms_uc_cart c, cms_uc_cats cat
WHERE $user_sql AND c.item_id = i.id AND i.category_id = cat.id
ORDER BY c.pubdate";
$rs = mysql_query($sql) or die(mysql_error());

if (mysql_num_rows($rs)){
//BUILD LIST
//table
echo ’<form action="/catalog/0/savecart.html" method="POST" name="cartform">’;
echo ’<table width="100%" cellpadding="5" cellspacing="0" border="0">’;
echo ’<tr>’;
echo ’<td width="16"> </td>’;
echo ’<td><strong>Позиция</strong></td>’;
echo ’<td width="200"><strong>Рубрика</strong></td>’;
echo ’<td width="120" align="center"><strong>Кол-во</strong></td>’;
echo ’<td width="100" align="center"><strong>Цена</strong></td>’;
echo ’</tr>’;
$row=0; $total = 0;
while($item = mysql_fetch_assoc($rs)){
$row++;
if ($row%2) { $class="search_row1"; } else { $class="search_row2"; }
$item[’price’] = number_format($item[’price’], 2, ’.’, ’’);
$total += $item[’totalprice’];
$item[’totalprice’] = number_format($item[’totalprice’], 2, ’.’, ’ ’);
echo ’<tr>’;
echo ’<td class="’.$class.’"><img src="/components/catalog/images/icons/cart.png" border="0"></td>’;
echo ’<td class="’.$class.’"><a href="/catalog/’.$menuid.’/item’.$item[’id’].’.html">’.$item[’title’].’</a></td>’;
echo ’<td class="’.$class.’"><a href="/catalog/’.$menuid.’/’.$item[’category_id’].’">’.$item[’category’].’</a></td>’;
echo ’<td class="’.$class.’" align="center">’.$item[’price’].’ x ’.$item[’itemscount’].’ =</td>’;
echo ’<td class="’.$class.’" align="center"><strong>’.$item[’totalprice’].’</strong></td>’;
echo ’</tr>’;
}
echo ’</table>’;
echo ’</form>’;

$total = number_format($total, 2, ’.’, ’ ’);
echo ’<div id="cart_total">’;
echo ’<span>Общая сумма заказа:</span> ’.$total.’ руб.’;
echo ’</div>’;

//DELIVERY INFO FORM
echo ’<div class="con_heading">Информация покупателя</div>’;
echo ’<div>Поля, помеченные символом * обязательны к заполнению. </div>’;

echo ’<form action="/catalog/’.$menuid.’/finish.html" method="POST">’;
echo ’<table width="100%" cellspacing="0" cellpadding="5">’;
echo ’<tr>’;
echo ’<td width="40%" align="right">* ФИО покупателя: </td>’;
echo ’<td width="60%" align="left"><input name="customer_fio" type="text" size="45" /></td>’;
echo ’</tr>’;
echo ’<tr>’;
echo ’<td width="40%" align="right">* Адрес: </td>’;
echo ’<td width="60%" align="left"><input name="customer_company" type="text" size="45" /></td>’;
echo ’</tr>’;
echo ’<tr>’;
echo ’<td width="40%" align="right">* Контактный телефон: </td>’;
echo ’<td width="60%" align="left"><input name="customer_phone" type="text" size="45" /></td>’;
echo ’</tr>’;
echo ’<tr>’;
echo ’<td width="40%" align="right">* Количество персон: </td>’;
echo ’<td width="60%" align="left"><input name="customer_count" type="text" size="45" /></td>’;
echo ’</tr>’;
echo ’<tr>’;
echo ’<td width="40%" align="right">E-Mail: </td>’;
echo ’<td width="60%" align="left"><input name="customer_comment" type="text" size="45" /></td>’;
echo ’</tr>’;

echo ’<tr>’;
echo ’<td width="40%" align="right"> </td>’;
echo ’<td width="60%" align="left">’;
echo cmsCaptcha();
echo ’</td>’;
echo ’</tr>’;

echo ’<tr>’;
echo ’<td width="30%" align="right"> </td>’;
echo ’<td width="70%" align="left"><input name="order" type="submit" value="Отправить заказ" /></td>’;
echo ’</tr>’;
echo ’</table>’;
echo ’</form>’;

} else {
//NO ITEMS
echo ’<p>В корзине нет товаров.</p>’;
echo ’<div id="cart_buttons2">’;
echo ’<a href="/catalog/’.$menuid.’" title="Вернуться в магазин">’;
echo ’<img src="/components/catalog/images/shop/cartback.jpg" border="0" alt="Вернуться в магазин"/>’;
echo ’</a> ’;
echo ’</div>’;

}

}

function shopFinishOrder($cfg){
global $menuid;
if (isset($_SESSION[’user’][’id’])){ $user_id = $_SESSION[’user’][’id’]; } else { $user_id = 0; }
$sid = session_id();

$GLOBALS[’back_btn’] = 0;
cmsPageTitle(’ Заказ принят’);

if ($user_id){ $user_sql = "(c.user_id=$user_id OR session_id=’$sid’)"; } else { $user_sql = "(c.user_id=0 AND c.session_id=’$sid’)"; }

$sql = "SELECT i.title as title, i.id as id, i.canmany as canmany, i.price as price, (i.price*c.itemscount) as totalprice,
c.id as cid, c.itemscount as itemscount,
cat.id as category_id, cat.title as category
FROM cms_uc_items i, cms_uc_cart c, cms_uc_cats cat
WHERE $user_sql AND c.item_id = i.id AND i.category_id = cat.id
ORDER BY c.pubdate";
$rs = mysql_query($sql) or die(mysql_error());

if (mysql_num_rows($rs)){
//check user data
$customer = array();
if(!empty($_REQUEST[’customer_fio’])) { $customer[’fio’] = $_REQUEST[’customer_fio’]; } else { $error .= ’ Укажите свое имя!<br/>’; }
if(!empty($_REQUEST[’customer_phone’])) { $customer[’phone’] = $_REQUEST[’customer_phone’]; } else { $error .= ’ Укажите контактный телефон!<br/>’; }
if(!empty($_REQUEST[’customer_company’])) { $customer[’company’]= $_REQUEST[’customer_company’];} else { $error .= ’ Укажите адрес доставки!<br/>’; }
if(!empty($_REQUEST[’customer_count’])) { $customer[’count’]= $_REQUEST[’customer_count’];} else { $error .= ’ Укажите адрес доставки!<br/>’; }
$customer[’comment’] = @$_REQUEST[’customer_comment’];
if(!cmsCheckImgCode($_REQUEST[’code’])) { $error .= ’ Неправильно указан защитный код с картинки!<br/>’; }

//BUILD MESSAGE
if($error==’’){
//message heading
$mail_message = ’’;
$mail_message .= "Получен заказ из каталога сайта.\n\n";
$mail_message .= "ПОКУПАТЕЛЬ\n-----------------------------\n";
$mail_message .= "ФИО: ". $customer[’fio’]. "\n";
$mail_message .= "Адрес: ". @$customer[’company’]. "\n";
$mail_message .= "Телефон: ". $customer[’phone’]. "\n";
$mail_message .= "Количество персон: ". $customer[’count’]. "\n";
$mail_message .= "Е-Mail: ". @$customer[’comment’]. "\n\n";
//list of items
$mail_message .= "ЗАКАЗ\n---------------------------------\n";
$row=0; $total = 0;
while($item = mysql_fetch_assoc($rs)){
$row++;
if ($row%2) { $class="search_row1"; } else { $class="search_row2"; }
$item[’price’] = number_format($item[’price’], 2, ’.’, ’’);
$total += $item[’totalprice’];
$item[’totalprice’] = number_format($item[’totalprice’], 2, ’.’, ’ ’);
$mail_message .= $row. ’. ’. $item[’title’]. ’ (’. $item[’itemscount’]. ’ x ’. $item[’price’]. ’ руб) = ’. $item[’totalprice’]. ’ руб.’. "\n";
}

$total = number_format($total, 2, ’.’, ’ ’);
$mail_message .= "\n". ’ Общая сумма заказа: ’.$total.’ руб.’. "\n";
cmsMailText($cfg[’email’], ’ Гина Таки: заказ с сайта’, $mail_message);
//order completed
echo ’<div class="con_heading">Спасибо!</div>’;
echo ’<p style="clear:both"><b>Ваш заказ поступил в обработку.</b><br/>Наши менеджеры свяжутся с вами по указанному вами телефону в самое ближайшее время.</p>’;
echo ’<p><a href="/">Продолжить</a></p>’;
shopClearCart();
} else {
//order failed
echo ’<div class="con_heading">Ошибка!</div>’;
echo ’<p style="clear:both; color:red">’.$error.’</p>’;
echo ’<p><a href="#" onClick="window.history.back()">Назад</a></p>’;
}
} else {
//NO ITEMS
echo ’<p>В корзине нет товаров.</p>’;
echo ’<div id="cart_buttons2">’;
echo ’<a href="/catalog/’.$menuid.’" title="Вернуться в магазин">’;
echo ’<img src="/components/catalog/images/shop/cartback.jpg" border="0" alt="Вернуться в магазин"/>’;
echo ’</a> ’;
echo ’</div>’;

}
}

function shopItemsCounter($cartitem_id, $count, $canmany=1){
$count_field = ’’;
if ($canmany) { $count_field = ’<input type="text" style="text-align: center; font-size:9px; border:solid 1px black" size="5" name="kolvo[’.$cartitem_id.’]" value="’.$count.’"/>’; }
else { $count_field = ’<input type="hidden" name="kolvo[’.$cartitem_id.’]" value="1"/>1’; }
return $count_field;
}

?>
#4 [ЗАКРЫТО] Список багов версии 1.1 RC3 15 декабря 2008 в 20:44

<br/>Всем спасибо за оставляемые сообщения.<br/>Работа идет. В течении недели вероятно обновимся.<br/>

Администратор
<br/>Блин уже 11 дней прошло, собственно где? Хоть отпишись!!!
#1 [ЗАКРЫТО] Список багов версии 1.1 RC3 30 ноября 2008 в 19:36
Баг, в готовой статье ставлю галочку " Автоматически сгенерировать ключевые слова и описание", сохранить вот что выходит:<br/>Warning: include_once(/home/host700344/consuprav.ru/htdocs/www//includes/keywords.inc.php) [function.include-once]: failed to open stream: No such file or directory in /home/host700344/consuprav.ru/htdocs/www/core/cms.php on line 247<br/>Warning: include_once() [function.include]: Failed opening '/home/host700344/consuprav.ru/htdocs/www//includes/keywords.inc.php' for inclusion (include_path='.:/usr/local/lib/php') in /home/host700344/consuprav.ru/htdocs/www/core/cms.php on line 247<br/>Fatal error: Class 'autokeyword' not found in /home/host700344/consuprav.ru/htdocs/www/core/cms.php on line 260<br/>Также исправить в выпадающим меню, КОМПОНЕНТЫ нет пункта Банеры.<br/>А за патч ОГРОМНОЕ СПАСИБО!!!
#5 Модуль "До нового года осталосталось" 30 ноября 2008 в 18:59
Да актуально, ХОЧУ ТАКОЕ dance
#6 Список багов - 1.1 RC 2 29 ноября 2008 в 08:38
Такая фигня, есть флешь-банер, который разместил в модуле позиция Top, в опере отоброжается нормально, а Explorer нехочет вообще его показывать???? ссылка на сайт www.consuprav.ru
#7 29 ноября 2008 в 08:31
вот сайтик www.consuprav.ru
#8 Список багов - 1.1 RC 2 26 ноября 2008 в 17:28
К разговору о банерах, в выпадающим меню вообще нет такого пункта.
#9 Список багов - 1.1 RC 2 24 ноября 2008 в 21:26

<br/>поменяй все в файле config.inc.php на свои значения<br/>

Nikitoz
<br/>Все разобрался, Большое Спасибо. Только я непонял нафига так обновление сделали, что приходится все поновой настраивать.
#10 Список багов - 1.1 RC 2 24 ноября 2008 в 21:21

<br/>

<br/>Обновился вот что вышло<br/>Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: NO) in /home/host700344/consuprav.ru/htdocs/test/includes/database.inc.php on line 13<br/>Access denied for user 'root'@'localhost' (using password: NO)<br/>

Юрий
<br/>отредактируй настройки конекта с БД<br/>

<br/>Что именно редактировать? До обновления все работало.
#11 Список багов - 1.1 RC 2 24 ноября 2008 в 20:49
Обновился вот что вышло<br/>Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: NO) in /home/host700344/consuprav.ru/htdocs/test/includes/database.inc.php on line 13<br/>Access denied for user 'root'@'localhost' (using password: NO)
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.