'image',
'title' => 'Fisheye Image',
'description' => KernelTools::tra( "Display an image in other content. This plugin only works with files that have been uploaded using fisheye." ),
'help_page' => 'DataPluginImage',
'auto_activate' => false,
'requires_pair' => false,
'syntax' => '{image id= }',
'plugin_type' => DATA_PLUGIN,
// display icon in quicktags bar
'booticon' => '{biticon ipackage="icons" iname="image-x-generic" iexplain="Image"}',
'taginsert' => '{image id= size= nolink=}',
// functions
'help_function' => 'data_image_help',
'load_function' => 'data_image',
];
$gLibertySystem->registerPlugin( PLUGIN_GUID_DATAIMAGE, $pluginParams );
$gLibertySystem->registerDataTag( $pluginParams['tag'], PLUGIN_GUID_DATAIMAGE );
function data_image( $pData, $pParams ) {
global $gBitSystem, $gBitSmarty;
$ret = ' ';
$imgStyle = '';
$wrapper = \Bitweaver\Liberty\liberty_plugins_wrapper_style( $pParams );
$description = !isset( $wrapper['description'] ) ? $wrapper['description'] : null;
foreach( $pParams as $key => $value ) {
if( !empty( $value ) ) {
switch( $key ) {
// rename a couple of parameters
case 'width':
case 'height':
if( preg_match( "/^\d+(em|px|%|pt)$/", trim( $value ) ) ) {
$imgStyle .= $key.':'.$value.';';
} elseif( preg_match( "/^\d+$/", $value ) ) {
$imgStyle .= $key.':'.$value.'px;';
}
// remove values from the hash that they don't get used in the div as well
$pParams[$key] = null;
break;
}
}
}
$wrapper = \Bitweaver\Liberty\liberty_plugins_wrapper_style( $pParams );
if( !empty( $pParams['src'] ) ) {
$thumbUrl = $pParams['src'];
} elseif( BitBase::verifyId( $pParams['id'] ) && $gBitSystem->isPackageActive( 'fisheye' )) {
$item = new FisheyeImage( $pParams['id'], null );
if( $item->load() ) {
// insert source url if we need the original file
if( !empty( $pParams['size'] ) && $pParams['size'] == 'original' ) {
$thumbUrl = $item->getDownloadUrl();
} elseif( $item->mInfo['thumbnail_url'] ) {
$thumbUrl = !empty( $pParams['size'] ) && !empty( $item->mInfo['thumbnail_url'][$pParams['size']] ) ? $item->mInfo['thumbnail_url'][$pParams['size']] : $item->mInfo['thumbnail_url']['medium'];
}
if( empty( $description ) ) {
$description = !isset( $wrapper['description'] ) ? $wrapper['description'] : $item->getField( 'title', KernelTools::tra( 'Image' ) );
}
}
}
// check if we have a valid thumbnail
if( !empty( $thumbUrl )) {
// set up image first
$ret = '';
if( !empty( $pParams['nolink'] ) ) {
} elseif( !empty( $wrapper['link'] ) ) {
// if this image is linking to something, wrap the image with the
$ret = ''.$ret.'';
} elseif ( empty( $pParams['size'] ) || $pParams['size'] != 'original' ) {
if ( $gBitSystem->isFeatureActive( 'site_fancy_zoom' ) and !empty( $item->mInfo['source_url'] ) ) {
$ret = ''.$ret.'';
} else if ( $item->getDownloadUrl() ) {
$ret = ''.$ret.'';
} else if ( !empty( $item->mInfo['media_url'] ) ) {
$ret = ''.$ret.'';
}
}
if( !empty( $wrapper['style'] ) || !empty( $class ) || !empty( $wrapper['description'] ) ) {
$ret = '<'.$wrapper['wrapper'].' class="'.( !empty( $wrapper['class'] ) ? $wrapper['class'] : "img-plugin" ).'" style="'.$wrapper['style'].'">'.$ret.( !empty( $wrapper['description'] ) ? '
'.$wrapper['description'] : '' ).''.$wrapper['wrapper'].'>';
}
} else {
$ret = KernelTools::tra( "Unknown Image" );
}
return $ret;
}
function data_image_help() {
$help =
'
| ' . KernelTools::tra( "Key" ) . ' | ' .'' . KernelTools::tra( "Type" ) . ' | ' .'' . KernelTools::tra( "Comments" ) . ' | ' .'
|---|---|---|
| id | ' .'' . KernelTools::tra( "numeric") . ' ' . KernelTools::tra("(required)") . ' | '
.'' . KernelTools::tra( "Image id number of Image to display inline.") . KernelTools::tra( "You can use either content_id or id." ).' | ' .'
| size | ' .'' . KernelTools::tra( "key-words") . ' ' . KernelTools::tra("(optional)") . ' | '
.'' . KernelTools::tra( "If the File is an image, you can specify the size of the thumbnail displayed. Possible values are:") . ' avatar, small, medium, large, original ' . KernelTools::tra( "(Default = " ) . 'medium) | ' .'
| nolink | ' .'' . KernelTools::tra( "key-words") . ' ' . KernelTools::tra("(optional)") . ' | '
.'' . KernelTools::tra( "Remove hotlink from element. Used to display fixed copies of an image item.") . ' | ' .'