summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Kremmel <xing@synapse.plus.com>2007-05-18 07:39:37 +0000
committerMax Kremmel <xing@synapse.plus.com>2007-05-18 07:39:37 +0000
commitb8f9fd7ccefe05a22dedc6497d7563ecc78fb2bc (patch)
tree12551be7b6c6c1a06c99eb3fca2df388412d4252
parented8aea93fc545014208f36bf6b0660442f243412 (diff)
downloadliberty-b8f9fd7ccefe05a22dedc6497d7563ecc78fb2bc.tar.gz
liberty-b8f9fd7ccefe05a22dedc6497d7563ecc78fb2bc.tar.bz2
liberty-b8f9fd7ccefe05a22dedc6497d7563ecc78fb2bc.zip
make treasury attachments still work if treasury has been deactivated after attachment inclusion
-rw-r--r--plugins/storage.treasury.php30
1 files changed, 19 insertions, 11 deletions
diff --git a/plugins/storage.treasury.php b/plugins/storage.treasury.php
index 53448e2..cbedf38 100644
--- a/plugins/storage.treasury.php
+++ b/plugins/storage.treasury.php
@@ -1,6 +1,6 @@
<?php
/**
- * @version $Revision: 1.10 $
+ * @version $Revision: 1.11 $
* @package liberty
* @subpackage plugins_storage
*/
@@ -36,18 +36,26 @@ function treasury_file_load( $pRow ) {
$query = "
SELECT *
FROM `".BIT_DB_PREFIX."liberty_attachments` la
+ INNER JOIN `".BIT_DB_PREFIX."liberty_files` lf ON (lf.`file_id` = la.`foreign_id`)
INNER JOIN `".BIT_DB_PREFIX."liberty_attachments_map` lam ON (la.`attachment_id` = lam.`attachment_id`)
INNER JOIN `".BIT_DB_PREFIX."treasury_item` tri ON( tri.`content_id` = lam.`content_id` )
- WHERE la.`foreign_id` = ?";
- if( $row = $gBitSystem->mDb->getRow( $query, array( $pRow['foreign_id'] ))) {
- require_once( TREASURY_PKG_PATH.'TreasuryItem.php' );
- require_once $gBitSmarty->_get_plugin_filepath( 'modifier', 'display_bytes' );
- $item = new TreasuryItem( NULL, $row['content_id'] );
- $item->load();
- $ret = $item->mInfo;
- $ret['prefs'] = $item->mPrefs;
- if( !empty( $ret['file_size'] )) {
- $ret['file_details'] = $ret['title']."<br /><small>(".$ret['mime_type']." ".smarty_modifier_display_bytes( $ret['file_size'] ).")</small>";
+ WHERE la.`foreign_id` = ? AND la.`attachment_plugin_guid` = ?";
+ if( $ret = $gBitSystem->mDb->getRow( $query, array( $pRow['foreign_id'], PLUGIN_GUID_TREASURY_FILE ))) {
+ if( $gBitSystem->isPackageActive( 'treasury' )) {
+ require_once( TREASURY_PKG_PATH.'TreasuryItem.php' );
+ require_once $gBitSmarty->_get_plugin_filepath( 'modifier', 'display_bytes' );
+ $item = new TreasuryItem( NULL, $ret['content_id'] );
+ $item->load();
+ $ret = $item->mInfo;
+ $ret['prefs'] = $item->mPrefs;
+ if( !empty( $ret['file_size'] )) {
+ $ret['file_details'] = $ret['title']."<br /><small>(".$ret['mime_type']." ".smarty_modifier_display_bytes( $ret['file_size'] ).")</small>";
+ }
+ } else {
+ $ret['thumbnail_url'] = liberty_fetch_thumbnails( $ret['storage_path'] );
+ $ret['filename'] = substr( $ret['storage_path'], strrpos($ret['storage_path'], '/')+1);
+ $ret['source_url'] = BIT_ROOT_URL.str_replace( '+', '%20', str_replace( '%2F', '/', urlencode( $ret['storage_path'] ) ) );
+ $ret['wiki_plugin_link'] = "{attachment id=".$ret['attachment_id']."}";
}
}
}