From: <lph...@us...> - 2009-01-07 18:42:50
|
Revision: 16201 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=16201&view=rev Author: lphuberdeau Date: 2009-01-07 18:42:46 +0000 (Wed, 07 Jan 2009) Log Message: ----------- [MOD]?\194?\160Add some missing actions Modified Paths: -------------- branches/experimental/ui-revamp/lib/TikiPageControls.php branches/experimental/ui-revamp/lib/TikiPageControls_Wiki.php branches/experimental/ui-revamp/lib/wiki/renderlib.php branches/experimental/ui-revamp/templates/tiki-wiki_topline.tpl Modified: branches/experimental/ui-revamp/lib/TikiPageControls.php =================================================================== --- branches/experimental/ui-revamp/lib/TikiPageControls.php 2009-01-07 16:42:35 UTC (rev 16200) +++ branches/experimental/ui-revamp/lib/TikiPageControls.php 2009-01-07 18:42:46 UTC (rev 16201) @@ -181,6 +181,17 @@ case 'url': return new TikiPageControls_UrlLink( $object, $arguments ); + + case 'jscall': + $func = $object; + $args = array_map( 'json_encode', $arguments ); + return new TikiPageControls_UrlLink( + 'javascript:' + . $func + . '(' + . implode( ',', $args ) + . ')' + ); default: throw new Exception('Unknown link type: ' . $type); @@ -345,7 +356,7 @@ } } // }}} - public function getUser( $user ) // {{{ + public function getUser() // {{{ { return $this->user; } // }}} @@ -399,9 +410,22 @@ protected function hasPref( $prefName ) // {{{ { global $prefs; - return isset( $prefs[$prefName] ) && $prefs[$prefName] == 'y'; + + foreach( func_get_args() as $prefName ) + if( ! isset( $prefs[$prefName] ) || $prefs[$prefName] != 'y' ) + return false; + + return true; } // }}} + protected function getPref( $prefName ) // {{{ + { + global $prefs; + + if( isset( $prefs[$prefName] ) ) + return $prefs[$prefName]; + } // }}} + protected function addMenu( $permanentName, $label ) // {{{ { $menu = new TikiPageControls_Menu; @@ -515,6 +539,20 @@ return $this->commentCount = $commentslib->count_comments("{$this->type}:{$this->objectId}"); } // }}} + function eventIsWatched( $event, $type = null, $objectId = null ) // {{{ + { + global $tikilib; + if( ! $this->user ) + return false; + + if( ! $type ) + $type = $this->type; + if( ! $objectId ) + $objectId = $this->objectId; + + return $tikilib->user_watches( $this->user, $event, $objectId, $type ); + } // }}} + function offsetSet( $name, $value ) {} function offsetUnset( $name ) {} } Modified: branches/experimental/ui-revamp/lib/TikiPageControls_Wiki.php =================================================================== --- branches/experimental/ui-revamp/lib/TikiPageControls_Wiki.php 2009-01-07 16:42:35 UTC (rev 16200) +++ branches/experimental/ui-revamp/lib/TikiPageControls_Wiki.php 2009-01-07 18:42:46 UTC (rev 16201) @@ -20,6 +20,7 @@ private $structureInfo; private $attachmentCount; private $isLocked; + private $isCached; function __construct( $info ) // {{{ { @@ -100,6 +101,11 @@ $this->attachmentCount = (int) $count; } // }}} + function setPageCached( $cached ) // {{{ + { + $this->isCached = (boolean) $cached; + } // }}} + function isAllLanguage( $isAllLanguage ) // {{{ { $this->isAllLanguage = (bool) $isAllLanguage; @@ -291,6 +297,111 @@ ->setSelected( $this->isMode('translate') ); } + if( file_exists('lib/mozilla2ps/mod_urltopdf.php') ) { + $link = $this->link( 'url', 'tiki-print.php', array( + 'display' => 'pdf', + 'page' => $this->page, + ) ); + $actionMenu->addItem( tra('PDF'), $link, 'pdf' ) + ->setIcon( 'pics/icons/page_white_acrobat.png' ); + } + + if( $this->hasPref('feature_wiki_print') ) { + $args = array( 'page' => $this->page ); + if( $this->structureInfo ) + $args['page_ref_id'] = $this->structureInfo['page_ref_id']; + + $link = $this->link( 'url', 'tiki-print.php', $args ); + $actionMenu->addItem( tra('Print'), $link, 'print' ) + ->setIcon('pics/icons/printer.png'); + } + + if( $this->hasPref('feature_morcego', 'wiki_feature_3d') ) { + $link = $this->link( 'jscall', 'wiki3d_open', array( + $this->page, + $this->getPref('wiki_3d_width'), + $this->getPref('wiki_3d_height'), + ) ); + $actionMenu->addItem( tra('3d browser'), $link, '3dbrowser' ) + ->setIcon( 'pics/icons/wiki3d.png' ); + } + + if( $this->isCached ) { + $link = $this->link( 'wiki page', $this->page, array( + 'refresh' => 1, + ) ); + $actionMenu->addItem( tra('Refresh cache'), $link, 'refresh' ) + ->setIcon( 'pics/icons/refresh.png' ); + } + + if( $this->hasPref('feature_tell_a_friend') + && $this->hasPerm('tiki_p_tell_a_friend') ) { + + $link = $this->link( 'url', 'tiki-tell_a_friend.php', array( + 'url' => $_SERVER['REQUEST_URI'], + ) ); + $actionMenu->addItem( tra('Send a link'), $link, 'tellafriend' ) + ->setIcon( 'pics/icons/email_link.png' ); + } + + if( $this->getUser() + && $this->hasPref( 'feature_notepad' ) + && $this->hasPerm( 'tiki_p_notepad' ) ) { + + $args = array( 'savenotepad' => 1 ); + if( $this->structureInfo ) + $args['page_ref_id'] = $this->structureInfo['page_ref_id']; + $link = $this->link( 'wiki page', $this->page, $args ); + $actionMenu->addItem( tra('Save to notepad'), $link, 'notepad' ) + ->setIcon( 'pics/icons/disk.png' ); + } + + if( $this->getUser() + && $this->hasPref('feature_user_watches') ) { + + if( $this->eventIsWatched( 'wiki_page_changed' ) ) { + $action = 'remove'; + $icon = 'pics/icons/no_eye.png'; + $label = tra('Stop Monitoring this Page'); + } else { + $action = 'add'; + $icon = 'pics/icons/eye.png'; + $label = tra('Monitor this Page'); + } + + $link = $this->link( 'wiki page', $this->page, array( + 'watch_event' => 'wiki_page_changed', + 'watch_object' => $this->page, + 'watch_action' => $action, + 'structure_info' => $this->page, + ) ); + $actionMenu->addItem( $label, $link, 'watch' ); + } + + if( $this->getUser() + && $this->structureInfo + && $this->hasPref('feature_user_watches') ) { + + if( $this->eventIsWatched( 'structure_changed', 'structure', $this->structureInfo['page_ref_id'] ) ) { + $action = 'remove_desc'; + $icon = 'pics/icons/no_eye_arrow_down.png'; + $label = tra('Stop Monitoring this Sub-Structure'); + } else { + $action = 'add_desc'; + $icon = 'pics/icons/eye_arrow_down.png'; + $label = tra('Monitor this Sub-Structure'); + } + + $link = $this->link( 'wiki page', $this->page, array( + 'watch_event' => 'structure_changed', + 'watch_object' => $this->structureInfo['page_ref_id'], + 'watch_action' => $action, + 'structure_info' => $this->page, + ) ); + $actionMenu->addItem( $label, $link, 'watch' ); + } + + $this->removeMenu( $actionMenu, 0 ); } // }}} Modified: branches/experimental/ui-revamp/lib/wiki/renderlib.php =================================================================== --- branches/experimental/ui-revamp/lib/wiki/renderlib.php 2009-01-07 16:42:35 UTC (rev 16200) +++ branches/experimental/ui-revamp/lib/wiki/renderlib.php 2009-01-07 18:42:46 UTC (rev 16201) @@ -326,6 +326,8 @@ $pdata = $wikilib->get_parse($this->page, $canBeRefreshed); if ($canBeRefreshed) { $this->smartyassign('cached_page','y'); + if( $this->pageControls ) + $this->pageControls->setPageCached( true ); } $pages = $wikilib->get_number_of_pages($pdata); Modified: branches/experimental/ui-revamp/templates/tiki-wiki_topline.tpl =================================================================== --- branches/experimental/ui-revamp/templates/tiki-wiki_topline.tpl 2009-01-07 16:42:35 UTC (rev 16200) +++ branches/experimental/ui-revamp/templates/tiki-wiki_topline.tpl 2009-01-07 18:42:46 UTC (rev 16201) @@ -20,55 +20,7 @@ {if $print_page ne 'y'} <div class="wikiactions" style="float: right; padding-left:10px; white-space: nowrap"> <div class="icons" style="float: left;"> - {if $pdf_export eq 'y'} - <a href="tiki-print.php?{query display="pdf"}" title="{tr}PDF{/tr}">{icon _id='page_white_acrobat' alt="{tr}PDF{/tr}"}</a> - {/if} - {if $editable and ($tiki_p_edit eq 'y' or $page|lower eq 'sandbox') and $beingEdited ne 'y' or $canEditStaging eq 'y'} - <a title="{tr}Edit{/tr}" {ajax_href template="tiki-editpage.tpl" htmlelement="tiki-center"}tiki-editpage.php?page={if $needsStaging eq 'y'}{$stagingPageName|escape:"url"}{else}{$page|escape:"url"}{/if}{if !empty($page_ref_id) and $needsStaging neq 'y'}&page_ref_id={$page_ref_id}{/if}{/ajax_href}>{icon _id='page_edit'}</a> - {/if} - {if $prefs.feature_morcego eq 'y' && $prefs.wiki_feature_3d eq 'y'} - <a title="{tr}3d browser{/tr}" href="javascript:wiki3d_open('{$page|escape}',{$prefs.wiki_3d_width}, {$prefs.wiki_3d_height})">{icon _id='wiki3d' alt="{tr}3d browser{/tr}"}</a> - {/if} - {if $cached_page eq 'y'} - <a title="{tr}Refresh{/tr}" href="tiki-index.php?page={$page|escape:"url"}&refresh=1">{icon _id='arrow_refresh'}</a> - {/if} - {if $prefs.feature_wiki_print eq 'y'} - <a title="{tr}Print{/tr}" href="tiki-print.php?{if !empty($page_ref_id)}page_ref_id={$page_ref_id}&{/if}page={$page|escape:"url"}">{icon _id='printer' alt="{tr}Print{/tr}"}</a> - {/if} - {if $prefs.feature_tell_a_friend eq 'y' && $tiki_p_tell_a_friend eq 'y'} - <a title="{tr}Send a link{/tr}" href="tiki-tell_a_friend.php?url={$smarty.server.REQUEST_URI|escape:'url'}">{icon _id='email_link' alt="{tr}Send a link{/tr}"}</a> - {/if} - {if $user and $prefs.feature_notepad eq 'y' and $tiki_p_notepad eq 'y'} - <a title="{tr}Save to notepad{/tr}" href="tiki-index.php?page={$page|escape:"url"}&savenotepad=1{if !empty($page_ref_id)}&page_ref_id={$page_ref_id}{/if}">{icon _id='disk' alt="{tr}Save to notepad{/tr}"}</a> - {/if} - {if $user and $prefs.feature_user_watches eq 'y'} - {if $user_watching_page eq 'n'} - <a href="tiki-index.php?page={$page|escape:"url"}&watch_event=wiki_page_changed&watch_object={$page|escape:"url"}&watch_action=add{if $structure eq 'y'}&structure={$home_info.pageName|escape:'url'}{/if}" class="icon">{icon _id='eye' alt='{tr}Monitor this Page{/tr}'}</a> - {else} - <a href="tiki-index.php?page={$page|escape:"url"}&watch_event=wiki_page_changed&watch_object={$page|escape:"url"}&watch_action=remove{if $structure eq 'y'}&structure={$home_info.pageName|escape:'url'}{/if}" class="icon">{icon _id='no_eye' alt='{tr}Stop Monitoring this Page{/tr}'}</a> - {/if} - {if $structure == 'y' and $tiki_p_watch_structure eq 'y'} - {if $user_watching_structure ne 'y'} - <a href="tiki-index.php?page={$page|escape:"url"}&watch_event=structure_changed&watch_object={$page_info.page_ref_id}&watch_action=add_desc&structure={$home_info.pageName|escape:'url'}">{icon _id='eye_arrow_down' alt='{tr}Monitor the Sub-Structure{/tr}'}</a> - {else} - <a href="tiki-index.php?page={$page|escape:"url"}&watch_event=structure_changed&watch_object={$page_info.page_ref_id}&watch_action=remove_desc&structure={$home_info.pageName|escape:'url'}">{icon _id='no_eye_arrow_down' alt='{tr}Stop Monitoring the Sub-Structure{/tr}'}</a> - {/if} - {/if} - {/if} - </div><!-- END of icons --> - - {if $prefs.feature_backlinks eq 'y' and $backlinks and $tiki_p_view_backlinks eq 'y'} - <form action="tiki-index.php" method="get" style="display: block; float: left"> - <select name="page" onchange="page.form.submit()"> - <option>{tr}Backlinks{/tr}...</option> - {section name=back loop=$backlinks} - <option value="{$backlinks[back].fromPage}">{$backlinks[back].fromPage}</option> - {/section} - </select> - </form> - {/if} - {if $structure == 'y' and count($showstructs) > 1 or $structure eq 'n' and count($showstructs) ne 0 } <form action="tiki-index.php" method="post" style="float: left"> <select name="page_ref_id" onchange="page_ref_id.form.submit()"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |