From 8d40b4b6e74029367996c169aa3e67507a4cdfe1 Mon Sep 17 00:00:00 2001 From: Kate Arzamastseva Date: Sun, 5 Jun 2011 21:05:23 +0300 Subject: type of recent changes selection --- inc/html.php | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) (limited to 'inc/html.php') diff --git a/inc/html.php b/inc/html.php index 6e187ebe1..e8d6b98a5 100644 --- a/inc/html.php +++ b/inc/html.php @@ -567,8 +567,9 @@ function html_revisions($first=0){ * @author Andreas Gohr * @author Matthias Grimm * @author Ben Coburn + * @author Kate Arzamastseva */ -function html_recent($first=0){ +function html_recent($first=0, $show_changes){ global $conf; global $lang; global $ID; @@ -576,10 +577,14 @@ function html_recent($first=0){ * decide if this is the last page or is there another one. * This is the cheapest solution to get this information. */ - $recents = getRecents($first,$conf['recent'] + 1,getNS($ID)); + $flags = RECENTS_INCLUDE_MEDIA; + if ($show_changes == 'mediafiles') $flags = RECENTS_SKIP_PAGES; + if ($show_changes == 'pages') $flags = 0; + + $recents = getRecents($first,$conf['recent'] + 1,getNS($ID),$flags); if(count($recents) == 0 && $first != 0){ $first=0; - $recents = getRecents($first,$conf['recent'] + 1,getNS($ID)); + $recents = getRecents($first,$conf['recent'] + 1,getNS($ID),$flags); } $hasNext = false; if (count($recents)>$conf['recent']) { @@ -596,6 +601,31 @@ function html_recent($first=0){ $form->addHidden('sectok', null); $form->addHidden('do', 'recent'); $form->addHidden('id', $ID); + + $form->addElement(form_makeOpenTag('div', array('class' => 'changestypenav'))); + $attrs = array('name' => 'show_changes', + 'value' => 'pages', + '_text' => $lang['pages_changes']); + if ($show_changes == 'pages') $attrs['checked'] = 'checked'; + $form->addElement(form_radiofield($attrs)); + $attrs = array('name' => 'show_changes', + 'value' => 'mediafiles', + '_text' => $lang['media_changes']); + if ($show_changes == 'mediafiles') $attrs['checked'] = 'checked'; + $form->addElement(form_radiofield($attrs)); + $attrs = array('name' => 'show_changes', + 'value' => 'both', + '_text' => $lang['both_changes'] ); + if (empty($show_changes) || $show_changes == 'both') $attrs['checked'] = 'checked'; + $form->addElement(form_radiofield($attrs)); + $form->addElement(form_makeTag('input', array( + 'type' => 'submit', + 'value' => $lang['btn_apply'], + 'title' => $lang['btn_apply'], + 'class' => 'button' + ))); + $form->addElement(form_makeCloseTag('div')); + $form->addElement(form_makeOpenTag('ul')); foreach($recents as $recent){ -- cgit v1.2.3 From 0739a638a982a263e933052cdb31594f6bf378e6 Mon Sep 17 00:00:00 2001 From: Kate Arzamastseva Date: Sun, 5 Jun 2011 21:09:26 +0300 Subject: type of recent changes selection fix --- inc/html.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc/html.php') diff --git a/inc/html.php b/inc/html.php index e8d6b98a5..06e9f3b0c 100644 --- a/inc/html.php +++ b/inc/html.php @@ -569,7 +569,7 @@ function html_revisions($first=0){ * @author Ben Coburn * @author Kate Arzamastseva */ -function html_recent($first=0, $show_changes){ +function html_recent($first=0, $show_changes='both'){ global $conf; global $lang; global $ID; -- cgit v1.2.3 From 0b926329daf6b9cd03c01a4e5b26b968d6cb16a8 Mon Sep 17 00:00:00 2001 From: Kate Arzamastseva Date: Fri, 10 Jun 2011 13:19:28 +0300 Subject: recent changes fix --- inc/html.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'inc/html.php') diff --git a/inc/html.php b/inc/html.php index 06e9f3b0c..29e40174c 100644 --- a/inc/html.php +++ b/inc/html.php @@ -577,8 +577,8 @@ function html_recent($first=0, $show_changes='both'){ * decide if this is the last page or is there another one. * This is the cheapest solution to get this information. */ - $flags = RECENTS_INCLUDE_MEDIA; - if ($show_changes == 'mediafiles') $flags = RECENTS_SKIP_PAGES; + if (!$show_changes || $show_changes == 'both') $flags = RECENTS_MEDIA_PAGES_MIXED; + if ($show_changes == 'mediafiles') $flags = RECENTS_MEDIA_CHANGES; if ($show_changes == 'pages') $flags = 0; $recents = getRecents($first,$conf['recent'] + 1,getNS($ID),$flags); -- cgit v1.2.3 From 8e69fd30702f1101a9c70dbe6eac6f45f9af3970 Mon Sep 17 00:00:00 2001 From: Kate Arzamastseva Date: Mon, 13 Jun 2011 20:23:18 +0300 Subject: media manager --- inc/html.php | 52 ++++++++++++++++++++++++++++++++++------------------ 1 file changed, 34 insertions(+), 18 deletions(-) (limited to 'inc/html.php') diff --git a/inc/html.php b/inc/html.php index 29e40174c..738ee6d75 100644 --- a/inc/html.php +++ b/inc/html.php @@ -415,20 +415,28 @@ function html_locked(){ * * @author Andreas Gohr * @author Ben Coburn + * @author Kate Arzamastseva */ -function html_revisions($first=0){ +function html_revisions($first=0, $media_id = false){ global $ID; global $INFO; global $conf; global $lang; + $id = $ID; /* we need to get one additionally log entry to be able to * decide if this is the last page or is there another one. * see html_recent() */ - $revisions = getRevisions($ID, $first, $conf['recent']+1); + if (!$media_id) $revisions = getRevisions($ID, $first, $conf['recent']+1); + else { + $revisions = getRevisions($media_id, $first, $conf['recent']+1, 8192, true); + $id = $media_id; + } + if(count($revisions)==0 && $first!=0){ $first=0; - $revisions = getRevisions($ID, $first, $conf['recent']+1);; + if (!$media_id) $revisions = getRevisions($ID, $first, $conf['recent']+1); + else $revisions = getRevisions($media_id, $first, $conf['recent']+1, 8192, true); } $hasNext = false; if (count($revisions)>$conf['recent']) { @@ -436,14 +444,19 @@ function html_revisions($first=0){ array_pop($revisions); // remove extra log entry } - $date = dformat($INFO['lastmod']); + if (!$media_id) $date = dformat($INFO['lastmod']); + else $date = dformat(@filemtime(mediaFN($id))); - print p_locale_xhtml('revisions'); + if (!$media_id) print p_locale_xhtml('revisions'); $form = new Doku_Form(array('id' => 'page__revisions')); $form->addElement(form_makeOpenTag('ul')); - if($INFO['exists'] && $first==0){ - if (isset($INFO['meta']) && isset($INFO['meta']['last_change']) && $INFO['meta']['last_change']['type']===DOKU_CHANGE_TYPE_MINOR_EDIT) + + if (!$media_id) $exists = $INFO['exists']; + else $exists = @file_exists(mediaFN($id)); + + if($exists && $first==0){ + if (!$media_id && isset($INFO['meta']) && isset($INFO['meta']['last_change']) && $INFO['meta']['last_change']['type']===DOKU_CHANGE_TYPE_MINOR_EDIT) $form->addElement(form_makeOpenTag('li', array('class' => 'minor'))); else $form->addElement(form_makeOpenTag('li')); @@ -461,8 +474,8 @@ function html_revisions($first=0){ $form->addElement(form_makeOpenTag('a', array( 'class' => 'wikilink1', - 'href' => wl($ID)))); - $form->addElement($ID); + 'href' => wl($id)))); + $form->addElement($id); $form->addElement(form_makeCloseTag('a')); $form->addElement(form_makeOpenTag('span', array('class' => 'sum'))); @@ -471,6 +484,7 @@ function html_revisions($first=0){ $form->addElement(form_makeCloseTag('span')); $form->addElement(form_makeOpenTag('span', array('class' => 'user'))); + /// $form->addElement((empty($INFO['editor']))?('('.$lang['external_edit'].')'):editorinfo($INFO['editor'])); $form->addElement(form_makeCloseTag('span')); @@ -481,8 +495,9 @@ function html_revisions($first=0){ foreach($revisions as $rev){ $date = dformat($rev); - $info = getRevisionInfo($ID,$rev,true); - $exists = page_exists($ID,$rev); + $info = getRevisionInfo($id,$rev,true); + if (!$media_id) $exists = page_exists($id,$rev); + else $exists = @file_exists(mediaFN($id,$rev)); if ($info['type']===DOKU_CHANGE_TYPE_MINOR_EDIT) $form->addElement(form_makeOpenTag('li', array('class' => 'minor'))); @@ -503,7 +518,8 @@ function html_revisions($first=0){ $form->addElement(form_makeCloseTag('span')); if($exists){ - $form->addElement(form_makeOpenTag('a', array('href' => wl($ID,"rev=$rev,do=diff", false, '&'), 'class' => 'diff_link'))); + /// + $form->addElement(form_makeOpenTag('a', array('href' => wl($id,"rev=$rev,do=diff", false, '&'), 'class' => 'diff_link'))); $form->addElement(form_makeTag('img', array( 'src' => DOKU_BASE.'lib/images/diff.png', 'width' => 15, @@ -511,13 +527,13 @@ function html_revisions($first=0){ 'title' => $lang['diff'], 'alt' => $lang['diff']))); $form->addElement(form_makeCloseTag('a')); - - $form->addElement(form_makeOpenTag('a', array('href' => wl($ID,"rev=$rev",false,'&'), 'class' => 'wikilink1'))); - $form->addElement($ID); + /// + $form->addElement(form_makeOpenTag('a', array('href' => wl($id,"rev=$rev",false,'&'), 'class' => 'wikilink1'))); + $form->addElement($id); $form->addElement(form_makeCloseTag('a')); }else{ $form->addElement(''); - $form->addElement($ID); + $form->addElement($id); } $form->addElement(form_makeOpenTag('span', array('class' => 'sum'))); @@ -549,12 +565,12 @@ function html_revisions($first=0){ $first -= $conf['recent']; if ($first < 0) $first = 0; print ''; } if ($hasNext) { print ''; } print ''; -- cgit v1.2.3 From dad6764e5f177713a165deee69b5a0e84b9548b8 Mon Sep 17 00:00:00 2001 From: Kate Arzamastseva Date: Tue, 14 Jun 2011 18:31:37 +0300 Subject: media history --- inc/html.php | 42 +++++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 13 deletions(-) (limited to 'inc/html.php') diff --git a/inc/html.php b/inc/html.php index 738ee6d75..cf0b00397 100644 --- a/inc/html.php +++ b/inc/html.php @@ -472,20 +472,30 @@ function html_revisions($first=0, $media_id = false){ $form->addElement(''); + if (!$media_id) $href = wl($id); + else $href = media_managerURL(array('image' => $id, 'tab_details' => 'view')); $form->addElement(form_makeOpenTag('a', array( 'class' => 'wikilink1', - 'href' => wl($id)))); + 'href' => $href))); $form->addElement($id); $form->addElement(form_makeCloseTag('a')); $form->addElement(form_makeOpenTag('span', array('class' => 'sum'))); $form->addElement(' – '); - $form->addElement(htmlspecialchars($INFO['sum'])); + if (!$media_id) $form->addElement(htmlspecialchars($INFO['sum'])); $form->addElement(form_makeCloseTag('span')); $form->addElement(form_makeOpenTag('span', array('class' => 'user'))); - /// - $form->addElement((empty($INFO['editor']))?('('.$lang['external_edit'].')'):editorinfo($INFO['editor'])); + if (!$media_id) $editor = $INFO['editor']; + else { + $revinfo = getRevisionInfo($id, @filemtime(fullpath(mediaFN($id))), 1024, true); + if($revinfo['user']){ + $editor = $revinfo['user']; + }else{ + $editor = $revinfo['ip']; + } + } + $form->addElement((empty($editor))?('('.$lang['external_edit'].')'):editorinfo($editor)); $form->addElement(form_makeCloseTag('span')); $form->addElement('('.$lang['current'].')'); @@ -494,10 +504,14 @@ function html_revisions($first=0, $media_id = false){ } foreach($revisions as $rev){ - $date = dformat($rev); - $info = getRevisionInfo($id,$rev,true); - if (!$media_id) $exists = page_exists($id,$rev); - else $exists = @file_exists(mediaFN($id,$rev)); + $date = dformat($rev); + if (!$media_id) { + $info = getRevisionInfo($id,$rev,true); + $exists = page_exists($id,$rev); + } else { + $info = getRevisionInfo($id,$rev,true,true); + $exists = @file_exists(mediaFN($id,$rev)); + } if ($info['type']===DOKU_CHANGE_TYPE_MINOR_EDIT) $form->addElement(form_makeOpenTag('li', array('class' => 'minor'))); @@ -518,8 +532,9 @@ function html_revisions($first=0, $media_id = false){ $form->addElement(form_makeCloseTag('span')); if($exists){ - /// - $form->addElement(form_makeOpenTag('a', array('href' => wl($id,"rev=$rev,do=diff", false, '&'), 'class' => 'diff_link'))); + if (!$media_id) $href = wl($id,"rev=$rev,do=diff", false, '&'); + else $href = media_managerURL(array('image' => $id, 'tab_details' => 'view', 'rev' => $rev)); + $form->addElement(form_makeOpenTag('a', array('href' => $href, 'class' => 'diff_link'))); $form->addElement(form_makeTag('img', array( 'src' => DOKU_BASE.'lib/images/diff.png', 'width' => 15, @@ -527,8 +542,9 @@ function html_revisions($first=0, $media_id = false){ 'title' => $lang['diff'], 'alt' => $lang['diff']))); $form->addElement(form_makeCloseTag('a')); - /// - $form->addElement(form_makeOpenTag('a', array('href' => wl($id,"rev=$rev",false,'&'), 'class' => 'wikilink1'))); + if (!$media_id) $href = wl($id,"rev=$rev",false,'&'); + else $href = media_managerURL(array('image' => $id, 'tab_details' => 'view', 'rev' => $rev)); + $form->addElement(form_makeOpenTag('a', array('href' => $href, 'class' => 'wikilink1'))); $form->addElement($id); $form->addElement(form_makeCloseTag('a')); }else{ @@ -556,7 +572,7 @@ function html_revisions($first=0, $media_id = false){ $form->addElement(form_makeCloseTag('li')); } $form->addElement(form_makeCloseTag('ul')); - $form->addElement(form_makeButton('submit', 'diff', $lang['diff2'])); + if (!$media_id) $form->addElement(form_makeButton('submit', 'diff', $lang['diff2'])); html_form('revisions', $form); print '