Changeset 17860

Show
Ignore:
Timestamp:
10/02/08 13:13:28 (2 months ago)
Author:
rambo
Message:

added possibility to send deletes for explicit unapproves in staging-live setups, fixes #230

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/MidCOM_2_8/midcom.admin.folder/handler/approvals.php

    r5151 r17860  
    5959        } 
    6060 
     61        /**  
     62         * This flag is used to make it possible to explicitly recognize user intent 
     63         * to for example do speacial operations in midcom.helper.replicator 
     64         */ 
     65        if (   !isset($GLOBALS['midcom_admin_folder_handler_approvals']) 
     66            || !is_array($GLOBALS['midcom_admin_folder_handler_approvals'])) 
     67        { 
     68            $GLOBALS['midcom_admin_folder_handler_approvals'] = array(); 
     69        } 
    6170        if ($handler_id == '____ais-folder-approve') 
    6271        { 
     72            $GLOBALS['midcom_admin_folder_handler_approvals'][$object->guid] = 'approve'; 
    6373            $metadata->approve(); 
    6474        } 
    6575        else 
    66         {         
     76        { 
     77            $GLOBALS['midcom_admin_folder_handler_approvals'][$object->guid] = 'unapprove'; 
    6778            $metadata->unapprove(); 
    6879        } 
  • branches/MidCOM_2_8/midcom.helper.replicator/config/config.inc

    r16799 r17860  
    77    'midcom_core_temporary_object_db', 
    88), 
     9'exporter_staging2live_delete_unapproved' => false, // Upon explicit un-approve, do we wish to delete from live ?? 
    910'exporter_staging2live_check_approvals_for' => array 
    1011( 
  • branches/MidCOM_2_8/midcom.helper.replicator/exporter/staging2live.php

    r17649 r17860  
    5252    function is_exportable(&$object, $check_exported = true) 
    5353    { 
     54        /** 
     55         * First check of them all: 
     56         *  In case we have explicit un-approve AND we have configured to do 
     57         *  so, serialize the object as deletion to the live server 
     58         */ 
     59        if (   isset($GLOBALS['midcom_admin_folder_handler_approvals']) 
     60            && isset($GLOBALS['midcom_admin_folder_handler_approvals'][$object->guid]) 
     61            && $GLOBALS['midcom_admin_folder_handler_approvals'][$object->guid] == 'unapprove' 
     62            && $this->_config->get('exporter_staging2live_delete_unapproved')) 
     63        { 
     64            $GLOBALS['midcom_helper_replicator_logger']->push_prefix('exporter'); 
     65            $GLOBALS['midcom_helper_replicator_logger']->log_object($object, 'Explicit un-approve detected, rewriting as deletion to live', MIDCOM_LOG_WARN); 
     66            $GLOBALS['midcom_helper_replicator_logger']->pop_prefix(); 
     67            $this->exportability[$object->guid] = true; 
     68            $this->_serialize_rewrite_to_delete[$object->guid] = true; 
     69            return $this->exportability[$object->guid]; 
     70        } 
    5471        /* 
    5572        debug_push_class(__CLASS__, __FUNCTION__); 
  • branches/MidCOM_2_8/midcom.helper.replicator/queuemanager.php

    r16795 r17860  
    182182                 
    183183                $msg = "Queued {$key} as {$file}"; 
    184                 $GLOBALS['midcom_helper_replicator_logger']->log($msg); 
     184                $GLOBALS['midcom_helper_replicator_logger']->log($msg, MIDCOM_LOG_INFO); 
    185185                debug_add($msg); 
    186186