function onReadFileFinished(&$item, &$import_items) { if ('xnpbinderimportitem' != strtolower(get_class($item))) { return; } if (count($item->getImportIndexId()) == 0) { return; } //if( count( $item -> getVar( 'indexes' ) ) == 0 ) return; $index_ids = $item->getImportIndexId(); $chid_item_ids = array(); foreach ($item->getVar('binder_item_links') as $binder_item_link) { $child_item_ids[] = $binder_item_link->get('item_id'); } $child_items = array(); foreach (array_keys($import_items) as $key) { if (in_array($import_items[$key]->getPseudoId(), $child_item_ids)) { $child_items[] =& $import_items[$key]; } } $binder_handler =& xoonips_gethandler('xnpbinder', 'import_item'); if ($binder_handler->publicBinderHasNotPublicItems($child_items, $index_ids)) { $item->setErrors(E_XOONIPS_INVALID_VALUE, 'public binder cannot have private and group items'); } if ($binder_handler->groupBinderHasPrivateItems($child_items, $index_ids)) { $item->setErrors(E_XOONIPS_INVALID_VALUE, 'group binder cannot have private items'); } parent::onReadFileFinished($item, $import_items); }