system_service.inc in Services 6.2
Same filename and directory in other branches
Link general system functionalities to services module.
File
services/system_service/system_service.incView source
<?php
/**
* @file
* Link general system functionalities to services module.
*/
/**
* Create a new anonymous session for services.
*
* @return
* A new session object.
*/
function system_service_connect() {
global $user;
$return = new stdClass();
$return->sessid = session_id();
$return->user = $user;
return $return;
}
/**
* Implementation of hook_mail().
*/
function system_service_mail($mailkey, &$message, $params) {
$language = $message['language'];
$variables = user_mail_tokens($params['account'], $language);
$message['subject'] = t($params['subject'], $variables, $language->language);
$message['body'] = t($params['body'], $variables, $language->language);
foreach ($params['headers'] as $header => $val) {
$message['headers'][$header] = $val;
}
}
/**
* Send an email using the Services module.
*
* @param $mailkey
* A key to identify the e-mail sent.
* @param $to
* The recipient's email address(es). The formatting of this string must
* comply with RFC 2822.
* @param $subject
* The subject of the email.
* @param $body
* The body of the email.
* @param $from
* The sender's email address.
* @param $headers
* An associative array of optional mail headers.
*
* @return
* An array structure containing all details of the message.
*
* @see hook_mail()
* @see drupal_mail()
*/
function system_service_mailprepare($mailkey, $to, $subject, $body, $from = NULL, $headers = array()) {
$params = array();
$params['subject'] = $subject;
$params['body'] = $body;
$params['headers'] = $headers;
$status = drupal_mail('system_service', $mailkey, $to, user_preferred_language($to), $params, $from, TRUE);
if (!$status) {
return services_error(t('There was a problem sending your email.'));
}
return $status;
}
/**
* Services implementation of variable_get().
*
* @param $name
* The name of the variable to return.
* @param $default
* The value to use if the variable has never been set.
*
* @return
* The value of the variable.
*
* @see variable_get()
*/
function system_service_getvariable($name, $default = NULL) {
return variable_get($name, $default);
}
/**
* Services implementation of variable_set().
*
* @param $name
* The name of the variable to set.
* @param $value
* The value to set this variable to.
*
* @see variable_set()
*/
function system_service_setvariable($name, $value) {
variable_set($name, $value);
}
/**
* Check if a module is enabled. If so, return its version.
*
* @param $module
* The name of the module to check.
*
* @return
* The module's version string, or nothing if the module
* is not enable or installed.
*/
function system_service_module_exists($module) {
if (module_exists($module)) {
$modules = module_rebuild_cache();
if (array_key_exists($module, $modules)) {
return (string) $modules[$module]->info['version'];
}
}
return "";
}
/**
* Return and array of all the available services.
*
* @return array
* An array containing all services and thir methods
*
* @see services_get_all()
*/
function system_service_getservices() {
return services_get_all();
}
/**
* Services implementation of cache_clear_all().
*
* @see cache_clear_all()
*/
function system_service_cache_clear_all() {
drupal_flush_all_caches();
watchdog('system service', 'caches cleared');
}
/**
* Log a system message.
*
* @param $type
* The category to which this message belongs.
* @param $message
* The message to store in the log.
* @param $variables
* Array of variables to replace in the message on display.
* @param $severity
* The severity of the message, as per RFC 3164.
* @param $link
* A link to associate with the message.
*
* @see watchdog()
**/
function system_service_watchdog_send($type, $message, $variables = array(), $severity = WATCHDOG_NOTICE, $link = NULL) {
watchdog($type, $message, $variables, $severity, $link);
}
Functions
Name![]() |
Description |
---|---|
system_service_cache_clear_all | Services implementation of cache_clear_all(). |
system_service_connect | Create a new anonymous session for services. |
system_service_getservices | Return and array of all the available services. |
system_service_getvariable | Services implementation of variable_get(). |
system_service_mail | Implementation of hook_mail(). |
system_service_mailprepare | Send an email using the Services module. |
system_service_module_exists | Check if a module is enabled. If so, return its version. |
system_service_setvariable | Services implementation of variable_set(). |
system_service_watchdog_send | Log a system message. |