Совет: как сделать скрипт использующий Drupal API

Аватар пользователя axel axel 29 июня 2004 в 20:09

Бывает возникает необходимость сделать быстро какой-нибудь скрипт, но нет нужды оформлять его в виде модуля. Однако обращаться к базе или использовать какие-то функции Drupal при этом удобно. Чтобы PHP-скрипт использовал API Drupal следует написать его так:

<?php

include_once "includes/bootstrap.inc";
include_once "includes/common.inc";

// далее можно писать скрипт, теперь вам доступны друпаловские функции
// например можно писать запросы к базе:

$result = db_query("SELECT name FROM {users}"); 
// в запросах если писать имена таблиц в {}, будут автоматически подставляться префиксы к именам из конфига сайта

//а вот так из запроса вытащить данные в массив:

while($record = db_fetch_object($result)) {
  $users[] = $record->name;
  print $record->name; // и вывести их на экран
}

// также можно обращаться к функциям модулей
// вот пример обращения к функции определенной в taxonomy.module:
function get_vocabularies() {
  $vocs = array();
  $result = db_query("SELECT vid FROM vocabulary");
  while($voc = db_fetch_object($result)) {
    $vocs[] = $voc->vid;
  }
  return $vocs;
}     

?>

Поместите свой скрипт в корневую директорию cайта, но если он делает что-нибудь деструктивное или не предназначенное для всеобщего пользования - позаботьтесь о защите: закройте доступ паролем через .htaccess, либо предусмотрите проверку в скрипте:


global $user;
if ($user->uid != 0) {
  // доступ только для админа
  print "Access denied."
  return;
}

0 Thanks