Voici ce que j'ai en ce moment:
<?php
define('DRUPAL_ROOT', '/var/www/clients/client1/web15/web');
include_once(DRUPAL_ROOT . '/includes/bootstrap.inc');
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
// drupal_flush_all_caches();
$users = views_get_view_result('userlist', 'uid_list');
$i = 0;
foreach ($users as $user) {
$filename = 'sites/default/files/generated_pdfs/individual_pdf_report_' . $user->uid . '.pdf';
generate_employee_pdf($user->uid, $filename);
error_log('Generated ' . $filepath);
$i++;
}
// create object
$zip = new ZipArchive();
// open archive
if ($zip->open("sites/default/files/generated_zips/individual-reports.zip", ZIPARCHIVE::CREATE) !== TRUE) {
die ("Could not open archive");
}
// initialize an iterator
// pass it the directory to be processed
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator("sites/default/files/generated_pdfs/"));
// iterate over the directory
// add each file found to the archive
foreach ($iterator as $key=>$value) {
$zip->addFile(realpath($key), $value->getFilename()) or die ("ERROR: Could not add file: $key");
}
// close and save archive
$zip->close();
?>
Je reçois un tas d'erreurs de ce qui précède lorsque je suis autonome. Fonctionne très bien dans mon module. Certaines des erreurs sont:
Warning: Invalid argument supplied for foreach() in drupal_depth_first_search() (line 56 of /var/www/clients/client1/web15/web/includes/graph.inc).
Warning: Invalid argument supplied for foreach() in _module_build_dependencies() (line 229 of /var/www/clients/client1/web15/web/includes/module.inc).
Warning: include_once(sites/all/modules/views_bulk_operations/actions/archive.action.inc): failed to open stream: No such file or directory in views_bulk_operations_load_action_includes() (line 56 of /var/www/clients/client1/web15/web/sites/all/modules/views_bulk_operations/views_bulk_operations.module).
7
bootstrapping
Joren
la source
la source
Réponses:
De loin, la façon la plus simple de gérer le bootstrap est d'utiliser drush php-script , alias scr.
file.php:
Cli:
Production:
De cette façon, vous n'avez rien à faire en ce qui concerne le bootstrap, drush le résoudra entièrement pour vous et vous donnera la possibilité de l'utiliser facilement sur tous les sites grâce aux alias. (Peut même fonctionner sur des sites distants, même si je n'ai pas essayé cela)
la source
@alias
? Je reçois seulement unCould not find the alias @alias
. Malheureusement, le lien que vous avez fourni est rompu. Pourriez-vous s'il vous plaît le corriger et développer votre explication?votre bootstrap Drupal 7 autonome n'est pas tout à fait correct.
Essaye ça:
J'espère que cela t'aides.
la source
require_once DRUPAL_ROOT . '...'; // include required module files to work with here
c'est assez:
la source
La dernière erreur
est un bug dans VBO. views_bulk_operations_load_action_includes () n'utilise pas DRUPAL_ROOT lors de l'utilisation de include_once. Je déposerais un bogue et le corrigerais dans VBO.
L'autre erreur (les 2 sont liées les unes aux autres) peut être liée au fait que _system_rebuild_module_data () n'utilise pas DRUPAL_ROOT lors de l'accès au fichier .info des modules. Je mettrais des points d' arrêt dans system_rebuild_module_data () pour la variable $ modules et voir si vous pouvez le localiser . Une fois de plus, signalez un bug avec drupal core car je ne vois pas ce problème dans la file d'attente.
Bonne chance!
la source