verifyPackage( 'contact' ); $gBitSystem->verifyPermission( 'p_contact_update' ); include_once CONTACT_PKG_INCLUDE_PATH . 'lookup_contact_inc.php'; if (!empty( $gContent->mInfo )) { $formInfo = $gContent->mInfo; $formInfo['edit'] = !empty( $gContent->mInfo['data'] ) ? $gContent->mInfo['data'] : ''; } $cat_type = BITPAGE_CONTENT_TYPE_GUID; if (isset( $_REQUEST["preview"] )) { // get files from all packages that process this data further foreach ( $gBitSystem->getPackageIntegrationFiles( 'form_processor_inc.php', true ) as $package => $file ) { if ($gBitSystem->isPackageActive( $package )) { include_once $file; } } $gBitSmarty->assign( 'preview', 1 ); $gBitSmarty->assign( 'title', $_REQUEST["title"] ); $parsed = $gContent->parseData( $formInfo['edit'], !empty( $_REQUEST['format_guid'] ) ? $_REQUEST['format_guid'] : ( $gContent->mInfo['format_guid'] ?? 'tikiwiki' ), ); $gBitSmarty->assign('parsed', $parsed); $gContent->invokeServices( 'content_preview_function' ); } else { $gContent->invokeServices( 'content_edit_function' ); } // Pro if (isset($_REQUEST["fCancel"])) { if( !empty( $gContent->mContentId ) ) { KernelTools::bit_redirect( $gContent->getDisplayUrl() ); } else { KernelTools::bit_redirect( CONTACT_PKG_URL ); } } elseif (isset($_REQUEST["fSaveContact"])) { if( $gContent->store( $_REQUEST ) ) { KernelTools::bit_redirect( $gContent->getDisplayUrl() ); } else { $formInfo = $_REQUEST; $formInfo['data'] = &$_REQUEST['edit']; } } // formInfo might be set due to a error on submit if( empty( $formInfo ) ) { $formInfo = &$gContent->mInfo; } $isPerson = !empty( $gContent->mInfo['contact_types'][0]['content_id'] ); $gContent->loadXrefInfo(); $gBitSmarty->assign( 'gXrefInfo', $gContent->mXrefInfo ); $gBitSmarty->assign( 'isPerson', $isPerson ); $allTypes = $gContent->getXrefSourceList(); $formInfo['contact_type_list'] = $isPerson ? [] : array_values( array_filter( $allTypes, fn($t) => $t['item'] > '$01' ) ); $gBitSmarty->assign( 'pageInfo', $formInfo ); $gBitSmarty->assign( 'errors', $gContent->mErrors ); $gBitSmarty->assign( (!empty( $_REQUEST['tab'] ) ? $_REQUEST['tab'] : 'body').'TabSelect', 'tdefault' ); $gBitSmarty->assign('show_page_bar', 'y'); $gBitSystem->display( 'bitpackage:contact/edit.tpl', 'Edit: ' , [ 'display_mode' => 'edit' ]);