Страница 1 из 1

QPLAPI: Выделение объявлений и спецпредложения

СообщениеДобавлено: 10 мар 2009, 23:47
mnemonic
Здравствуйте, уважаемые пользователи доски объявлений QPLBoard. По многочисленным просьбам публикуем php скрипт-пример как средствами QPL API выделить объявление или сделать объявление "спецпредложением".

Надеемся, что данный пример поможет вам улучшить возможности доски. Если вы создаете собственные скрипты на базе QPL API (грабберы, управление объявлениями, новостные блоки и пр.), присылайте их нам на электронный ящик, мы в свою очередь сделаем их достоянием пользователей доски.

Ниже приводится рабочий пример того, как сделать выделение объявлений и спецпредложений.

Код: Выделить всё
<?php
  // =============================================
  // Пример выделения объявлений на доске QPLBoard
  // =============================================

  // подключаем необходимые файлы
  $g_ModulesOffset   = '';
  require_once("modules/qplboard/include.php");
  require_once("settings.php");

 
  // запускаем базу данных и "движок" доски
  $l_RunTimeManager = new BoardRTManager(null, null);
  $l_RunTimeManager->Run();
  $l_SC = $l_RunTimeManager->m_Advertisment;






  // выделяем объявление с идентификатором 1 на период QPLRU_SELECTED_DUR (см. файл settings.php)
  $l_AdvID = 1;
  if ($l_SC->MakeAdvSelectedAnyway($l_AdvID))
     echo "Объявление выделено<br/>";


  // делаем объявление с идентификатором 2 "спецпредложением" на период QPLRU_SPECIAL_DUR (см. файл settings.php)
  $l_AdvID = 2;
  if ($l_SC->MakeAdvSpecialAnyway($l_AdvID))
     echo "Объявление сделано специальным<br/>";


  // то же выделение объявления, но для произвольного количества дней, независимо от настроек QPLRU_SELECTED_DUR
  $l_AdvID = 3;
  $l_Days = 38;

  $l_Rows = $l_SC->m_DBManager->m_DBTableAdvert->SelectSimple("*", "@ID='".$l_AdvID."'");
  if (($l_Rows != null) && (count($l_Rows) > 0))
  {
     $l_DBData['Selected'] = 1;
     $l_DBData['SelectedStart'] = time();
     $l_DBData['SelectedDur'] = $l_Days; // выделяем объявление с идентификатором 3 на 38 дней
     $l_SC->m_DBManager->m_DBTableAdvert->Update($l_DBData, "@ID='".$l_AdvID."'");

     echo "Объявление выделено на ".$l_Days." дней<br/>";
  }

  // то же спецпредложение, но для произвольного количества дней, независимо от настроек QPLRU_SPECIAL_DUR
  $l_AdvID = 4;
  $l_Days = 26;

  $l_Rows = $l_SC->m_DBManager->m_DBTableAdvert->SelectSimple("*", "@ID='".$l_AdvID."'");
  if (($l_Rows != null) && (count($l_Rows) > 0))
  {
     $l_DBData['Special'] = 1;
     $l_DBData['SpecialStart'] = time();
     $l_DBData['SpecialDur'] = $l_Days; // делаем объявление с идентификатором 4 спецпредложением на 26 дней
     $l_SC->m_DBManager->m_DBTableAdvert->Update($l_DBData, "@ID='".$l_AdvID."'");

     echo "Объявление сделано спецпредложением на ".$l_Days." дней<br/>";
  }





  // останавливаем "движок" доски
  $l_RunTimeManager->Stop();


?>