drupal

Script bash per fare il backup di un sito Drupal con database SQLite

Script per effettuare il backup tramite ftp di un sito Drupal che usa un database SQLite e per poi archiviarlo. backup_site.sh: #!/bin/bash # HOST='ftp.site.com' USER='username' PASSWORD='password' BACKUPDIR=$HOME'/backup/site' WORKINGDIR='/tmp' DBPATH='sites/default/files' DBNAME='.ht.sqlite' cd $WORKINGDIR wget -m --preserve-permissions --user=$USER --password=$PASSWORD ftp://$HOST sqlite3 $HOST/$DBPATH/$DBNAME "VACUUM;" while [ $? -ne 0 ]; do wget -m --preserve-permissions --user=$USER --password=$PASSWORD ftp://$HOST/$DBPATH/$DBNAME sqlite3 $HOST/$DBPATH/$DBNAME "VACUUM;" done mkdir -p "$BACKUPDIR" 7z a -mhe -p$PASSWORD "$BACKUPDIR/$HOST-`date +%Y%m%dT%H%M`.7z" "$HOST" rm -r $HOST Lo script può essere eseguito via cron in questo modo: 0 20 1 * * bin/backup_site.sh >> bin/cron...

Boost'cache lifetime ignorata in Drupal 7: come risolvere il problema

Qualche volta in Drupal 7 la cache di Boost viene svuotata durante il cron senza rispettare l'impostazione Boost maximum cache lifetime, questo accade quando il cron è in esecuzione e c'è un tentativo di riavviarlo, qualcosa va storto e la cache di Boost viene svuotata. Per risolvere questo problema ho fatto in modo che l'hook_cron di Boost venga eseguito per ultimo usando la funzione...

Publication Date Update: modulo per Drupal 7 per aggiungere la data dell'ultimo aggiornamento ad un nodo

Publication Date Update è un semplice modulo per Drupal 7 che aggiunge la data dell'ultimo aggiornamento ad un nodo, per essere installato esso necessita del modulo Publication Date , perché esso lavora con la variabile published_at. Publication Date Update è semplicemente questa funzione: function publication_date_update_preprocess_node(&$vars) { $time_unit = 86400; // number of seconds in 1 day => 24 hours * 60 minutes * 60 seconds $threshold = 10; // --- Create revision data // Check if node was revised if (($vars['status']) && $vars['changed'] && (round(($vars['changed'] - $vars['published_at']) / $time_unit) > $threshold)){ $vars['submitted'] = t('Published: !publishtime | Updated: !updatetime | Author: !username', array( '!publishtime' => format_date($...

Flush Cache Cron: modulo per Drupal 7 per svuotare la cache

Flush Cache Cron è un modulo per Drupal 7 per svuotare manualmente la cache e per impostare lo svuotamento della cache durante il cron, questo modulo svuota solamente la cache senza ricostruire il bootstrap di sistema. Il modulo svuota le tavole: cache cache_block cache_filter cache_form cache_menu cache_page cache_path cache_views cache_views_data Qui il codice: <?php function flush_cache_cron() { try { $core = array('cache', 'cache_block', 'cache_filter', 'cache_form', 'cache_menu', 'cache_page', 'cache_path', 'cache_views', 'cache_views_data'); foreach($core as $table) { cache_clear_all('*', $table, TRUE); } } catch (Exception $e) { return $e; } return NULL; } function flush_cache_cron_cron() { // Interval defaults to 10800s = 3h. $interval = flush_cache_cron_interval(); // Set...

Boost Expire per Drupal 7: una revisione del modulo

Questa è una revisione di Boost Expire per Drupal 7 grazie alla quale la cache di Boost viene svuotata solo quando un nodo o un commento passa da non pubblicato a pubblicato o viceversa e quando si modifica un nodo o un commento che è già pubblicato. Qui il codice: <?php /** * @file * * Expires Boost caches automatically when certain Drupal actions are taken. */ /** * Implements hook_menu(). */ function boost_expire_menu() { $items['admin/config/system/boost_expire'] = array( 'title' => 'Boost Expire', 'description' => 'Configuration for Boost Expire.', 'page callback' => 'drupal_get_form', 'page arguments' => array('boost_expire_admin_settings'), 'access arguments' => array('administer site configuration'), 'type' => MENU_NORMAL_ITEM, ); return $items; } /** *...

Easy subscription per Drupal 7: una revisione del modulo

Questa è una piccola revisione di Easy subscription per Drupal 7 grazie alla quale le notifiche vengono inviate solo quando il nodo viene pubblicato e nella email uscenti sono ora presenti il titolo, una piccola anteprima ed il link al nuovo nodo. Qui il codice: <?php /** * @file * This is an easy subscription module */ /** * DB management. */ function easy_subscription_form($form, &$form_state) { $form = array(); // Add a title to help baffled users $form['description'] = array( '#type' => 'item', '#title' => t(''Subscribe to receive updates''), ); $form['email'] = array( '#type' => 'textfield', '#title' => t('email'), '#size' => 20, '#required' => TRUE, '#validate' => array('filter_form_validate' => array('email_validation')), ); $form['unsuscribe'] =...

Drupal 7: come ottenere il corpo di un nodo

Se in Drupal 7 dobbiamo utilizzare il contenuto del corpo di un nodo come variabile allora possiamo ottenerlo tramite php, è tutto molto semplice, dobbiamo solo prestare attenzione a se il sito usa una sola lingua o se si tratta di un sito multilingua. Se il sito usa solo una lingua allora possiamo ottenere il corpo di un nodo in questo modo: $body = $node->body['und'][0]['value']; Se il sito...

Drupal 7: come identificare l'url del percorso assoluto o l'alias url di un nodo

In Drupal 7 possiamo accedere ad un nodo tramite il suo percorso assoluto o tramite il suo alias url. In qualche caso può essere utile identificare questi urls e come al solito in drupal possiamo farlo in diversi modi, di seguito alcuni esempi. Codice per identificare il percorso assoluto: global $base_url; $nodeurl = $base_url . '/' . current_path(); $nodeurl = url('node/'. $node->nid);...

Drupal 7: come rilevare quando un nodo o un commento viene pubblicato o ne viene rimossa la pubblicazione

In Drupal 7 non abbiamo un modo semplice per rilevare quando un nodo o un commento passa da non pubblicato a pubblicato o viceversa ma possiamo rilevare queste azioni con del codice php. Pubblicazione di un nodo: isset($node->original->status) && $node->original->status == 0 && $node->status == 1 Rimozione della pubblicazione di un nodo: isset($node->original-...

Drupal 7: come abilitare\disabilitare i commenti dei vecchi nodi

In Drupal 7 possiamo impostare i commenti in tre modi: Nascosto: Non sono permessi commenti e i vecchi commenti sono nascosti. Chiuso: Non sono permessi commenti ma i vecchi commenti restano visibili. Aperto: Ogni futuro contenuto di questo tipo è aperto a nuovi commenti. Possiamo cambiare in qualsiasi momento le impostazioni predefinite per un certo tipo di contenuto ma la nuova scelta sarà...

Pagine

Abbonamento a RSS - drupal