здравствуйте.
установил в своем магазине комментарии sv kament, в них есть функция сохранения комментариев на сервере сайта для seo.
пытаюсь настроить сохранение в базу как написано тут http://svkament.ru/faq#kament_page_name
так как плохо разбираюсь в php и работой с базой пока решил вставить код в шаблон
получился вот такой код
<?php
$subdomain = "smold";
$page_name ='http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
function update_kament_comments($subdomain, $page_name) {
$plain = '';
$row = NULL;
// Сначала проверим в БВ
$result = $this->db->query("SELECT data, UNIX_TIMESTAMP(timestamp) as timestamp from kament_raw_comments WHERE page_name=\"$page_name\"");
if(!$result) {
error_log('Bad query in update_kament_comments()!');
return NULL;
} else {
$row = mysql_fetch_assoc($result);
if($row)
$plain = $row->data;
}
// если данные в БД не найдены или они устарели - обновить с KAMENT сервера
if(!$row || $row['timestamp'] < (time() - 1800) ) {
$new_data = kament_download_from_url('http://' . $subdomain . ".svkament.ru/commentswidget/plain/?page_name=$page_name");
if($new_data != NULL) {
$plain = $new_data;
$result = $this->db->query("INSERT INTO $table_name (page_name, timestamp, data) VALUES(\"$page_name\", NOW(), \"$new_data\") ON DUPLICATE KEY UPDATE timestamp=NOW(),data=\"$new_data\"");
if(!$result) {
error_log('Unable to save new data to DB in update_kament_comments()');
}
}
}
return $plain;
}
// Скачать данные по заданному URL используя CURL
function kament_download_from_url($url) {
if(!function_exists('curl_version'))
return NULL;
$ch = @curl_init ( $url );
if(!$ch)
return NULL;
curl_setopt( $ch, CURLOPT_AUTOREFERER, true );
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, FALSE);
$output = curl_exec ( $ch );
$httpcode = curl_getinfo($ch,CURLINFO_HTTP_CODE);
if (curl_errno ( $ch ) || $httpcode != 200) {
return NULL;
} else {
curl_close ( $ch );
}
if( strpos($output, 'kament-plaintext-comments')===false )
return NULL;
return $output;
}
$plain_comments = update_kament_comments($subdomain, $page_name);
?>
<div id="kament_comments">
<?php echo $plain_comments; ?>
</div>
<script type="text/javascript">
/* * * НАСТРОЙКА * * */
var kament_subdomain = 'smold';
/* * * НЕ МЕНЯЙТЕ НИЧЕГО НИЖЕ ЭТОЙ СТРОКИ * * */
(function() {
var node = document.createElement('script'); node.type = 'text/javascript'; node.async = true;
node.src = 'http://' + kament_subdomain + '.svkament.ru/js/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(node);
})();
</script>
<noscript>Для отображения комментариев нужно включить Javascript</noscript>
таблицу в базе данных создал используя запрос из faq
база данных без префикса.
в общем прошу помощи в доработке этого кода под опенкарт (1,5,4,1), в данном виде не работает .
нужно изменить только sql запросы или где то еще косяки?