Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

sv kament - сохранение комментариев в базе


stebgo

Recommended Posts

здравствуйте.

установил в своем магазине комментарии 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 запросы или где то еще косяки?

Надіслати
Поділитися на інших сайтах


здравствуйте.

установил в своем магазине комментарии sv kament, в них есть функция сохранения комментариев на сервере сайта для seo.

пытаюсь настроить сохранение в базу как написано тут http://svkament.ru/faq#kament_page_name

так как плохо разбираюсь в php и работой с базой пока решил вставить  код в шаблон

получился вот такой код

Ну как получилось?

Программисты помогите в данном вопросе - интересная тема!

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.