diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/exe/fetch.php | 10 | ||||
-rw-r--r-- | lib/exe/mediamanager.php | 16 | ||||
-rw-r--r-- | lib/images/icon-file.png | bin | 0 -> 3363 bytes | |||
-rw-r--r-- | lib/images/icon-list.png | bin | 0 -> 3342 bytes | |||
-rw-r--r-- | lib/images/icon-sort.png | bin | 0 -> 316 bytes | |||
-rw-r--r-- | lib/images/icon-thumb.png | bin | 0 -> 969 bytes | |||
-rw-r--r-- | lib/plugins/popularity/lang/uk/submitted.txt | 2 | ||||
-rw-r--r-- | lib/tpl/default/design.css | 12 | ||||
-rw-r--r-- | lib/tpl/default/detail.php | 46 | ||||
-rw-r--r-- | lib/tpl/default/main.php | 1 | ||||
-rw-r--r-- | lib/tpl/default/mediamanager.css | 255 | ||||
-rw-r--r-- | lib/tpl/default/style.ini | 1 |
12 files changed, 311 insertions, 32 deletions
diff --git a/lib/exe/fetch.php b/lib/exe/fetch.php index 3ad4f1937..143d40f22 100644 --- a/lib/exe/fetch.php +++ b/lib/exe/fetch.php @@ -20,6 +20,10 @@ $CACHE = calc_cache($_REQUEST['cache']); $WIDTH = (int) $_REQUEST['w']; $HEIGHT = (int) $_REQUEST['h']; + $REV = (int) @$_REQUEST['rev']; + //sanitize revision + $REV = preg_replace('/[^0-9]/','',$REV); + list($EXT,$MIME,$DL) = mimetype($MEDIA,false); if($EXT === false){ $EXT = 'unknown'; @@ -28,7 +32,7 @@ } // check for permissions, preconditions and cache external files - list($STATUS, $STATUSMESSAGE) = checkFileStatus($MEDIA, $FILE); + list($STATUS, $STATUSMESSAGE) = checkFileStatus($MEDIA, $FILE, $REV); // prepare data for plugin events $data = array('media' => $MEDIA, @@ -147,7 +151,7 @@ function sendFile($file,$mime,$dl,$cache){ * @param $file reference to the file variable * @returns array(STATUS, STATUSMESSAGE) */ -function checkFileStatus(&$media, &$file) { +function checkFileStatus(&$media, &$file, $rev='') { global $MIME, $EXT, $CACHE; //media to local file @@ -172,7 +176,7 @@ function checkFileStatus(&$media, &$file) { if(auth_quickaclcheck(getNS($media).':X') < AUTH_READ){ return array( 403, 'Forbidden' ); } - $file = mediaFN($media); + $file = mediaFN($media, $rev); } //check file existance diff --git a/lib/exe/mediamanager.php b/lib/exe/mediamanager.php index 02fde5a8d..24dd5f911 100644 --- a/lib/exe/mediamanager.php +++ b/lib/exe/mediamanager.php @@ -35,7 +35,7 @@ $AUTH = auth_quickaclcheck("$NS:*"); // do not display the manager if user does not have read access - if($AUTH < AUTH_READ) { + if($AUTH < AUTH_READ && !$fullscreen) { header('HTTP/1.0 403 Forbidden'); die($lang['accessdenied']); } @@ -76,7 +76,11 @@ } // handle meta saving - if($IMG && $_REQUEST['do']['save']){ + if($IMG && @array_key_exists('save', $_REQUEST['do'])){ + $JUMPTO = media_metasave($IMG,$AUTH,$_REQUEST['meta']); + } + + if($IMG && @array_key_exists('save', $_REQUEST['mediado'])){ $JUMPTO = media_metasave($IMG,$AUTH,$_REQUEST['meta']); } @@ -102,9 +106,11 @@ msg(sprintf($lang['deletefail'],noNS($DEL)),-1); } } - // finished - start output - header('Content-Type: text/html; charset=utf-8'); - include(template('mediamanager.php')); + + if (!$fullscreen) { + header('Content-Type: text/html; charset=utf-8'); + include(template('mediamanager.php')); + } /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ diff --git a/lib/images/icon-file.png b/lib/images/icon-file.png Binary files differnew file mode 100644 index 000000000..d350c8c31 --- /dev/null +++ b/lib/images/icon-file.png diff --git a/lib/images/icon-list.png b/lib/images/icon-list.png Binary files differnew file mode 100644 index 000000000..ecfeed92d --- /dev/null +++ b/lib/images/icon-list.png diff --git a/lib/images/icon-sort.png b/lib/images/icon-sort.png Binary files differnew file mode 100644 index 000000000..c6403dd3c --- /dev/null +++ b/lib/images/icon-sort.png diff --git a/lib/images/icon-thumb.png b/lib/images/icon-thumb.png Binary files differnew file mode 100644 index 000000000..ccc7a101d --- /dev/null +++ b/lib/images/icon-thumb.png diff --git a/lib/plugins/popularity/lang/uk/submitted.txt b/lib/plugins/popularity/lang/uk/submitted.txt new file mode 100644 index 000000000..90213858d --- /dev/null +++ b/lib/plugins/popularity/lang/uk/submitted.txt @@ -0,0 +1,2 @@ +====== Відгук популярності ====== +Дані були успішно відправлені.
\ No newline at end of file diff --git a/lib/tpl/default/design.css b/lib/tpl/default/design.css index 1fdf2bfac..1dee4dc69 100644 --- a/lib/tpl/default/design.css +++ b/lib/tpl/default/design.css @@ -246,6 +246,18 @@ div.dokuwiki div.pagenav-next { width: 49% } +/* ----------- type of recent changes ------------- */ + +div.dokuwiki div.changestypenav { + border-bottom: 1px solid __border__; + padding-bottom: 10px; + margin-bottom: 10px; +} + +div.dokuwiki div.changestypenav label { + padding-right: 10px; +} + /* --------------- Links ------------------ */ div.dokuwiki a:link, diff --git a/lib/tpl/default/detail.php b/lib/tpl/default/detail.php index 4f42b116e..f61ede043 100644 --- a/lib/tpl/default/detail.php +++ b/lib/tpl/default/detail.php @@ -52,30 +52,28 @@ if (!defined('DOKU_INC')) die(); <dl class="img_tags"> <?php - $t = tpl_img_getTag('Date.EarliestTime'); - if($t) print '<dt>'.$lang['img_date'].':</dt><dd>'.dformat($t).'</dd>'; - - $t = tpl_img_getTag('File.Name'); - if($t) print '<dt>'.$lang['img_fname'].':</dt><dd>'.hsc($t).'</dd>'; - - $t = tpl_img_getTag(array('Iptc.Byline','Exif.TIFFArtist','Exif.Artist','Iptc.Credit')); - if($t) print '<dt>'.$lang['img_artist'].':</dt><dd>'.hsc($t).'</dd>'; - - $t = tpl_img_getTag(array('Iptc.CopyrightNotice','Exif.TIFFCopyright','Exif.Copyright')); - if($t) print '<dt>'.$lang['img_copyr'].':</dt><dd>'.hsc($t).'</dd>'; - - $t = tpl_img_getTag('File.Format'); - if($t) print '<dt>'.$lang['img_format'].':</dt><dd>'.hsc($t).'</dd>'; - - $t = tpl_img_getTag('File.NiceSize'); - if($t) print '<dt>'.$lang['img_fsize'].':</dt><dd>'.hsc($t).'</dd>'; - - $t = tpl_img_getTag('Simple.Camera'); - if($t) print '<dt>'.$lang['img_camera'].':</dt><dd>'.hsc($t).'</dd>'; - - $t = tpl_img_getTag(array('IPTC.Keywords','IPTC.Category','xmp.dc:subject')); - if($t) print '<dt>'.$lang['img_keywords'].':</dt><dd>'.hsc($t).'</dd>'; - + static $tags = null; + if(is_null($tags)){ + foreach (array('default','local') as $config_group) { + if (empty($config_cascade['mediameta'][$config_group])) continue; + foreach ($config_cascade['mediameta'][$config_group] as $config_file) { + if(@file_exists($config_file)){ + include($config_file); + } + } + } + } + foreach($tags as $key => $tag){ + $t = $tag[0]; + if (!is_array($t)) $t = array($tag[0]); + $value = tpl_img_getTag($t); + if ($value) { + echo '<dt>'.$lang[$tag[1]].':</dt><dd>'; + if ($tag[2] == 'text') echo hsc($value); + if ($tag[2] == 'date') echo dformat($value); + echo '</dd>'; + } + } ?> </dl> <?php //Comment in for Debug// dbg(tpl_img_getTag('Simple.Raw'));?> diff --git a/lib/tpl/default/main.php b/lib/tpl/default/main.php index 94c2322aa..698793ecd 100644 --- a/lib/tpl/default/main.php +++ b/lib/tpl/default/main.php @@ -117,6 +117,7 @@ if (!defined('DOKU_INC')) die(); </div> <div class="bar-right" id="bar__bottomright"> <?php tpl_button('subscribe')?> + <?php tpl_button('media')?> <?php tpl_button('admin')?> <?php tpl_button('profile')?> <?php tpl_button('login')?> diff --git a/lib/tpl/default/mediamanager.css b/lib/tpl/default/mediamanager.css new file mode 100644 index 000000000..7a85f3c8b --- /dev/null +++ b/lib/tpl/default/mediamanager.css @@ -0,0 +1,255 @@ +/* --- Tree formatting --- */ + +#media-menu img { + float: left; + padding: 0.5em 0.3em 0 0; +} + +#media-menu ul { + list-style-type: none; + list-style-image: none; + margin-left: 1.5em; +} + +#media-menu li { + clear: left; + list-style-type: none; + list-style-image: none; +} + +/* -------------- */ + +.mediamanager { + width: 100%; + overflow-y: auto; +} + +.mediamanager .clearer { + font-size: 0; + line-height: 0; +} + +.mediamanager .mediamanager-slider { + width: auto; +} + +.mediamanager .mediamanager-slider .layout { + float: left; + margin-left: 5px; + margin-right: 5px; +} + +.mediamanager .scroll-container { + /*height: 0px;*/ + overflow-y: auto; + overflow-x: hidden; + padding: 0; + margin: 0; + text-align: left; +} + +.background-container { + background-color: __background_alt__; + margin-bottom: 10px; + padding: 10px; + text-align: left; +} + +.mediamanager-link-thumbnails { + background: url('../../images/icon-thumb.png') 0 -4px no-repeat; + padding-left: 30px; + display: block; + float: left; + width: 0; + overflow: hidden; +} + +.mediamanager-link-list { + background: url('../../images/icon-list.png') 0 -4px no-repeat; + padding-left: 30px; + display: block; + float: left; + width: 0; + overflow: hidden; +} + +.mediamanager-block-sort { + background: url('../../images/icon-sort.png') 0 -4px no-repeat; + padding-left: 30px; + display: block; + float: right; +} + +.mediamanager-link-thumbnails:hover, +.mediamanager-link-list:hover { + width: auto; + margin-right: 10px; +} + +.mediamanager-tabs a { + font-weight: bold; + display: block; + float: left; + padding: 10px; + padding-bottom: 5px; + padding-top: 5px; + + margin-right: 2px; + + -moz-border-radius-topright: 10px; + -webkit-border-top-right-radius: 10px; + -moz-border-radius-topleft: 10px; + -webkit-border-top-left-radius: 10px; + border-top-right-radius: 10px; + border-top-left-radius: 10px; +} + +.mediamanager-tabs .selected { + background-color: __background_alt__; +} + +.mediamanager-tabs a:hover { + background-color: __background_alt__; + opacity: 0.5; +} + +.mediamanager-table td { + padding: 5px; +} + +.mediamanager-table tr:nth-child(2n+1){ + background-color: __background_neu__; +} + +.mediamanager-table { + background: expression(this.rowIndex % 2 == 0 ? "#ffffff" : "#f5f5f5"); +} + +.mediamanager-table tr:hover { + background-color: __background_alt__; +} + +form.meta textarea.edit { + height: 8em; + width: 95%; + min-width: 95%; + max-width: 95%; +} + +.mediamanager-file-list { + padding: 0; + margin: 0 !important; +} + +.mediamanager-thumbs li { + width: 100px; + min-height: 130px; + display: inline-block; + margin: 0; + margin-right: 10px; + margin-bottom: 10px; + background-color: __background_alt__; + padding: 10px; + vertical-align: top; + display: -moz-inline-stack; + text-align: center; + zoom: 1; + *display: inline; + _height: 130px; + position: relative; +} + +.mediamanager-thumbs li .image { + width: 100%; + height: 90px; + display: block; + overflow: hidden; +} + +.mediamanager-thumbs li .info { + display: block; + overflow: hidden; +} + +.mediamanager-thumbs li input[type=checkbox] { + /*position: absolute; + left: 100%; + top: 100%; + margin-left: -20px; + margin-top: -20px;*/ + display: none; +} + +.mediamanager-thumbs li:hover input[type=checkbox], +.mediamanager-thumbs li input[type=checkbox]:checked { + display: inline; +} + +.mediamanager-list li { + list-style: none; + display: block; + position: relative; + max-height: 50px; + margin: 0; + margin-bottom: 3px; +} + +.mediamanager-list li:nth-child(2n+1) { + background-color: __background_neu__; +} + +.mediamanager-list li .image { + width: 10%; + display: block; + overflow: hidden; + float: left; + height: 40px; +} + +.mediamanager-list li .image img { + width: 100%; +} + +.mediamanager-list li .info { + overflow: hidden; + float: left; + width: 19%; + margin-left: 1%; +} + +.mediamanager-list li input[type=checkbox] { + position: absolute; + left: 100%; + margin-left: -20px; + margin-top: 3px; + display: none; +} + +.mediamanager-list li:hover input[type=checkbox], +.mediamanager-list li input[type=checkbox]:checked { + display: block; +} + +.mediamanager-file-list li:hover { + background-color: #dadada; +} + +.mediamanager-table-50 { + padding: 0; + margin: 0 !important; +} + +.mediamanager-table-50 li { + width: 48%; + display: inline-block; + margin: 0; + margin-bottom: 10px; + padding: 2px; + vertical-align: top; + zoom: 1; + *display: inline; +} + +.mediamanager-preview { + margin-bottom: 5px; +}
\ No newline at end of file diff --git a/lib/tpl/default/style.ini b/lib/tpl/default/style.ini index c5b2c31a5..bc28d1bbc 100644 --- a/lib/tpl/default/style.ini +++ b/lib/tpl/default/style.ini @@ -15,6 +15,7 @@ _mediaoptions.css = screen _admin.css = screen _linkwiz.css = screen _subscription.css = screen +mediamanager.css = screen rtl.css = rtl print.css = print |