summaryrefslogtreecommitdiff
path: root/inc
diff options
context:
space:
mode:
authorKate Arzamastseva <pshns@ukr.net>2011-07-14 11:36:48 +0300
committerKate Arzamastseva <pshns@ukr.net>2011-07-14 11:36:48 +0300
commitdd9ba38e965cfc3c06fbb80fed65556dbfbfda1c (patch)
treeb7d432501c87e15a62b1b3a70562fb830f249555 /inc
parentb3b326700990f7b793fe4f5dd03cc7b4ab2e9672 (diff)
downloadrpg-dd9ba38e965cfc3c06fbb80fed65556dbfbfda1c.tar.gz
rpg-dd9ba38e965cfc3c06fbb80fed65556dbfbfda1c.tar.bz2
mediamanager tabs, upload form fix
Diffstat (limited to 'inc')
-rw-r--r--inc/lang/en/lang.php3
-rw-r--r--inc/media.php101
2 files changed, 54 insertions, 50 deletions
diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php
index ea6bf2646..93f0f4ce7 100644
--- a/inc/lang/en/lang.php
+++ b/inc/lang/en/lang.php
@@ -334,7 +334,8 @@ $lang['media_historytab'] = 'History';
$lang['media_thumbsview'] = 'Thumbnails';
$lang['media_listview'] = 'List';
$lang['media_sort'] = 'Sort';
-$lang['media_search'] = 'Search in the <b>%s</b> namespace.';
+$lang['media_upload'] = 'Upload to the <strong>%s</strong> namespace.';
+$lang['media_search'] = 'Search in the <strong>%s</strong> namespace.';
$lang['media_edit'] = 'Edit';
$lang['media_history'] = 'These are the older revisions of the file.';
$lang['media_meta_edited']= 'metadata edited';
diff --git a/inc/media.php b/inc/media.php
index 341692f5f..d72b228d4 100644
--- a/inc/media.php
+++ b/inc/media.php
@@ -557,31 +557,31 @@ function media_tabs_files($selected=false){
global $lang;
echo '<div class="mediamanager-tabs" id="mediamanager__tabs_files">';
- $tab = '<a href="'.media_managerURL(array('tab_files' => 'files')).'"';
- if (!empty($selected) && $selected == 'files') $class = 'files selected';
- else $class = 'files';
- $tab .= ' class="'.$class.'" >'.$lang['mediaselect'].'</a>';
- echo $tab;
-
- $tab = '<a href="'.media_managerURL(array('tab_files' => 'upload')).
- '" rel=".mediamanager-tab-upload"';
- if (!empty($selected) && $selected == 'upload') $class = 'upload selected';
- else $class = 'upload';
- $tab .= ' class="'.$class.'" >'.$lang['media_uploadtab'].'</a>';
- echo $tab;
- $tab = '<a href="'.media_managerURL(array('tab_files' => 'search')).
- '" rel=".mediamanager-tab-search"';
- if (!empty($selected) && $selected == 'search') $class = 'search selected';
- else $class = 'search';
- $tab .= ' class="'.$class.'" >'.$lang['media_searchtab'].'</a>';
- echo $tab;
+ media_tab(media_managerURL(array('tab_files' => 'files')), 'files', $lang['mediaselect'], $selected);
+ media_tab(media_managerURL(array('tab_files' => 'upload')), 'upload', $lang['media_uploadtab'], $selected);
+ media_tab(media_managerURL(array('tab_files' => 'search')), 'search', $lang['media_searchtab'], $selected);
echo '<div class="clearer"></div>';
echo '</div>';
}
/**
+ * Prints mediamanager tab
+ *
+ * @author Kate Arzamastseva <pshns@ukr.net>
+ * @param string $link
+ * @param string $class
+ * @param string $name
+ * @param string $selected
+ */
+function media_tab($link, $class, $name, $selected=false) {
+ if (!empty($selected) && $selected == $class) $class .= ' selected';
+ $tab = '<a href="'.$link.'" class="'.$class.'" >'.$name.'</a>';
+ echo $tab;
+}
+
+/**
* Prints tabs for files details actions
*
* @author Kate Arzamastseva <pshns@ukr.net>
@@ -591,26 +591,14 @@ function media_tabs_details($image, $selected=false){
global $lang;
echo '<div class="mediamanager-tabs" id="mediamanager__tabs_details">';
- $tab = '<a href="'.media_managerURL(array('tab_details' => 'view', 'image' => $image)).
- '" rel=".mediamanager-tab-view"';
- if (!empty($selected) && $selected == 'view') $class = 'view selected';
- else $class = 'view';
- $tab .= ' class="'.$class.'" >'.$lang['media_viewtab'].'</a>';
- echo $tab;
- $tab = '<a href="'.media_managerURL(array('tab_details' => 'edit', 'image' => $image)).
- '" rel=".mediamanager-tab-edit"';
- if (!empty($selected) && $selected == 'edit') $class = 'edit selected';
- else $class = 'edit';
- $tab .= ' class="'.$class.'" >'.$lang['media_edittab'].'</a>';
- echo $tab;
+ media_tab(media_managerURL(array('tab_details' => 'view')), 'view', $lang['media_viewtab'], $selected);
- $tab = '<a href="'.media_managerURL(array('tab_details' => 'history', 'image' => $image)).
- '" rel=".mediamanager-tab-history"';
- if (!empty($selected) && $selected == 'history') $class = 'history selected';
- else $class = 'history';
- $tab .= ' class="'.$class.'" >'.$lang['media_historytab'].'</a>';
- echo $tab;
+ list($ext, $mime) = mimetype($image);
+ if ($mime == 'image/jpeg') {
+ media_tab(media_managerURL(array('tab_details' => 'edit')), 'edit', $lang['media_edittab'], $selected);
+ }
+ media_tab(media_managerURL(array('tab_details' => 'history')), 'history', $lang['media_historytab'], $selected);
echo '<div class="clearer"></div>';
echo '</div>';
@@ -679,10 +667,11 @@ function media_tab_upload($ns,$auth=null,$jump='') {
if(is_null($auth)) $auth = auth_quickaclcheck("$ns:*");
echo '<div class="background-container">';
- echo $lang['mediaupload'];
+ echo sprintf($lang['media_upload'], $ns);
echo '</div>';
echo '<div class="scroll-container">';
+ if ($auth >= AUTH_UPLOAD) echo '<div class="upload">' . $lang['mediaupload'] . '</div>';
media_uploadform($ns, $auth, true);
echo '</div>';
}
@@ -733,8 +722,9 @@ function media_tab_view($image, $ns, $auth=null, $rev=false) {
echo '</div>';
echo '<div class="scroll-container">';
- media_preview($image, $auth, $rev);
- media_details($image, $auth, $rev);
+ $meta = new JpegMeta(mediaFN($image, $rev));
+ media_preview($image, $auth, $rev, $meta);
+ media_details($image, $auth, $rev, $meta);
echo '</div>';
}
@@ -792,7 +782,7 @@ function media_tab_history($image, $ns, $auth=null) {
*
* @author Kate Arzamastseva <pshns@ukr.net>
*/
-function media_preview($image, $auth, $rev=false) {
+function media_preview($image, $auth, $rev=false, $meta=false) {
global $lang;
if (!$image) return '';
if ($auth < AUTH_READ) {
@@ -801,6 +791,7 @@ function media_preview($image, $auth, $rev=false) {
}
$info = getimagesize(mediaFN($image, $rev));
$w = (int) $info[0];
+ $h = (int) $info[1];
$more = '';
if ($rev) {
@@ -809,12 +800,20 @@ function media_preview($image, $auth, $rev=false) {
$t = @filemtime(mediaFN($image));
$more = "t=$t";
}
+ $link = ml($image,$more,true,'&');
+
+ $size = 500;
+ if($meta && ($w > $size || $h > $size)){
+ $ratio = $meta->getResizeRatio($size, $size);
+ $w = floor($w * $ratio);
+ $h = floor($h * $ratio);
+ $more .= "&h=$h&w=$w";
+ }
+
$src = ml($image, $more);
echo '<div class="mediamanager-preview">';
echo '<img src="'.$src.'" alt="" width="99%" style="max-width: '.$w.'px;" /><br /><br />';
- $link = ml($image,$more,true,'&');
-
$form = new Doku_Form(array('action'=>$link, 'target'=>'_blank'));
$form->addElement(form_makeButton('submit','',$lang['mediaview']));
$form->printForm();
@@ -847,7 +846,7 @@ function media_preview($image, $auth, $rev=false) {
*
* @author Kate Arzamastseva <pshns@ukr.net>
*/
-function media_details($image, $auth, $rev=false) {
+function media_details($image, $auth, $rev=false, $meta=false) {
global $lang, $config_cascade;;
if (!$image) return '';
@@ -865,8 +864,8 @@ function media_details($image, $auth, $rev=false) {
}
}
- $src = mediaFN($image, $rev);
- $meta = new JpegMeta($src);
+ if (!$meta) $meta = new JpegMeta(mediaFN($image, $rev));
+
echo '<dl class="img_tags">';
foreach($fields as $key => $tag){
$t = array();
@@ -937,16 +936,20 @@ function media_diff($image, $ns, $auth) {
$revs = getRevisions($image, 0, 1, 8192, true);
$l_rev = $revs[0];
}
+
+ $l_meta = new JpegMeta(mediaFN($image, $l_rev));
+ $r_meta = new JpegMeta(mediaFN($image, $r_rev));
+
echo '<ul class="mediamanager-table-50"><li><div>';
- media_preview($image, $auth, $l_rev);
+ media_preview($image, $auth, $l_rev, $l_meta);
echo '</div></li>';
echo '<li><div>';
- media_preview($image, $auth, $r_rev);
+ media_preview($image, $auth, $r_rev, $r_meta);
echo '</div></li><li><div>';
- media_details($image, $auth, $l_rev);
+ media_details($image, $auth, $l_rev, $l_meta);
echo '</div></li>';
echo '<li><div>';
- media_details($image, $auth, $r_rev);
+ media_details($image, $auth, $r_rev, $r_meta);
echo '</div></li></ul>';
}