| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 | <?php /** * @file * The Tripal Files API * * This file provides the API to help Tripal modules to storing files * in a consistent directory strcuture. * * @defgroup tripal_files_api  Files API * @ingroup tripal_core_api * @{ * Provides an application programming interface (API) for managing files within * the Tripal data directory structure. * * @} * */ /** * This function is a substitute for Drupal 6's file_directory_path() * function which no longer exists in Drupal 7.  However, the function * call is useful because it's more intitutive. So this wrapper was created * to mimic the behavior of the old function.   *  * @return *   the public directory where tripal files are housed: sites/default/files/tripal */function tripal_file_directory_path() {  return variable_get('file_public_path', conf_path() . '/files/tripal');}/** * This function is typically used in the '.install' file for a Tripal module * Each module should call this function during installation to create * the module data directory which is sites/default/files/tripal/[module_name] * for default Drupal settings.  This directory can then be used by the module * for storing files. * * @param $module_name *   the name of the module being installed. * * @returns *   nothing * * @ingroup tripal_files_api */function tripal_create_moddir($module_name) {  // make the data directory for this module  $data_dir = tripal_file_directory_path() . "/$module_name";  if (!file_prepare_directory($data_dir, FILE_CREATE_DIRECTORY | FILE_MODIFY_PERMISSIONS)) {    $message = "Cannot create directory $data_dir. This module may not " .               "behave correctly without this directory.  Please  create " .               "the directory manually or fix the problem and reinstall.";    drupal_set_message(check_plain(t($message)), 'error');    watchdog('tripal_core', $message, array(), WATCHDOG_ERROR);  }}/** * This function creates directories inside of the module's * Data directory. *  * @param $module_name * @param $path */function tripal_create_mod_subdir($module_name, $path) {  // make sure the module data directory exists  tripal_create_moddir($module_name);    // now make sure the sub dir exists  $sub_dir = tripal_file_directory_path() . $module_name . $path;  if (!file_prepare_directory($sub_dir, FILE_CREATE_DIRECTORY | FILE_MODIFY_PERMISSIONS)) {    $message = "Cannot create directory $sub_dir. ";    drupal_set_message(check_plain(t($message)), 'error');    watchdog('tripal_core', $message, array(), WATCHDOG_ERROR);  }}/** * Each Tripal module has a unique data directory which was creatd using the * tripal_create_moddir function during installation.  This function * retrieves the directory path. * * @param $module_name *   The name of the module * * @returns *   The path within the Drupal installation where the data directory resides *    * @ingroup tripal_files_api */function tripal_get_moddir($module_name) {  $data_dir = tripal_file_directory_path() . "/$module_name";  return $data_dir;}
 |