Beispiel #1
0
	/**
	 * @param cbFieldHandler $fieldHandler
	 * @param FieldTable     $field
	 * @param UserTable      $user
	 * @param string         $output
	 * @param string         $reason
	 * @param string         $tag
	 * @param string         $type
	 * @param string         $value
	 * @param string         $additional
	 * @param string         $allValues
	 * @param bool           $displayFieldIcons
	 * @param bool           $required
	 * @return null|string
	 */
	public function fieldIcons( &$fieldHandler, &$field, &$user, $output, $reason, $tag, $type, $value, $additional, $allValues, $displayFieldIcons, $required )
	{
		global $_CB_fieldIconDisplayed;

		static $fieldsPrivacyDisplayed							=	array();

		$return													=	null;

		if ( in_array( $reason, array( 'edit', 'register' ) ) ) {
			if ( $field instanceof FieldTable && $field->get( 'profile' ) ) {
				$userId											=	(int) $user->get( 'id' );
				$fieldId										=	(int) $field->get( 'fieldid' );

				if ( ! isset( $fieldsPrivacyDisplayed[$fieldId] ) ) {
					if ( ! ( $field->params instanceof ParamsInterface ) ) {
						$field->params							=	new Registry( $field->params );
					}

					$display									=	$field->params->get( 'cbprivacy_display', '0' );

					if ( ( $reason == 'register' ) && ( ! $field->params->get( 'cbprivacy_display_reg', '1' ) ) ) {
						$display								=	'0';
					}

					if ( ( $display == 1 ) || ( ( $display == 2 ) && cbprivacyClass::checkUserModerator() ) ) {
						$privacy								=	new cbprivacyPrivacyTable();

						$privacy->load( array( 'user_id' => (int) $userId, 'type' => 'profile', 'subtype' => 'field', 'item' => (int) $fieldId ) );

						$fieldsPrivacyDisplayed[$fieldId]		=	true;

						$return									=	cbprivacyClass::getPrivacyInput( 'privacy_field_' . $fieldId, $privacy->get( 'rule', $field->params->get( 'cbprivacy_default', '0' ) ) );

						if ( ! isset( $_CB_fieldIconDisplayed[$fieldId] ) ) {
							$_CB_fieldIconDisplayed[$fieldId]	=	true;

							if ( $displayFieldIcons ) {
								$return							.=	' ' . getFieldIcons( null, $required, null, $fieldHandler->getFieldDescription( $field, $user, $output, $reason ), $fieldHandler->getFieldTitle( $field, $user, $output, $reason ), false, $field->params->get( 'fieldLayoutIcons', null ) );
							}
						}
					}
				}
			}
		}

		return $return;
	}