Показать сообщение отдельно
Старый 26.06.2010, 13:44   #2
reva2
Senior Member
 
Аватар для reva2
 
Регистрация: 31.08.2007
Адрес: Ростов-на-Дону
Сообщений: 206
По умолчанию

На первый взгляд все верно. В связи с этим возникает вопрос очищали ли вы typo3conf кеш после редактирования файла ext_localconf.php.

Для примера:

ext_localconf.php
PHP код:
$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][] = 'EXT:user_farm_branches/hooks/class.tx_branch_tceHooks.php:&tx_branch_tceHooks'
user_farm_branches/hooks/class/tx_branch_tceHooks.php
PHP код:
<?php
class tx_branch_tceHooks {

        
//Хук который создает новую группу пользователей для менеджеров филиала и
        //учетную запись для руководителя филиала
    
function processDatamap_preProcessFieldArray(&$incomingFieldArray$table$id, &$tce)
    {
        if(
$table == 'user_farm_branches' && substr($id03) == 'NEW')
        {
            
$config unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['user_farm_branches']);
        
            
$res $GLOBALS['TYPO3_DB']->sql_query('SELECT MAX(uid) as curUid FROM `be_users`');
            
$curUID $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);
            
            
$data = array(
                
"be_users" => array(
                    
"NEW345ds45" => array(
                        
"pid" => "0",
                        
"username" => str_replace('###uid###'$curUID['curUid'], $config['branch_leader_template']),
                        
"password" => md5($config['default_leader_pass']),
                        
"disabled" => 0,
                        
"lang" => "ru",
                        
"usergroup" => $config['branch_leader_group'],
                        
"usergroup_cached_list" => $config['branch_leader_group']
                    )
                ),
                
"be_groups" => array(
                    
"NEW3sdf3sa" => array(
                        
"pid" => 0,
                        
"title" => str_replace('###branch_name###'$incomingFieldArray["name"], $config['branch_manager_template']),
                        
"subgroup" => $config['branch_manager_parent_group']
                    )
                )
            );
            
            
$localTCE t3lib_div::makeInstance('t3lib_TCEmain');

            
$localTCE->stripslashes_values 0;
            
$localTCE->start($data, array());
            
$localTCE->process_datamap();
            
            
$incomingFieldArray['leader_id'] = $localTCE->substNEWwithIDs["NEW345ds45"];
            
$incomingFieldArray['group_id'] = $localTCE->substNEWwithIDs["NEW3sdf3sa"];
        }
    }
    
        
//Хук который создает папку для хранения csv файлов с 
        //информацией о ценах и остатках товаров в филиале
    
function processDatamap_afterDatabaseOperations($status$table$id, &$fieldArray, &$tce)
    {
        global 
$BE_USER$TYPO3_CONF_VARS;
    
        if(
$table == 'user_farm_branches' && $status == 'new')
        {
            
$importDir "branch_".$tce->substNEWwithIDs[$id].'/';
            
t3lib_div::mkdir_deep(PATH_site.'fileadmin/''import/prices/'.$importDir);
        }
    }
        
        
//Хук который при удалении филиала удалят связанных с ним пользователей и информацию
        //о ценах и остатках товара в филиале
    
function processCmdmap_preProcess($command$table$id$fields, &$tce)
    {
        if (
$table == 'user_farm_branches' && $command == 'delete')
        {
            
$branch t3lib_BEfunc::getRecord('user_farm_branches'$id);
            
            if (
is_array($branch))
            {
                
$cmd = array(
                    
"be_users" => array(
                        
$branch['leader_id'] => array(
                            
"delete" => 1
                        
)
                    ),
                    
"be_groups" =>array(
                        
$branch['group_id'] => array(
                            
"delete" => 1
                        
)
                    )
                );
                
                
$priceAndRestRecords t3lib_BEfunc::getRecordsByField(
                    
'user_farm_commerce_product_branch_mm',
                    
'branch_id',
                    
$id
                
);
                
                if (
is_array($priceAndRestRecords))
                {
                    
$cmd['user_farm_commerce_product_branch_mm'] = array();
                    
                    foreach(
$priceAndRestRecords as $priceAndRestRecord)
                    {
                        
$cmd['user_farm_commerce_product_branch_mm'][$priceAndRestRecord['uid']] = array(
                                
"delete" => 1
                        
);
                    }    
                }
                
                
$localTCE t3lib_div::makeInstance('t3lib_TCEmain');

                
$localTCE->stripslashes_values 0;
                
$localTCE->start(array(), $cmd);
                
$localTCE->process_cmdmap ();
            }
        }
    }
}
?>
reva2 вне форума   Ответить с цитированием