diff --git a/.gitattributes b/.gitattributes index f3b7237f94687af26bf06532c0fb72dc544ef863..b1eb4ab4a461c2e7896e5cf04dc2390cb37020bf 100644 --- a/.gitattributes +++ b/.gitattributes @@ -195,6 +195,7 @@ dist/images/suivi-forum-24.gif -text dist/images/suivi-petition-24.gif -text dist/images/supprimer.gif -text dist/images/synchro-24.gif -text +dist/images/tab.png -text dist/images/telecharger.gif -text dist/images/test.gif -text dist/images/test.jpg -text @@ -237,9 +238,12 @@ dist/javascript/bgiframe.js -text dist/javascript/dragdrop_interface.js -text dist/javascript/form.js -text dist/javascript/jquery.js -text +dist/javascript/jquery.tabs.min.js -text dist/javascript/multilang.js -text dist/javascript/pause.js -text dist/jquery.js.html -text +dist/jquery.tabs-ie.css -text +dist/jquery.tabs.css -text dist/minipres.css -text dist/modeles/article_mots.html -text dist/modeles/article_traductions.html -text @@ -257,6 +261,13 @@ dist/out.gif -text dist/polices/dustismo-license.txt -text svneol=unset#application/octet-stream dist/polices/dustismo.ttf -text dist/polices/dustismo_bold.ttf -text +dist/prive/article_infos.html -text +dist/prive/article_infos_fonctions.php -text +dist/prive/breve_infos.html -text +dist/prive/breve_infos_fonctions.php -text +dist/prive/rubrique_infos.html -text +dist/prive/site_infos.html -text +dist/prive/site_infos_fonctions.php -text dist/puce.gif -text dist/puce_rtl.gif -text dist/spip.png -text @@ -586,6 +597,8 @@ ecrire/inc/informer.php -text ecrire/inc/informer_auteur.php -text ecrire/inc/instituer_article.php -text ecrire/inc/instituer_auteur.php -text +ecrire/inc/instituer_breve.php -text +ecrire/inc/instituer_site.php -text ecrire/inc/joindre.php -text ecrire/inc/lang_liste.php -text ecrire/inc/legender.php -text diff --git a/dist/images/tab.png b/dist/images/tab.png new file mode 100644 index 0000000000000000000000000000000000000000..c7501058a7bcb652911281121359d6a5378e0dcf Binary files /dev/null and b/dist/images/tab.png differ diff --git a/dist/javascript/jquery.tabs.min.js b/dist/javascript/jquery.tabs.min.js new file mode 100644 index 0000000000000000000000000000000000000000..674fc5cc3336c01753f08ec0111ff5fa69835233 --- /dev/null +++ b/dist/javascript/jquery.tabs.min.js @@ -0,0 +1,14 @@ +/** + * Tabs - jQuery plugin for accessible, unobtrusive tabs + * @requires jQuery v1.1.1 + * + * http://stilbuero.de/tabs/ + * + * Copyright (c) 2006 Klaus Hartl (stilbuero.de) + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + * Version: 2.7.4 + */ +(function($){$.extend({tabs:{remoteCount:0}});$.fn.tabs=function(initial,settings){if(typeof initial=='object')settings=initial;settings=$.extend({initial:(initial&&typeof initial=='number'&&initial>0)?--initial:0,disabled:null,bookmarkable:$.ajaxHistory?true:false,remote:false,spinner:'Loading…',hashPrefix:'remote-tab-',fxFade:null,fxSlide:null,fxShow:null,fxHide:null,fxSpeed:'normal',fxShowSpeed:null,fxHideSpeed:null,fxAutoHeight:false,onClick:null,onHide:null,onShow:null,navClass:'tabs-nav',selectedClass:'tabs-selected',disabledClass:'tabs-disabled',containerClass:'tabs-container',hideClass:'tabs-hide',loadingClass:'tabs-loading',tabStruct:'div'},settings||{});$.browser.msie6=$.browser.msie&&($.browser.version&&$.browser.version<7||/MSIE 6.0/.test(navigator.userAgent));function unFocus(){scrollTo(0,0);}return this.each(function(){var container=this;var nav=$('ul.'+settings.navClass,container);nav=nav.size()&&nav||$('>ul:eq(0)',container);var tabs=$('a',nav);if(settings.remote){tabs.each(function(){var id=settings.hashPrefix+(++$.tabs.remoteCount),hash='#'+id,url=this.href;this.href=hash;$('<div id="'+id+'" class="'+settings.containerClass+'"></div>').appendTo(container);$(this).bind('loadRemoteTab',function(e,callback){var $$=$(this).addClass(settings.loadingClass),span=$('span',this)[0],tabTitle=span.innerHTML;if(settings.spinner){span.innerHTML='<em>'+settings.spinner+'</em>';}setTimeout(function(){$(hash).load(url,function(){if(settings.spinner){span.innerHTML=tabTitle;}$$.removeClass(settings.loadingClass);callback&&callback();});},0);});});}var containers=$('div.'+settings.containerClass,container);containers=containers.size()&&containers||$('>'+settings.tabStruct,container);nav.is('.'+settings.navClass)||nav.addClass(settings.navClass);containers.each(function(){var $$=$(this);$$.is('.'+settings.containerClass)||$$.addClass(settings.containerClass);});var hasSelectedClass=$('li',nav).index($('li.'+settings.selectedClass,nav)[0]);if(hasSelectedClass>=0){settings.initial=hasSelectedClass;}if(location.hash){tabs.each(function(i){if(this.hash==location.hash){settings.initial=i;if(($.browser.msie||$.browser.opera)&&!settings.remote){var toShow=$(location.hash);var toShowId=toShow.attr('id');toShow.attr('id','');setTimeout(function(){toShow.attr('id',toShowId);},500);}unFocus();return false;}});}if($.browser.msie){unFocus();}containers.filter(':eq('+settings.initial+')').show().end().not(':eq('+settings.initial+')').addClass(settings.hideClass);$('li',nav).removeClass(settings.selectedClass).eq(settings.initial).addClass(settings.selectedClass);tabs.eq(settings.initial).trigger('loadRemoteTab').end();if(settings.fxAutoHeight){var _setAutoHeight=function(reset){var heights=$.map(containers.get(),function(el){var h,jq=$(el);if(reset){if($.browser.msie6){el.style.removeExpression('behaviour');el.style.height='';el.minHeight=null;}h=jq.css({'min-height':''}).height();}else{h=jq.height();}return h;}).sort(function(a,b){return b-a;});if($.browser.msie6){containers.each(function(){this.minHeight=heights[0]+'px';this.style.setExpression('behaviour','this.style.height = this.minHeight ? this.minHeight : "1px"');});}else{containers.css({'min-height':heights[0]+'px'});}};_setAutoHeight();var cachedWidth=container.offsetWidth;var cachedHeight=container.offsetHeight;var watchFontSize=$('#tabs-watch-font-size').get(0)||$('<span id="tabs-watch-font-size">M</span>').css({display:'block',position:'absolute',visibility:'hidden'}).appendTo(document.body).get(0);var cachedFontSize=watchFontSize.offsetHeight;setInterval(function(){var currentWidth=container.offsetWidth;var currentHeight=container.offsetHeight;var currentFontSize=watchFontSize.offsetHeight;if(currentHeight>cachedHeight||currentWidth!=cachedWidth||currentFontSize!=cachedFontSize){_setAutoHeight((currentWidth>cachedWidth||currentFontSize<cachedFontSize));cachedWidth=currentWidth;cachedHeight=currentHeight;cachedFontSize=currentFontSize;}},50);}var showAnim={},hideAnim={},showSpeed=settings.fxShowSpeed||settings.fxSpeed,hideSpeed=settings.fxHideSpeed||settings.fxSpeed;if(settings.fxSlide||settings.fxFade){if(settings.fxSlide){showAnim['height']='show';hideAnim['height']='hide';}if(settings.fxFade){showAnim['opacity']='show';hideAnim['opacity']='hide';}}else{if(settings.fxShow){showAnim=settings.fxShow;}else{showAnim['min-width']=0;showSpeed=1;}if(settings.fxHide){hideAnim=settings.fxHide;}else{hideAnim['min-width']=0;hideSpeed=1;}}var onClick=settings.onClick,onHide=settings.onHide,onShow=settings.onShow;tabs.bind('triggerTab',function(){var li=$(this).parents('li:eq(0)');if(container.locked||li.is('.'+settings.selectedClass)||li.is('.'+settings.disabledClass)){return false;}var hash=this.hash;if($.browser.msie){$(this).trigger('click');if(settings.bookmarkable){$.ajaxHistory.update(hash);location.hash=hash.replace('#','');}}else if($.browser.safari){var tempForm=$('<form action="'+hash+'"><div><input type="submit" value="h" /></div></form>').get(0);tempForm.submit();$(this).trigger('click');if(settings.bookmarkable){$.ajaxHistory.update(hash);}}else{if(settings.bookmarkable){location.hash=hash.replace('#','');}else{$(this).trigger('click');}}});tabs.bind('disableTab',function(){var li=$(this).parents('li:eq(0)');if($.browser.safari){li.animate({opacity:0},1,function(){li.css({opacity:''});});}li.addClass(settings.disabledClass);});if(settings.disabled&&settings.disabled.length){for(var i=0,k=settings.disabled.length;i<k;i++){tabs.eq(--settings.disabled[i]).trigger('disableTab').end();}};tabs.bind('enableTab',function(){var li=$(this).parents('li:eq(0)');li.removeClass(settings.disabledClass);if($.browser.safari){li.animate({opacity:1},1,function(){li.css({opacity:''});});}});tabs.bind('click',function(e){var trueClick=e.clientX;var clicked=this,li=$(this).parents('li:eq(0)'),toShow=$(this.hash),toHide=containers.filter(':visible');if(container['locked']||li.is('.'+settings.selectedClass)||li.is('.'+settings.disabledClass)||typeof onClick=='function'&&onClick(this,toShow[0],toHide[0])===false){this.blur();return false;}container['locked']=true;if(toShow.size()){if($.browser.msie&&settings.bookmarkable){var toShowId=this.hash.replace('#','');toShow.attr('id','');setTimeout(function(){toShow.attr('id',toShowId);},0);}var resetCSS={display:'',overflow:'',height:''};if(!$.browser.msie){resetCSS['opacity']='';}function switchTab(){if(settings.bookmarkable&&trueClick){$.ajaxHistory.update(clicked.hash);}toHide.animate(hideAnim,hideSpeed,function(){$(clicked).parents('li:eq(0)').addClass(settings.selectedClass).siblings().removeClass(settings.selectedClass);toHide.addClass(settings.hideClass).css(resetCSS);if(typeof onHide=='function'){onHide(clicked,toShow[0],toHide[0]);}if(!(settings.fxSlide||settings.fxFade||settings.fxShow)){toShow.css('display','block');}toShow.animate(showAnim,showSpeed,function(){toShow.removeClass(settings.hideClass).css(resetCSS);if($.browser.msie){toHide[0].style.filter='';toShow[0].style.filter='';}if(typeof onShow=='function'){onShow(clicked,toShow[0],toHide[0]);}container['locked']=null;});});}if(!settings.remote){switchTab();}else{$(clicked).trigger('loadRemoteTab',[switchTab]);}}else{alert('There is no such container.');}var scrollX=window.pageXOffset||document.documentElement&&document.documentElement.scrollLeft||document.body.scrollLeft||0;var scrollY=window.pageYOffset||document.documentElement&&document.documentElement.scrollTop||document.body.scrollTop||0;setTimeout(function(){window.scrollTo(scrollX,scrollY);},0);this.blur();return settings.bookmarkable&&!!trueClick;});if(settings.bookmarkable){$.ajaxHistory.initialize(function(){tabs.eq(settings.initial).trigger('click').end();});}});};var tabEvents=['triggerTab','disableTab','enableTab'];for(var i=0;i<tabEvents.length;i++){$.fn[tabEvents[i]]=(function(tabEvent){return function(tab){return this.each(function(){var nav=$('ul.tabs-nav',this);nav=nav.size()&&nav||$('>ul:eq(0)',this);var a;if(!tab||typeof tab=='number'){a=$('li a',nav).eq((tab&&tab>0&&tab-1||0));}else if(typeof tab=='string'){a=$('li a[@href$="#'+tab+'"]',nav);}a.trigger(tabEvent);});};})(tabEvents[i]);}$.fn.activeTab=function(){var selectedTabs=[];this.each(function(){var nav=$('ul.tabs-nav',this);nav=nav.size()&&nav||$('>ul:eq(0)',this);var lis=$('li',nav);selectedTabs.push(lis.index(lis.filter('.tabs-selected')[0])+1);});return selectedTabs[0];};})(jQuery); \ No newline at end of file diff --git a/dist/jquery.js.html b/dist/jquery.js.html index 0f6e7bf73545a8f382add32fd4f41b9a7cbbd459..efae610716e0f0cda2ceff9eee368858b63018f2 100644 --- a/dist/jquery.js.html +++ b/dist/jquery.js.html @@ -17,6 +17,7 @@ [(#INCLURE{javascript/jquery.js}|compacte_js)] [(#INCLURE{javascript/form.js}|compacte_js)] [(#INCLURE{javascript/ajaxCallback.js}|compacte_js)] +[(#INCLURE{javascript/jquery.tabs.min.js}|compacte_js)] [(#REM) js ajoutee par les plugin et a la volee] [(#ENV{script}|charge_scripts|compacte_js)] diff --git a/dist/jquery.tabs-ie.css b/dist/jquery.tabs-ie.css new file mode 100644 index 0000000000000000000000000000000000000000..b0dd7f4ec661cfbc3112cdf7facd440556b717ea --- /dev/null +++ b/dist/jquery.tabs-ie.css @@ -0,0 +1,20 @@ +/* +Tabs - additional IE specific bug fixes + +Recommended usage (Conditional Comments): +<!--[if lte IE 7]> +<link rel="stylesheet" href="tabs_ie.css" type="text/css" media="projection, screen" /> +<![endif]--> + +*/ +.tabs-nav { /* auto clear */ + display: inline-block; +} +.tabs-nav .tabs-disabled { + position: relative; /* fixes opacity */ + filter: alpha(opacity=40); +} +.tabs-nav .tabs-disabled a span { + _height: 19px; /* for some reason the height is 1px to less with opacity... */ + min-height: 19px; /* ...in both IE 6 and 7 */ +} diff --git a/dist/jquery.tabs.css b/dist/jquery.tabs.css new file mode 100644 index 0000000000000000000000000000000000000000..e65a42f314618c2642185907d4dd4a4616164703 --- /dev/null +++ b/dist/jquery.tabs.css @@ -0,0 +1,96 @@ +/* Caution! Ensure accessibility in print and other media types... */ +@media projection, screen { /* Use class for showing/hiding tab content, so that visibility can be better controlled in different media types... */ + .tabs-hide { + display: none; + } +} + +/* Hide useless elements in print layouts... */ +@media print { + .tabs-nav { + display: none; + } +} + +/* Skin */ +.tabs-nav { + list-style: none; + margin: 0; + padding: 0 0 0 4px; +} +.tabs-nav:after { /* clearing without presentational markup, IE gets extra treatment */ + display: block; + clear: both; + content: " "; +} +.tabs-nav li { + float: left; + margin: 0 0 0 1px; + min-width: 84px; /* be nice to Opera */ +} +.tabs-nav a, .tabs-nav a span { + display: block; + padding: 0 10px; + background: url(dist/images/tab.png) no-repeat; +} +.tabs-nav a { + position: relative; + top: 1px; + z-index: 2; + padding-left: 0; + color: #000; + font-size: 1em; + line-height: 1.2; + text-align: center; + text-decoration: none; + white-space: nowrap; /* required in IE 6 */ +} +.tabs-nav .tabs-selected a { + color: #000; +} +.tabs-nav .tabs-selected a, .tabs-nav a:hover, .tabs-nav a:focus, .tabs-nav a:active { + background-position: 100% -150px; + outline: 0; /* prevent dotted border in Firefox */ +} +.tabs-nav a, .tabs-nav .tabs-disabled a:hover, .tabs-nav .tabs-disabled a:focus, .tabs-nav .tabs-disabled a:active { + background-position: 100% -100px; +} +.tabs-nav a span { + width: 64px; /* IE 6 treats width as min-width */ + min-width: 64px; + height: 18px; /* IE 6 treats height as min-height */ + min-height: 18px; + padding-top: 6px; + padding-right: 0; +} +*>.tabs-nav a span { /* hide from IE 6 */ + width: auto; + height: auto; +} +.tabs-nav .tabs-selected a span { + padding-top: 7px; +} +.tabs-nav .tabs-selected a span, .tabs-nav a:hover span, .tabs-nav a:focus span, .tabs-nav a:active span { + background-position: 0 -50px; +} +.tabs-nav a span, .tabs-nav .tabs-disabled a:hover span, .tabs-nav .tabs-disabled a:focus span, .tabs-nav .tabs-disabled a:active span { + background-position: 0 0; +} +.tabs-nav .tabs-selected a:link, .tabs-nav .tabs-selected a:visited, .tabs-nav .tabs-disabled a:link, .tabs-nav .tabs-disabled a:visited { /* @ Opera, use pseudo classes otherwise it confuses cursor... */ + cursor: text; +} +.tabs-nav a:hover, .tabs-nav a:focus, .tabs-nav a:active { /* @ Opera, we need to be explicit again here now... */ + cursor: pointer; +} +.tabs-nav .tabs-disabled { + opacity: .4; +} +.tabs-container { + border-top: 1px solid #999; + padding: 1em 0 0 0; + background: #f8f7f3; /* declare background color for container to avoid distorted fonts in IE while fading */ +} +.tabs-loading em { + padding: 0 0 0 20px; + background: url(dist/images/loading.gif) no-repeat 0 50%; +} diff --git a/dist/prive/article_infos.html b/dist/prive/article_infos.html new file mode 100644 index 0000000000000000000000000000000000000000..fcbfb4ca03e494e4c1d61d88bc202d802f432f8a --- /dev/null +++ b/dist/prive/article_infos.html @@ -0,0 +1,11 @@ +<BOUCLE_art(ARTICLES){id_article=#ENV{id}}{statut?}> +<div class='infos'> +<div class='numero'><:info_numero_article:><p>#ID_ARTICLE</p></div> +[(#ID_ARTICLE|instituer_article{#ID_RUBRIQUE,#STATUT})] +<p class='origine'>[(#DATE|affdate)][<br /><:par_auteur:><span class='lesauteurs'> (#LESAUTEURS|couper{150})]</span><p> +<BOUCLE_docs(DOCUMENTS){id_article}></BOUCLE_docs><p class='nb_docs'>#TOTAL_BOUCLE <:documents:></p><//B_docs> +<p class='statistiques'>Cet article a une popularite de #POPULARITE et a reçu #VISITES visites</p> +<p class='forums'>xx messages de forums</p> +<p class='signatues'>xx signatures</p> +</div> +</BOUCLE_art> \ No newline at end of file diff --git a/dist/prive/article_infos_fonctions.php b/dist/prive/article_infos_fonctions.php new file mode 100644 index 0000000000000000000000000000000000000000..b2e1e13cea54221ea08afb5e5551721c614b5d8f --- /dev/null +++ b/dist/prive/article_infos_fonctions.php @@ -0,0 +1,10 @@ +<?php +function instituer_article($id_article, $id_rubrique, $statut=-1){ + $statut_rubrique = autoriser('publierdans', 'rubrique', $id_rubrique); + if ($statut_rubrique) { + $instituer_article = charger_fonction('instituer_article', 'inc'); + return $instituer_article($id_article,$statut); + } + return ""; +} +?> \ No newline at end of file diff --git a/dist/prive/breve_infos.html b/dist/prive/breve_infos.html new file mode 100644 index 0000000000000000000000000000000000000000..6d04bab7e0784c17ea5848f573fa3b9cbc4a8559 --- /dev/null +++ b/dist/prive/breve_infos.html @@ -0,0 +1,9 @@ +<BOUCLE_breve(BREVES){id_breve=#ENV{id}}{statut?}> +<div class='infos'> +<div class='numero'><:info_gauche_numero_breve:><p>#ID_BREVE</p></div> +[(#ID_BREVE|instituer_breve{#ID_RUBRIQUE,#STATUT})] +<p class='origine'>[(#DATE|affdate)]</span><p> +<BOUCLE_docs(DOCUMENTS){id_breve}></BOUCLE_docs><p class='nb_docs'>#TOTAL_BOUCLE <:documents:></p><//B_docs> +<p class='forums'>xx messages de forums</p> +</div> +</BOUCLE_breve> \ No newline at end of file diff --git a/dist/prive/breve_infos_fonctions.php b/dist/prive/breve_infos_fonctions.php new file mode 100644 index 0000000000000000000000000000000000000000..812f599635bad4cb4b5c804ce08a1cecccc08ff2 --- /dev/null +++ b/dist/prive/breve_infos_fonctions.php @@ -0,0 +1,10 @@ +<?php +function instituer_breve($id_breve, $id_rubrique, $statut=-1){ + $statut_rubrique = autoriser('publierdans', 'rubrique', $id_rubrique); + if ($statut_rubrique) { + $instituer_breve = charger_fonction('instituer_breve', 'inc'); + return $instituer_breve($id_breve,$statut); + } + return ""; +} +?> \ No newline at end of file diff --git a/dist/prive/rubrique_infos.html b/dist/prive/rubrique_infos.html new file mode 100644 index 0000000000000000000000000000000000000000..53b4ad160315b4af48f8185d2689794dff3605da --- /dev/null +++ b/dist/prive/rubrique_infos.html @@ -0,0 +1,7 @@ +<BOUCLE_rub(RUBRIQUES){id_rubrique=#ENV{id}}{statut?}> +<div class='infos'> +<div class='numero'><:titre_numero_rubrique:><p>#ID_RUBRIQUE</p></div> +<BOUCLE_docs(DOCUMENTS){id_article}></BOUCLE_docs><p class='nb_docs'>#TOTAL_BOUCLE <:documents:></p><//B_docs> +[<p class='forums'>(#ENV{n_forums,''}|?{' '})[(#VAL{icone_suivi_forum}|_T{#ARRAY{nb_forums,#ENV{n_forums}}})]</p>] +</div> +</BOUCLE_rub> \ No newline at end of file diff --git a/dist/prive/site_infos.html b/dist/prive/site_infos.html new file mode 100644 index 0000000000000000000000000000000000000000..410b8266e4f1319c03e658a7da3391fd3885c542 --- /dev/null +++ b/dist/prive/site_infos.html @@ -0,0 +1,9 @@ +<BOUCLE_site(SITES){id_syndic=#ENV{id}}{statut?}> +<div class='infos'> +<div class='numero'><:titre_site_numero:><p>#ID_SYNDIC</p></div> +[(#ID_SYNDIC|instituer_site{#ID_RUBRIQUE,#STATUT})] +<BOUCLE_docs(DOCUMENTS){id_syndic}></BOUCLE_docs><p class='nb_docs'>#TOTAL_BOUCLE <:documents:></p><//B_docs> +<p class='forums'>xx messages de forums</p> +<p class='signatues'>xx signatures</p> +</div> +</BOUCLE_site> \ No newline at end of file diff --git a/dist/prive/site_infos_fonctions.php b/dist/prive/site_infos_fonctions.php new file mode 100644 index 0000000000000000000000000000000000000000..0a8542b5aa8d89d608f283933f8529d4dfec4951 --- /dev/null +++ b/dist/prive/site_infos_fonctions.php @@ -0,0 +1,10 @@ +<?php +function instituer_site($id_syndic, $id_rubrique, $statut=-1){ + $statut_rubrique = autoriser('publierdans', 'rubrique', $id_rubrique); + if ($statut_rubrique) { + $instituer_site = charger_fonction('instituer_site', 'inc'); + return $instituer_site($id_syndic,$statut); + } + return ""; +} +?> \ No newline at end of file diff --git a/dist/style_prive.html b/dist/style_prive.html index 6d3f81a91a2e812cb186593b233a03daf1447f8b..a53819e6851f8358439f3fbc0e13ef13220e67bc 100644 --- a/dist/style_prive.html +++ b/dist/style_prive.html @@ -35,7 +35,7 @@ body { scrollbar-track-color: #GET{foncee}; scrollbar-arrow-color: #GET{foncee}; } -body, body * { font-family: Verdana, Geneva, Sans, sans-serif; } +body, body * { font-size:100%;font-family: Verdana, Geneva, Sans, sans-serif; } /* Espaceur de blocs */ .nettoyeur { clear: both; margin: 0; padding: 0; border: none; height: 0; line-height: 1px; font-size: 1px; } @@ -44,18 +44,27 @@ body, body * { font-family: Verdana, Geneva, Sans, sans-serif; } .invisible { position: absolute; top: -3000em; height: 1%; } .none { display: none; } +#page {font-size:small;} /* ecran etroit*/ -#conteneur,.table_page {margin:0 auto;text-align:left;width:750px;} +#conteneur,.table_page {clear:both;margin-left:auto;margin-right:auto;text-align:left;width:750px;} #navigation {float:left;width:200px;min-height:100px;} -#contenu {float:left;margin-left:35px;width:500px;} +#contenu {float:left;margin-left:30px;width:505px;} #extra {float:left;width:200px;} /* ecran large*/ -.large #conteneur,.large .table_page {margin:0 auto;text-align:left;width:950px;} +.large #conteneur,.large .table_page {margin-left:auto;margin-right:auto;text-align:left;width:950px;} .large #navigation {float:left;width:200px;} .large #contenu {float:left;margin-left:17px;width:540px;} .large #extra {float:right;width:170px;} +div.table_page {margin-top:1em;} +#contenu {font-size:small;} + +ul#chemin {font-size:0.9em;} +ul#chemin li {list-style:none;float:#GET{left};} +ul#chemin,ul#chemin ul,ul#chemin li {margin:0;padding:0;} +ul#chemin ul,ul#chemin li,ul#chemin li span {display:block;float:#GET{left};} + h1 { color: #GET{foncee}; font-size:large; @@ -379,64 +388,57 @@ a.icone26:hover img { } -.icone36, icone36-danger { +.icone36 { border: none; - padding: 0; + padding: 5px 0; margin: 0; text-align: center; text-decoration: none; + font-size: x-small; + width:72px; } -.icone36 a, .icone36 a:hover, icone36-danger a, .icone36-danger a:hover { +.icone36 a, .icone36 a,a.icone36, a.icone36:hover { text-decoration: none; } -.icone36 a img, .icone36 img { - margin: 0; +.icone36 a img, a.icone36 img { + margin: 0 auto; display: inline; padding: 4px; background-color: #eee; border: 2px solid #GET{foncee}; } -.icone36 a:hover img { - margin: 0; - display: inline; - padding: 4px; +.icone36 a:hover img,a.icone36:hover img { background-color: #fff; border: 2px solid #666; } -.icone36-danger img { - margin: 0; - display: inline; - padding: 3px; +.icone36.danger img { background-color: #fff; border: 2px solid #ff9999; } -.icone36-danger a:hover img { - margin: 0; - display: inline; - padding: 3px; +.icone36.danger a:hover img,a.icone36.danger:hover img { background-color: #fff; border: 2px solid red; } -.icone36-danger span { - font-weight: bold; - font-size: 10px; - color: red; display: block; margin: 2px; - width: 100% -} .icone36 span { font-weight: bold; - font-size: 10px; color: #GET{foncee}; display: block; - margin: 2px; - width: 100% -} -.icone36 a:hover span { - font-weight: bold; - font-size: 10px; - color: #000; display: block; margin: 2px; + margin: 2px auto; width: 100%; + height:3em; +} +.icone36 a:hover span,a.icone36:hover span { + color: #000; } +.icone36.danger span { + color: #ff9999; +} +.icone36.danger a:hover span,a.icone36.danger:hover span { + color: red; +} +a.icone36.historique-24 {width:90px;} +a.icone36.suivi-forum-24 {width:100px;} + /* Icones 48 * 48 et 24 * 24 */ @@ -1922,3 +1924,64 @@ div.puce_article_popup, span.puce_article_popup { div.puce_breve_popup, span.puce_breve_popup { width: 27px; } + +[(#INCLURE{dist/jquery.tabs.css})] +.boite_onglets {clear:both;margin-top:15px;} +.tabs-nav a { color: #GET{foncee};} +/* generique */ + +#contenu #voir span.label {margin-top:1em;font-size:x-small;display:block;clear:both;font-style:italic;} +#contenu #voir span p { margin-top:0;} +#navigation .infos .numero {font-size:x-small;font-weight:bold;text-align:center;} +#navigation .infos .numero p { + font-size:x-large;margin:5px 0;color:#333; + font-family: verdana, helvetica, arial, sans; +} +#contenu .bandeau_actions {border-top:1px solid #eee;border-bottom:1px solid #eee;margin:5px 0;clear:both;} +#contenu .bandeau_actions a:hover {background:#fff;} +#contenu .logo_titre {float:#GET{right};margin:5px 0;margin-#GET{left}:5px;} + +ul.instituer { + /*float:#GET{right};*/ + text-align:#GET{left}; + border-top:1px solid #eee; + border-bottom:1px solid #eee; + margin :0; + padding:5px 0; + /*font-size:0.9em;*/ +} +ul.instituer li {list-style:none;margin:0;padding:0;} +ul.instituer li ul {margin:0;padding:0;} +ul.instituer li ul li a { display:block;} +ul.instituer li ul li img {margin:1px 1px -1px;margin-#GET{right}:5px;visibility:hidden;border:1px solid #f8f7f3;} +ul.instituer li.selected img,ul.instituer li a:hover img {visibility:visible;} +ul.instituer a:hover {background:#eee;} +ul.instituer li.prepa.selected a,ul.instituer li.prepa a:hover {background:#fff;} +ul.instituer li.prop.selected a,ul.instituer li.prop a:hover {background:#f89058;color:#fff;} +ul.instituer li.publie.selected a,ul.instituer li.publie a:hover {background:#9dba00;color:#fff;} +ul.instituer li.poubelle.selected a,ul.instituer li.poubelle a:hover {background:#000;} +ul.instituer li.refuse.selected a,ul.instituer li.refuse a:hover {background:#ff0000;color:#fff;} + +#voir.tabs-container {background:#fff; padding:5px;border:1px solid #999;} + +/* exec/articles */ +.articles h1 {color:#000;font-size:large;margin-top:5px;} +#voir .article_prop {text-align:center;font-weight:bold;font-size:small;color:red;} + +/* exec/naviguer */ +.naviguer h1 {color:#000;font-size:large;margin-top:5px;} +#contenu div.gauche {width:49%;float:#GET{left};} +#contenu div.droite {width:49%;float:#GET{right};} + +/* exec/sites */ +.sites h1 {color:#000;font-size:large;margin-top:5px;} +#voir .site_prop {text-align:center;font-weight:bold;font-size:small;color:red;} +#voir .site_syndique {font-weight:bold;text-align:center;} +#voir .site_syndique img {vertical-align:middle;} +#voir .date_syndic {margin-top:1em;} +#voir .mise_a_jour_syndic { float:#GET{right};} + +/* exec/breves_voir */ +.breves h1 {color:#000;font-size:large;margin-top:5px;} +#voir .breve_prop {text-align:center;font-weight:bold;font-size:small;color:red;} +#props .langue {text-align:center;} \ No newline at end of file diff --git a/ecrire/exec/articles.php b/ecrire/exec/articles.php index fcb72fd6a0206ba83435844a493c3174551a2e86..67367b7ff8df14776444b8632b2c5dd7ca4f6d3c 100644 --- a/ecrire/exec/articles.php +++ b/ecrire/exec/articles.php @@ -29,15 +29,12 @@ function exec_articles_dist() $res = $row['titre'] = _T('public:aucun_article'); $row['id_rubrique'] = 0; } else { - $discuter = charger_fonction('discuter', 'inc'); $row['titre'] = sinon($row["titre"],_T('info_sans_titre')); $res = debut_gauche('accueil',true) . articles_affiche($id_article, $row, _request('cherche_auteur'), _request('ids'), _request('cherche_mot'), _request('select_groupe'), _request('trad_err')) . "<br /><br /><div class='centered'>" - . icone_inline(_T('icone_poster_message'), generer_url_ecrire("forum_envoi", "statut=prive&id=$id_article&script=articles") ."#formulaire", "forum-interne-24.gif", "creer.gif") . "</div>" - . $discuter($id_article, false, _request('debut')) . fin_gauche() ; } @@ -98,6 +95,18 @@ function articles_affiche($id_article, $row, $cherche_auteur, $ids, $cherche_mot $editer_mot = charger_fonction('editer_mot', 'inc'); $editer_auteurs = charger_fonction('editer_auteurs', 'inc'); $referencer_traduction = charger_fonction('referencer_traduction', 'inc'); + $discuter = charger_fonction('discuter', 'inc'); + + $logo = ''; + $chercher_logo = ($spip_display != 1 AND $spip_display != 4 AND $GLOBALS['meta']['image_process'] != "non"); + if ($chercher_logo) { + $chercher_logo = charger_fonction('chercher_logo', 'inc'); + if ($logo = $chercher_logo($id_article, 'id_article', 'on')) { + list($fid, $dir, $nom, $format) = $logo; + include_spip('inc/filtres_images'); + $logo = image_reduire("<img src='$fid' alt='' />", 75, 60); + } + } if ($flag_editable AND ($spip_display != 4)) { $iconifier = charger_fonction('iconifier', 'inc'); @@ -114,59 +123,81 @@ function articles_affiche($id_article, $row, $cherche_auteur, $ids, $cherche_mot ) )); - $res = - debut_boite_info(true). $boite . fin_boite_info(true) - . $icone - - . boites_de_config_articles($id_article) - . ($flag_editable ? boite_article_virtuel($id_article, $virtuel):'') - . meme_rubrique($id_rubrique, $id_article, 'article') - - . pipeline('affiche_gauche',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>'')) - - . creer_colonne_droite('', true) - - . pipeline('affiche_droite',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>'')) - - . debut_droite('',true); + $navigation = + debut_boite_info(true). $boite . fin_boite_info(true) + . ($flag_editable ? boite_article_virtuel($id_article, $virtuel):'') + . meme_rubrique($id_rubrique, $id_article, 'article') + . pipeline('affiche_gauche',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>'')); + + $extra = creer_colonne_droite('', true) + . pipeline('affiche_droite',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>'')) + . debut_droite('',true); -// affecter les globales dictant les regles de typographie de la langue + // affecter les globales dictant les regles de typographie de la langue changer_typo($row['lang']); + + $actions = + voir_en_ligne('article', $id_article, $statut_article, 'racine-24.gif', false) + . ($flag_editable ? bouton_modifier_articles($id_article, $id_rubrique, $modif, _T('avis_article_modifie', $modif), "article-24.gif", "edit.gif",$spip_lang_right) : "") + . icone_inline(_T('icone_poster_message'), generer_url_ecrire("forum_envoi", "statut=prive&id=$id_article&script=articles") ."#formulaire", "forum-interne-24.gif", "creer.gif", $spip_lang_left); + + // revisions d'articles + if (($GLOBALS['meta']["articles_versions"]=='oui') + AND $row['id_version']>1 + AND autoriser('voirrevisions', 'article', $id_article)) + $actions .= icone_inline(_T('info_historique_lien'), generer_url_ecrire("articles_versions","id_article=$id_article"), "historique-24.gif", "rien.gif", $spip_lang_left); + + // statistiques + if ($row['statut'] == 'publie' + AND $row['visites'] > 0 + AND $GLOBALS['meta']["activer_statistiques"] != "non" + AND autoriser('voirstats', $type, $id)) + $actions .= icone_inline(_T('icone_evolution_visites', array('visites' => $row['visites'])), generer_url_ecrire("statistiques_visites","id_article=$id"), "statistiques-24.gif","rien.gif", $spip_lang_left); + + $actions .= "<div class='nettoyeur'></div>"; + + $haut = + ($logo ? "<div class='logo_titre'>$logo</div>" : "") + . gros_titre($titre, '' , false) + . "<div class='bandeau_actions'>$actions</div>"; + + $onglet_contenu = array(_L('Contenu'), + afficher_corps_articles($virtuel,$statut_article,$surtitre, $soustitre, $descriptif, $url_site, $nom_site, $chapo, $texte, $ps, $extra) + ); + + $onglet_proprietes = array(_L('Propriétés'), + $dater($id_article, $flag_editable, $statut_article, 'article', 'articles', $date, $date_redac) + . $editer_auteurs('article', $id_article, $flag_editable, $cherche_auteur, $ids) + . (!$editer_mot ? '' : $editer_mot('article', $id_article, $cherche_mot, $select_groupe, $flag_editable)) + . (!$referencer_traduction ? '' : $referencer_traduction($id_article, $flag_editable, $id_rubrique, $id_trad, $trad_err)) + . pipeline('affiche_milieu',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>'')) + ); + + $onglet_documents = array(_L('Documents'), + $icone + . articles_documents('article', $id_article) + ); + + $onglet_interactivite = array(_L('Interactivité'), + boites_de_config_articles($id_article) + ); + + $onglet_discuter = array(_L('Discuter'), + $discuter($id_article, false, _request('debut')) + ); - return $res - . debut_cadre_relief('', true) - . titres_articles($titre, $statut_article,$surtitre, $soustitre, $descriptif, $url_site, $nom_site, $flag_editable, $id_article, $id_rubrique, $modif) - . "\n<div style='margin-top: 10px' class='serif'>" - - . $dater($id_article, $flag_editable, $statut_article, 'article', 'articles', $date, $date_redac) - - . $editer_auteurs('article', $id_article, $flag_editable, $cherche_auteur, $ids) - - . (!$editer_mot ? '' : $editer_mot('article', $id_article, $cherche_mot, $select_groupe, $flag_editable)) - - . (!$referencer_traduction ? '' : $referencer_traduction($id_article, $flag_editable, $id_rubrique, $id_trad, $trad_err)) - - . pipeline('affiche_milieu',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>'')) - - . (!$statut_rubrique ? '' - : (debut_cadre_relief('', true) - . $instituer_article($id_article, $statut_article) - . fin_cadre_relief(true))) - - . "\n<div style='text-align: justify; padding: 10px;'>" - . afficher_corps_articles($virtuel, $chapo, $texte, $ps, $extra) - - . (!$flag_editable ? '' - : (bouton_modifier_articles($id_article, $id_rubrique, $modif,_T('texte_travail_article', $modif), "warning-24.gif", '', 'right') . "<br class='nettoyeur' />")) - . (($spip_display == 4) ? '' - : articles_documents('article', $id_article)) - . (($statut_article == 'prepa' AND !$statut_rubrique - AND spip_num_rows(auteurs_article($id_article, " id_auteur=$connect_id_auteur"))) - ? $instituer_article($id_article) - : '') - . "</div></div>" - . fin_cadre_relief(true); + return + $navigation + . $extra + . $haut + . afficher_onglets_pages(array( + //'resume'=>$onglet_resume, + 'voir'=>$onglet_contenu, + 'props'=>$onglet_proprietes, + 'docs'=>$onglet_documents, + 'interactivite'=>$onglet_interactivite, + 'discuter'=>$onglet_discuter)); } // http://doc.spip.org/@articles_documents @@ -285,48 +316,8 @@ function bouton_modifier_articles($id_article, $id_rubrique, $flag_modif, $mode, else return icone_inline(_T('icone_modifier_article'), generer_url_ecrire("articles_edit","id_article=$id_article"), "article-24.gif", "edit.gif", $align); } -// http://doc.spip.org/@titres_articles -function titres_articles($titre, $statut_article,$surtitre, $soustitre, $descriptif, $url_site, $nom_site, $flag_editable, $id_article, $id_rubrique, $modif) -{ - global $lang_objet, $spip_lang_left, $spip_lang_right; - - $lang_dir = lang_dir($lang_objet); - - $res = ''; - if ($flag_editable) { - $res .= bouton_modifier_articles($id_article, $id_rubrique, $modif, _T('avis_article_modifie', $modif), "article-24.gif", "edit.gif",$spip_lang_right); - } - - if ($surtitre) { - $res .= "<span dir='$lang_dir' class='arial1 spip_medium'><b>" . typo($surtitre) . "</b></span>\n"; - } - - $res .= gros_titre($titre, puce_statut($statut_article, " style='vertical-align: center'") . " ", false); - - - if ($soustitre) { - $res .= "<span dir='$lang_dir' class='arial1 spip_medium'><b>" . typo($soustitre) . "</b></span>\n"; - } - $res .= "<div class='nettoyeur'></div>"; - if ($descriptif OR $url_site OR $nom_site) { - - $texte_case = ($descriptif) ? "{{"._T('info_descriptif')."}} $descriptif\n\n" : ''; - - $texte_case .= ($nom_site OR $url_site) ? "{{"._T('info_urlref')."}} [".$nom_site."->".$url_site."]" : ''; - - $res .= "<br />\n<div dir='$lang_dir' style='padding: 4px; border: 1px dashed #aaaaaa; background-color: #e4e4e4; text-align: $spip_lang_left;' class='Verdana1 spip_x-small'>" - . propre($texte_case) - . "</div>"; - } - - if ($statut_article == 'prop') - $res .= "<p style='color: red' class='verdana1 spip_small'><b>"._T('text_article_propose_publication')."</b></p>"; - - return $res; -} - // http://doc.spip.org/@afficher_corps_articles -function afficher_corps_articles($virtuel, $chapo, $texte, $ps, $extra) +function afficher_corps_articles($virtuel, $statut_article, $surtitre, $soustitre, $descriptif, $url_site, $nom_site, $chapo, $texte, $ps, $extra) { global $champs_extra, $les_notes, $lang_objet; @@ -335,6 +326,9 @@ function afficher_corps_articles($virtuel, $chapo, $texte, $ps, $extra) global $id_article; $res = ''; + + if ($statut_article == 'prop') + $res .= "<p class='article_prop'>"._T('text_article_propose_publication')."</p>"; if ($virtuel) { $res .= debut_boite_info(true) @@ -344,36 +338,48 @@ global $id_article; . propre("[->$virtuel]") . '</div>' . fin_boite_info(true); - } else { - - if (strlen($chapo) > 0) { - $res .= "\n<div dir='$lang_dir' style='font-weight: bold;' class='spip_small crayon article-chapo-$id_article'>" - . propre($chapo) - . "</div>"; - } - - if (strlen($texte) > 0) { - $res .= "\n<div dir='$lang_dir' class='crayon article-texte-$id_article'>" - . propre($texte) - . "<div class='nettoyeur'></div>" - . "</div>"; - } - - if (strlen($ps)) { - $res .= debut_cadre_enfonce('',true) - . "\n<div dir='$lang_dir' style='font-size: small;' class='verdana1 crayon article-ps-$id_article'>" - . justifier("<b>"._T('info_ps')."</b> ".propre($ps)) - . "</div>" - . fin_cadre_enfonce(true); - } - - if ($les_notes) { - $res .= debut_cadre_relief('',true) - . "\n<div dir='$lang_dir' class='arial11'>" - . justifier("<b>"._T('info_notes')." :</b> ".$les_notes) - . "</div>" - . fin_cadre_relief(true); - } + } + else { + if (strlen($surtitre)>0) + $res .= + "<span class='label'>"._T('texte_sur_titre')."</span>" + . "<span dir='$lang_dir' class='surtitre crayon article-surtitre-$id_article'>" . typo($surtitre) . "</span>\n"; + + if (strlen($soustitre)>0) + $res .= + "<span class='label'>"._T('texte_sous_titre')."</span>" + . "<span dir='$lang_dir' class='soustitre crayon article-soustitre-$id_article'>" . typo($soustitre) . "</span>\n"; + + if (strlen($descriptif)>0) + $res .= + "<span class='label'>"._T('info_descriptif')."</span>" + . "<span dir='$lang_dir' class='descriptif crayon article-descriptif-$id_article'>" . propre($descriptif) . "</span>\n"; + + if ($url_site OR $nom_site) + $res .= + "<span class='label'>"._T('entree_liens_sites')."</span>" + . "<span dir='$lang_dir' class='url_site crayon article-url_site-$id_article'>" . propre("[".$nom_site."->".$url_site."]") . "</span>\n"; + + if (strlen($chapo) > 0) + $res .= + "<span class='label'>"._T('info_chapeau')."</span>" + . "<span dir='$lang_dir' class='chapo crayon article-chapo-$id_article'>" . propre($chapo) . "</span>\n"; + + if (strlen($texte) > 0) + $res .= + "<span class='label'>"._T('info_texte')."</span>" + . "<span dir='$lang_dir' class='texte crayon article-texte-$id_article'>" . propre($texte) . "</span>\n"; + + if (strlen($ps) > 0) + $res .= + "<span class='label'>"._T('info_ps')."</span>" + . "<span dir='$lang_dir' class='ps crayon article-ps-$id_article'>" . propre($ps) . "</span>\n"; + + if ($les_notes) + $res .= + "<span class='label'>"._T('info_notes')."</span>" + . "<span dir='$lang_dir' class='notes'>" + . justifier($les_notes); if ($champs_extra AND $extra) { include_spip('inc/extra'); diff --git a/ecrire/exec/breves_voir.php b/ecrire/exec/breves_voir.php index 31c6e957c40a459f6803e1bbb00e90baff6ed420..418abc8d7291fd395c6ac4e8ed8651ed719b52d2 100644 --- a/ecrire/exec/breves_voir.php +++ b/ecrire/exec/breves_voir.php @@ -20,7 +20,7 @@ include_spip("inc/indexation"); // http://doc.spip.org/@afficher_breves_voir function afficher_breves_voir($id_breve, $cherche_mot, $select_groupe) { - global $champs_extra, $les_notes, $spip_display; + global $champs_extra, $les_notes, $spip_display, $spip_lang_left, $spip_lang_right; $result = spip_query("SELECT * FROM spip_breves WHERE id_breve=$id_breve"); if ($row = sql_fetch($result)) { @@ -70,35 +70,19 @@ function afficher_breves_voir($id_breve, $cherche_mot, $select_groupe) echo $commencer_page("« $titre_breve »", "naviguer", "breves", $id_rubrique); echo debut_grand_cadre(true); - echo afficher_hierarchie($id_rubrique); - echo fin_grand_cadre(true); - if (!$row) {echo _T('public:aucune_breve'); exit;} - echo debut_gauche('', true); - echo debut_boite_info(true); - - $res = "\n<div style='font-weight: bold; text-align: center' class='verdana1 spip_xx-small'>" - . _T('info_gauche_numero_breve') - . "<br /><span class='spip_xx-large'>" - . $id_breve - . '</span></div>'; - - echo $res; - echo voir_en_ligne ('breve', $id_breve, $statut,'', false); + echo debut_gauche('', true); - echo fin_boite_info(true); - - - ////////////////////////////////////////////////////// - // Logos de la breve - // - - if (($spip_display != 4) AND $id_breve>0 AND autoriser('publierdans','rubrique',$id_rubrique)) { - $iconifier = charger_fonction('iconifier', 'inc'); - echo $iconifier('id_breve', $id_breve, 'breves_voir'); - } + echo debut_boite_info(true) + . pipeline ('boite_infos', array('data' => '', + 'args' => array( + 'type'=>'breve', + 'id' => $id_breve, + 'row' => $row + ))) + . fin_boite_info(true); echo pipeline('affiche_gauche', array( @@ -106,29 +90,26 @@ function afficher_breves_voir($id_breve, $cherche_mot, $select_groupe) 'data'=>'' ) ); - - echo bloc_des_raccourcis(icone_horizontale(_T('icone_nouvelle_breve'), generer_url_ecrire("breves_edit","new=oui&id_rubrique=$id_rubrique"), "breve-24.gif","creer.gif", false)); - - - echo creer_colonne_droite('', true); - echo pipeline('affiche_droite', array( 'args'=>array('exec'=>'breves_voir','id_breve'=>$id_breve), 'data'=>'' ) ); - echo meme_rubrique($id_rubrique, $id_breve, 'breve', 'date_heure'); - echo debut_droite('', true); + if (($spip_display != 4) AND $id_breve>0 AND autoriser('publierdans','rubrique',$id_rubrique)) + $iconifier = charger_fonction('iconifier', 'inc'); + if ($flag_editable AND ($statut == 'publie')) + $dater = charger_fonction('dater', 'inc'); + $editer_mot = charger_fonction('editer_mot', 'inc'); + if ($champs_extra AND $extra) + include_spip('inc/extra'); - echo debut_cadre_relief("breve-24.gif", true); - //echo "</td>"; - - if ($flag_editable) { - echo icone_inline( + $actions = + voir_en_ligne('article', $id_article, $statut_article, 'racine-24.gif', false) + . ($flag_editable ? icone_inline( // TODO -- _L("Fil a travaille sur cette breve il y a x minutes") !$modif ? _T('icone_modifier_breve') : _T('texte_travail_article', $modif), @@ -136,104 +117,118 @@ function afficher_breves_voir($id_breve, $cherche_mot, $select_groupe) !$modif ? "breve-24.gif" : "warning-24.gif", !$modif ? "edit.gif" : '', $GLOBALS['spip_lang_right'] - ); - } - echo gros_titre($titre,'', false). "<br class='nettoyeur' />"; - - if ($flag_editable AND ($statut == 'publie')) { - - if ($statut == 'publie') { - - $dater = charger_fonction('dater', 'inc'); - echo $dater($id_breve, $flag_editable, $statut, 'breve', 'breves_voir', $date_heure); - } - else { - echo "<p><span class='verdana1 spip_medium'><b>".affdate($date_heure)." </b></span></p>"; + ) : "") + . icone_inline(_T('icone_nouvelle_breve'), generer_url_ecrire("breves_edit","new=oui&id_rubrique=$id_rubrique"), "breve-24.gif","creer.gif", $spip_lang_left) + . icone_inline(_T('icone_poster_message'), generer_url_ecrire("forum_envoi", "statut=prive&id=$id_breve&script=breves_voir") . '#formulaire', "forum-interne-24.gif", "creer.gif", $spip_lang_left); + /* + if (autoriser('publierdans','rubrique',$id_rubrique) AND ($statut=="prop" OR $statut=="prepa")){ + $actions .= icone_inline(_T('icone_refuser_breve'), + redirige_action_auteur('editer_breve', "$id_breve-statut-refuse", "breves_voir","id_breve=$id_breve"), "breve-24.gif", "supprimer.gif", $spip_lang_right); + $actions .= icone_inline(_T('icone_publier_breve'), + redirige_action_auteur('editer_breve',"$id_breve-statut-publie","breves_voir","id_breve=$id_breve"), "breve-24.gif", "racine-24.gif", $spip_lang_right); + echo "</div>"; + } */ + + $actions .= "<div class='nettoyeur'></div>"; + + $logo = ''; + $chercher_logo = ($spip_display != 1 AND $spip_display != 4 AND $GLOBALS['meta']['image_process'] != "non"); + if ($chercher_logo) { + $chercher_logo = charger_fonction('chercher_logo', 'inc'); + if ($logo = $chercher_logo($id_breve, 'id_breve', 'on')) { + list($fid, $dir, $nom, $format) = $logo; + include_spip('inc/filtres_images'); + $logo = image_reduire("<img src='$fid' alt='' />", 75, 60); } } - $editer_mot = charger_fonction('editer_mot', 'inc'); - echo $editer_mot('breve', $id_breve, $cherche_mot, $select_groupe, $flag_editable); + $haut = + ($logo ? "<div class='logo_titre'>$logo</div>" : "") + . gros_titre($titre,'', false) + . "<div class='bandeau_actions'>$actions</div>"; + + $onglet_contenu = array(_L('Contenu'), + (($flag_editable AND ($statut !== 'publie')) ? "<p class='breve_prop'>".affdate($date_heure)."</p>" : "") + . (strlen($descriptif) > 1 ? + "<span class='label'>"._T('info_descriptif')."</span>" + . "<span dir='$lang_dir' class='descriptif crayon rubrique-descriptif-$id_rubrique'>" . propre($descriptif) . "</span>\n" :"") + . (($url_site OR $nom_site) ? + "<span class='label'>"._T('entree_liens_sites')."</span>" + . "<span dir='$lang_dir' class='url_site crayon article-url_site-$id_article'>" . propre("[".$nom_site."->".$url_site."]") . "</span>\n" :"" ) + . (strlen($texte) > 1 ? + "<span class='label'>"._T('info_texte')."</span>" + . "<span dir='$lang_dir' class='texte crayon rubrique-texte-$id_rubrique'>" . propre($texte) . "</span>\n" :"") + . ($les_notes ? + "<span class='label'>"._T('info_notes')."</span>" + . "<span dir='$lang_dir' class='notes'>" + . justifier($les_notes) : "") + . (($champs_extra AND $extra) ? extra_affichage($extra, "breves") : "" ) - // - // Langue de la breve - // - if (($GLOBALS['meta']['multi_articles'] == 'oui') AND ($flag_editable)) { - $row = sql_fetch(spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=$id_rubrique")); - $langue_parent = $row['lang']; - - $row = sql_fetch(spip_query("SELECT lang, langue_choisie FROM spip_breves WHERE id_breve=$id_breve")); - $langue_breve = $row['lang']; - - $bouton = bouton_block_depliable(_T('titre_langue_breve')." (".traduire_nom_langue($langue_breve).")",false,'languesbreve'); - echo debut_cadre_enfonce('langues-24.gif',true,'',$bouton); - - echo debut_block_depliable(false,'languesbreve'); - echo "<div style='text-align: center'>"; + ); - if ($menu = liste_options_langues('changer_lang', $langue_breve, $langue_parent)) - $lien = "\nonchange=\"this.nextSibling.firstChild.style.visibility='visible';\""; - $menu = select_langues('changer_lang', $lien, $menu) - . "<span><input type='submit' class='visible_au_chargement fondo' value='". _T('bouton_changer')."' /></span>"; + $onglet_proprietes = array(_L('Propriétés'), + ($dater ? $dater($id_breve, $flag_editable, $statut, 'breve', 'breves_voir', $date_heure) : "") + . $editer_mot('breve', $id_breve, $cherche_mot, $select_groupe, $flag_editable) + . ((($GLOBALS['meta']['multi_articles'] == 'oui') AND ($flag_editable)) ? langue_breve($id_breve,$row):"") + . pipeline('affiche_milieu',array( + 'args'=>array('exec'=>'breves_voir','id_breve'=>$id_breve), + 'data'=>'')) + ); - echo redirige_action_auteur('editer_breve', "$id_breve/$id_rubrique", "breves_voir","id_breve=$id_breve", $menu); - echo "</div>\n"; - echo fin_block(); + $onglet_documents = array(_L('Documents'), + ($iconifier ? $iconifier('id_breve', $id_breve, 'breves_voir') : "") + ); - echo fin_cadre_enfonce(true); - } - echo pipeline('affiche_milieu', - array( - 'args'=>array('exec'=>'breves_voir','id_breve'=>$id_breve), - 'data'=>'' - ) - ); - - echo justifier(propre($texte))."\n"; - - $texte_case = ($lien_titre.vider_url($lien_url)) ? "{{"._T('lien_voir_en_ligne')."}} [".$lien_titre."->".$lien_url."]" : ''; - echo propre($texte_case); - - if ($les_notes) { - echo "<hr width='70%' height='1' align='left'><span class='spip_small'>$les_notes</span>\n"; - } - - // afficher les extra - if ($champs_extra AND $extra) { - include_spip('inc/extra'); - echo extra_affichage($extra, "breves"); - } - - if (autoriser('publierdans','rubrique',$id_rubrique) AND ($statut=="prop" OR $statut=="prepa")){ - echo "<div style='float: right; margin: 10px;'>"; - echo icone_inline(_T('icone_refuser_breve'), - redirige_action_auteur('editer_breve', "$id_breve-statut-refuse", "breves_voir","id_breve=$id_breve"), "breve-24.gif", "supprimer.gif"); - echo "</div>"; - echo "<div style='float: right; margin: 10px;'>"; - echo icone_inline(_T('icone_publier_breve'), - redirige_action_auteur('editer_breve',"$id_breve-statut-publie","breves_voir","id_breve=$id_breve"), "breve-24.gif", "racine-24.gif"); - echo "</div>"; - } - + $onglet_interactivite = array(_L('Interactivité'), + ); + + $onglet_discuter = array(_L('Discuter'), + afficher_forum(sql_select("*", 'spip_forum', "statut='prive' AND id_breve=$id_breve AND id_parent=0",'', "date_heure DESC", "20"), "breves_voir", "id_breve=$id_breve") + ); + + + echo + debut_droite('', true) + . $haut + . afficher_onglets_pages(array( + //'resume'=>$onglet_resume, + 'voir'=>$onglet_contenu, + 'props'=>$onglet_proprietes, + 'docs'=>$onglet_documents, + 'interactivite'=>$onglet_interactivite, + 'discuter'=>$onglet_discuter)) + . fin_gauche() + . fin_page(); +} - echo fin_cadre_relief(true); - - ////////////////////////////////////////////////////// - // Forums +function langue_breve($id_breve, $row){ + $id_rubrique = $row['id_rubrique']; // + // Langue de la breve + // + $row2 = sql_fetch(spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=$id_rubrique")); + $langue_parent = $row2['lang']; - echo "<br /><br />"; - - echo "\n<div class='centered'>"; - echo icone_inline(_T('icone_poster_message'), generer_url_ecrire("forum_envoi", "statut=prive&id=$id_breve&script=breves_voir") . '#formulaire', - "forum-interne-24.gif", "creer.gif"); - echo "</div>"; + $langue_breve = $row['lang']; - echo "<br />"; + $res = ""; + $bouton = bouton_block_depliable(_T('titre_langue_breve')." (".traduire_nom_langue($langue_breve).")",false,'languesbreve'); + $res .= debut_cadre_enfonce('langues-24.gif',true,'',$bouton); - echo afficher_forum(sql_select("*", 'spip_forum', "statut='prive' AND id_breve=$id_breve AND id_parent=0",'', "date_heure DESC", "20"), "breves_voir", "id_breve=$id_breve"); + $res .= debut_block_depliable(false,'languesbreve'); + $res .= "<div class='langue'>"; + + if ($menu = liste_options_langues('changer_lang', $langue_breve, $langue_parent)) + $lien = "\nonchange=\"this.nextSibling.firstChild.style.visibility='visible';\""; + $menu = select_langues('changer_lang', $lien, $menu) + . "<span><input type='submit' class='visible_au_chargement fondo' value='". _T('bouton_changer')."' /></span>"; + + $res .= redirige_action_auteur('editer_breve', "$id_breve/$id_rubrique", "breves_voir","id_breve=$id_breve", $menu); + $res .= "</div>\n"; + $res .= fin_block(); - echo fin_gauche(), fin_page(); + $res .= fin_cadre_enfonce(true); + return $res; } // http://doc.spip.org/@exec_breves_voir_dist @@ -242,5 +237,4 @@ function exec_breves_voir_dist() afficher_breves_voir(intval(_request('id_breve')), _request('cherche_mot'), _request('select_groupe')); } - -?> +?> \ No newline at end of file diff --git a/ecrire/exec/naviguer.php b/ecrire/exec/naviguer.php index 263f1ccf6a4a7f42f471a98f88b56e9940388788..bcfdb336bde639ff0065d731c3e24c0757b0ec2c 100644 --- a/ecrire/exec/naviguer.php +++ b/ecrire/exec/naviguer.php @@ -18,7 +18,7 @@ include_spip('inc/forum'); // http://doc.spip.org/@exec_naviguer_dist function exec_naviguer_dist() { - global $spip_display; + global $spip_display,$spip_lang_left,$spip_lang_right; $cherche_mot = _request('cherche_mot'); $id_rubrique = intval(_request('id_rubrique')); @@ -57,137 +57,184 @@ function exec_naviguer_dist() "rubriques", $id_rubrique); - echo debut_grand_cadre(true); + echo debut_grand_cadre(true); + if ($id_rubrique > 0) echo afficher_hierarchie($id_parent); + else $titre = _T('info_racine_site').": ". $GLOBALS['meta']["nom_site"]; + echo fin_grand_cadre(true); - if ($id_rubrique > 0) echo afficher_hierarchie($id_parent); - else $titre = _T('info_racine_site').": ". $GLOBALS['meta']["nom_site"]; - echo fin_grand_cadre(true); - - changer_typo($lang); + changer_typo($lang); - if (!autoriser('voir','rubrique',$id_rubrique)){ - echo "<strong>"._T('avis_acces_interdit')."</strong>"; - echo fin_page(); - exit; - } - - echo debut_gauche('', true); - - if ($spip_display != 4) { - - infos_naviguer($id_rubrique, $statut, $ze_logo); + if (!autoriser('voir','rubrique',$id_rubrique)){ + echo "<strong>"._T('avis_acces_interdit')."</strong>"; + echo fin_page(); + exit; + } - // - // Logos de la rubrique - // - if ($flag_editable AND ($spip_display != 4)) { - $iconifier = charger_fonction('iconifier', 'inc'); - echo $iconifier('id_rubrique', $id_rubrique, 'naviguer'); + echo debut_gauche('', true); + + if (autoriser('publierdans','rubrique',$id_rubrique)) { + $id_parent = sql_fetch(spip_query("SELECT id_parent FROM spip_rubriques WHERE id_rubrique=$id_rubrique")); + if (!$id_parent['id_parent']) { + list($from, $where) = critere_statut_controle_forum('prop', $id_rubrique); + $n_forums = spip_num_rows(spip_query("SELECT id_forum FROM $from" .($where ? (" WHERE $where") : ''))); } } - echo pipeline('affiche_gauche',array('args'=>array('exec'=>'naviguer','id_rubrique'=>$id_rubrique),'data'=>'')); + echo infos_naviguer($id_rubrique, $statut, $ze_logo, $n_forums); - // - // Afficher les boutons de creation d'article et de breve - // - if ($spip_display != 4) { + echo pipeline('affiche_gauche',array('args'=>array('exec'=>'naviguer','id_rubrique'=>$id_rubrique),'data'=>'')); + + // + // Afficher les boutons de creation d'article et de breve + // + /*if ($spip_display != 4) { raccourcis_naviguer($id_rubrique, $id_parent); - } + }*/ - echo creer_colonne_droite('', true); - echo pipeline('affiche_droite',array('args'=>array('exec'=>'naviguer','id_rubrique'=>$id_rubrique),'data'=>'')); - echo debut_droite('', true); - - echo debut_cadre_relief($ze_logo, true); - - montre_naviguer($id_rubrique, $titre, $descriptif, $ze_logo, $flag_editable); - - if ($extra) { - include_spip('inc/extra'); - echo extra_affichage($extra, "rubriques"); - } - -/// Mots-cles - if ($id_rubrique > 0) { - $editer_mot = charger_fonction('editer_mot', 'inc'); - echo $editer_mot('rubrique', $id_rubrique, $cherche_mot, $select_groupe, $flag_editable); - } + echo creer_colonne_droite('', true); + echo pipeline('affiche_droite',array('args'=>array('exec'=>'naviguer','id_rubrique'=>$id_rubrique),'data'=>'')); + echo debut_droite('', true); + + // echo debut_cadre_relief($ze_logo, true); + $actions = + voir_en_ligne ('rubrique', $id_rubrique, $statut, 'racine-24.gif', false) + . icone_inline(_T('icone_tous_articles'), generer_url_ecrire("articles_page"), "article-24.gif", '', $spip_lang_left) + . (($id_rubrique > 0 AND $flag_editable)?icone_inline(_T('icone_modifier_rubrique'), generer_url_ecrire("rubriques_edit","id_rubrique=$id_rubrique&retour=nav"), $ze_logo, "edit.gif", $spip_lang_right):"") + ////// Supprimer cette rubrique (si vide) + . ((($id_rubrique>0) AND tester_rubrique_vide($id_rubrique) AND $flag_editable)? + icone_inline(_T('icone_supprimer_rubrique'), redirige_action_auteur('supprimer', "rubrique-$id_rubrique", "naviguer","id_rubrique=$id_parent"), $ze_logo, "supprimer.gif", $spip_lang_right) + :"") + . (autoriser('creerrubriquedans','rubrique',$id_rubrique)? + (!$id_rubrique + ? icone_inline(_T('icone_creer_rubrique'), generer_url_ecrire("rubriques_edit","new=oui&retour=nav"), "secteur-24.gif", "creer.gif",$spip_lang_left) + : icone_inline(_T('icone_creer_sous_rubrique'), generer_url_ecrire("rubriques_edit","new=oui&retour=nav&id_parent=$id_rubrique"), "rubrique-24.gif", "creer.gif",$spip_lang_left)) + :""); + $n = spip_num_rows(spip_query("SELECT id_rubrique FROM spip_rubriques LIMIT 1")); + if ($n) { + if (autoriser('creerarticledans','rubrique',$id_rubrique)) + $actions .= icone_inline(_T('icone_ecrire_article'), generer_url_ecrire("articles_edit","id_rubrique=$id_rubrique&new=oui"), "article-24.gif","creer.gif", $spip_lang_left); + + $activer_breves = $GLOBALS['meta']["activer_breves"]; + if (autoriser('creerbrevedans','rubrique',$id_rubrique,NULL,array('id_parent'=>$id_parent))) + $actions .= icone_inline(_T('icone_nouvelle_breve'), generer_url_ecrire("breves_edit","id_rubrique=$id_rubrique&new=oui"), "breve-24.gif","creer.gif", $spip_lang_left); - if (strlen($texte) > 1) { - echo "\n<div class='verdana1 spip_medium'>", justifier(propre($texte)), "</div>"; + if (autoriser('creersitedans','rubrique',$id_rubrique)) + $actions .= icone_inline(_T('info_sites_referencer'), generer_url_ecrire('sites_edit', "id_rubrique=$id_rubrique"), "site-24.gif", "creer.gif", $spip_lang_left); } - langue_naviguer($id_rubrique, $id_parent, $flag_editable); - - echo fin_cadre_relief(true); - - echo "<div>\n"; - echo afficher_enfant_rub($id_rubrique, autoriser('creerrubriquedans','rubrique',$id_rubrique), true); - - echo contenu_naviguer($id_rubrique, $id_parent, $ze_logo, $flag_editable); - echo "</div>\n"; - - -/// Documents associes a la rubrique - if ($id_rubrique > 0) { - - echo naviguer_doc($id_rubrique, "rubrique", 'naviguer', $flag_editable); + $actions .= "<div class='nettoyeur'></div>"; + + $logo = ''; + $chercher_logo = ($spip_display != 1 AND $spip_display != 4 AND $GLOBALS['meta']['image_process'] != "non"); + if ($chercher_logo) { + $chercher_logo = charger_fonction('chercher_logo', 'inc'); + if ($logo = $chercher_logo($id_rubrique, 'id_rubrique', 'on')) { + list($fid, $dir, $nom, $format) = $logo; + include_spip('inc/filtres_images'); + $logo = image_reduire("<img src='$fid' alt='' />", 75, 60); + } } + $haut = + ($logo ? "<div class='logo_titre'>$logo</div>" : "") + . gros_titre((!acces_restreint_rubrique($id_rubrique) ? '' : + http_img_pack("admin-12.gif",'', "width='12' height='12'", + _T('info_administrer_rubrique'))) . + $titre,'', false) + . "<div class='bandeau_actions'>$actions</div>"; - echo pipeline('affiche_milieu',array('args'=>array('exec'=>'naviguer','id_rubrique'=>$id_rubrique),'data'=>'')); - - -////// Supprimer cette rubrique (si vide) - - echo bouton_supprimer_naviguer($id_rubrique, $id_parent, $ze_logo, $flag_editable); - - echo fin_gauche(), fin_page(); + if ($extra) + include_spip('inc/extra'); + if ($id_rubrique > 0) + $editer_mot = charger_fonction('editer_mot', 'inc'); + + $onglet_proprietes = array(_L('Proprietes'), + /// Mots-cles + ($editer_mot ? $editer_mot('rubrique', $id_rubrique, $cherche_mot, $select_groupe, $flag_editable):"") + . langue_naviguer($id_rubrique, $id_parent, $flag_editable) + . pipeline('affiche_milieu',array('args'=>array('exec'=>'naviguer','id_rubrique'=>$id_rubrique),'data'=>'')) + ); + + /*$onglet_enfants = array(_L('Enfants'), + afficher_enfant_rub($id_rubrique, false, true) + );*/ + + $onglet_contenu = array(_L('Contenu'), + ($extra?extra_affichage($extra, "rubriques"):"") + . (strlen($descriptif) > 1 ? + "<span class='label'>"._T('info_descriptif')."</span>" + . "<span dir='$lang_dir' class='descriptif crayon rubrique-descriptif-$id_rubrique'>" . propre($descriptif) . "</span>\n" :"") + . (strlen($texte) > 1 ? + "<span class='label'>"._T('info_texte')."</span>" + . "<span dir='$lang_dir' class='texte crayon rubrique-texte-$id_rubrique'>" . propre($texte) . "</span>\n" :"") + . contenu_naviguer($id_rubrique, $id_parent, $ze_logo, $flag_editable) + ); + + $onglet_enfants = array(_L('Sous-rubriques'), + afficher_enfant_rub($id_rubrique, false, true) + ); + + + // Logos de la rubrique + $iconifier = charger_fonction('iconifier', 'inc'); + $onglet_documents = array(_L('Documents'), + $iconifier('id_rubrique', $id_rubrique, 'naviguer') + /// Documents associes a la rubrique + . ($id_rubrique > 0 ? naviguer_doc($id_rubrique, "rubrique", 'naviguer', $flag_editable) :"" ) + ); + + $onglet_interactivite = ""; + if ($n_forums) + $onglet_interactivite = icone_inline(_T('icone_suivi_forum', array('nb_forums' => $n_forums)), generer_url_ecrire("controle_forum","id_rubrique=$id_rubrique"), "suivi-forum-24.gif", "", $spip_lang_right); + $onglet_interactivite = array(_L('Interactivité'), + $onglet_interactivite + ); + + echo + $haut, + afficher_onglets_pages(array( + //'enfants'=>$onglet_enfants, + 'voir'=>$onglet_contenu, + 'sousrub'=>$onglet_enfants, + 'props'=>$onglet_proprietes, + 'docs'=>$onglet_documents, + 'interactivite'=>$onglet_interactivite + )), + fin_gauche(), + fin_page(); } // http://doc.spip.org/@infos_naviguer -function infos_naviguer($id_rubrique, $statut, $ze_logo) +function infos_naviguer($id_rubrique, $statut, $ze_logo, $n_forums) { - if ($id_rubrique > 0) { - $res = "\n<div style='font-weight: bold; text-align: center' class='verdana1 spip_xx-small'>" - . _T('titre_numero_rubrique') - . "<br /><span class='spip_xx-large'>" - . $id_rubrique - . '</span></div>'; - - echo debut_boite_info(true); - echo $res; - echo voir_en_ligne ('rubrique', $id_rubrique, $statut, '', false); - - if (autoriser('publierdans','rubrique',$id_rubrique)) { - $id_parent = sql_fetch(spip_query("SELECT id_parent FROM spip_rubriques WHERE id_rubrique=$id_rubrique")); - if (!$id_parent['id_parent']) { - list($from, $where) = critere_statut_controle_forum('prop', $id_rubrique); - $n = spip_num_rows(spip_query("SELECT id_forum FROM $from" .($where ? (" WHERE $where") : ''))); - - if ($n) - echo icone_horizontale(_T('icone_suivi_forum', array('nb_forums' => $n)), generer_url_ecrire("controle_forum","id_rubrique=$id_rubrique"), "suivi-forum-24.gif", "", false); - } - } - echo fin_boite_info(true); - - $res = ''; - $q = spip_query("SELECT A.nom, A.id_auteur FROM spip_auteurs AS A LEFT JOIN spip_auteurs_rubriques AS R ON A.id_auteur=R.id_auteur WHERE R.id_rubrique=$id_rubrique"); - while ($row = sql_fetch($q)) { - $id = $row['id_auteur']; - - $res .= - http_img_pack('admin-12.gif','','') . + $boite = pipeline ('boite_infos', array('data' => '', + 'args' => array( + 'type'=>'rubrique', + 'id' => $id_rubrique, + 'row' => $row, + 'n_forums' => $n_forums + ) + )); + + $navigation = + ($boite ?debut_boite_info(true). $boite . fin_boite_info(true):""); + + $q = spip_query("SELECT A.nom, A.id_auteur FROM spip_auteurs AS A LEFT JOIN spip_auteurs_rubriques AS R ON A.id_auteur=R.id_auteur WHERE R.id_rubrique=$id_rubrique"); + $res = ""; + while ($row = sql_fetch($q)) { + $id = $row['id_auteur']; + $res .= + http_img_pack('admin-12.gif','','') . " <a href='" . generer_url_ecrire('auteur_infos', "id_auteur=$id") . "'>" . extraire_multi($row['nom']) . '</a><br />'; - } - if ($res) - echo '<br />', debut_cadre_relief("fiche-perso-24.gif", true, '', _T('info_administrateurs')), $res, fin_cadre_relief(true); } + if ($res) + $navigation .= debut_cadre_relief("fiche-perso-24.gif", true, '', _T('info_administrateurs')). $res . fin_cadre_relief(true); + + return $navigation; } @@ -218,38 +265,38 @@ function raccourcis_naviguer($id_rubrique, $id_parent) // http://doc.spip.org/@langue_naviguer function langue_naviguer($id_rubrique, $id_parent, $flag_editable) { - -if ($id_rubrique>0 AND $GLOBALS['meta']['multi_rubriques'] == 'oui' AND ($GLOBALS['meta']['multi_secteurs'] == 'non' OR $id_parent == 0) AND $flag_editable) { - - $row = sql_fetch(spip_query("SELECT lang, langue_choisie FROM spip_rubriques WHERE id_rubrique=$id_rubrique")); - $langue_rubrique = $row['lang']; - $langue_choisie_rubrique = $row['langue_choisie']; - $langue_parent = ''; - if ($id_parent) { - $row = sql_fetch(spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=$id_parent")); - $langue_parent = $row['lang']; - } - if (!$langue_parent) - $langue_parent = $GLOBALS['meta']['langue_site']; - if (!$langue_rubrique) - $langue_rubrique = $langue_parent; - - echo debut_cadre_enfonce('langues-24.gif', true); - echo bouton_block_depliable(_T('titre_langue_rubrique')." (".traduire_nom_langue($langue_rubrique).")",false,'languesrubrique'); - - echo debut_block_depliable(false,'languesrubrique'); - echo "<div class='verdana2' style='text-align: center;'>"; - if ($menu = liste_options_langues('changer_lang', $langue_rubrique, $langue_parent)) { - $lien = redirige_action_auteur('instituer_langue_rubrique', "$id_rubrique-$id_parent","naviguer","id_rubrique=$id_rubrique"); - $lien = ("\nonchange=\"document.location.href='$lien" . - "&changer_lang='+this.options[this.selectedIndex].value\""); - echo select_langues('changer_lang', $lien, $menu); + $res = ""; + if ($id_rubrique>0 AND $GLOBALS['meta']['multi_rubriques'] == 'oui' AND ($GLOBALS['meta']['multi_secteurs'] == 'non' OR $id_parent == 0) AND $flag_editable) { + + $row = sql_fetch(spip_query("SELECT lang, langue_choisie FROM spip_rubriques WHERE id_rubrique=$id_rubrique")); + $langue_rubrique = $row['lang']; + $langue_choisie_rubrique = $row['langue_choisie']; + $langue_parent = ''; + if ($id_parent) { + $row = sql_fetch(spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=$id_parent")); + $langue_parent = $row['lang']; + } + if (!$langue_parent) + $langue_parent = $GLOBALS['meta']['langue_site']; + if (!$langue_rubrique) + $langue_rubrique = $langue_parent; + + $res .= debut_cadre_enfonce('langues-24.gif', true); + $res .= bouton_block_depliable(_T('titre_langue_rubrique')." (".traduire_nom_langue($langue_rubrique).")",false,'languesrubrique'); + + $res .= debut_block_depliable(false,'languesrubrique'); + $res .= "<div class='verdana2' style='text-align: center;'>"; + if ($menu = liste_options_langues('changer_lang', $langue_rubrique, $langue_parent)) { + $lien = redirige_action_auteur('instituer_langue_rubrique', "$id_rubrique-$id_parent","naviguer","id_rubrique=$id_rubrique"); + $lien = ("\nonchange=\"document.location.href='$lien" . + "&changer_lang='+this.options[this.selectedIndex].value\""); + $res .= select_langues('changer_lang', $lien, $menu); + } + $res .= "</div>\n"; + $res .= fin_block(); + $res .= fin_cadre_enfonce(true); } - echo "</div>\n"; - echo fin_block(); - - echo fin_cadre_enfonce(true); - } + return $res; } // http://doc.spip.org/@contenu_naviguer @@ -257,118 +304,114 @@ function contenu_naviguer($id_rubrique, $id_parent) { global $spip_lang_right; -// -// Verifier les boucles a mettre en relief -// + // + // Verifier les boucles a mettre en relief + // $relief = spip_num_rows(spip_query("SELECT id_article FROM spip_articles AS articles WHERE id_rubrique=$id_rubrique AND statut='prop' LIMIT 1")); if (!$relief) { $relief = spip_num_rows(spip_query("SELECT id_breve FROM spip_breves WHERE id_rubrique=$id_rubrique AND (statut='prepa' OR statut='prop') LIMIT 1")); - } + } if (!$relief AND $GLOBALS['meta']['activer_sites'] != 'non') { $relief = spip_num_rows(spip_query("SELECT id_syndic FROM spip_syndic WHERE id_rubrique=$id_rubrique AND statut='prop' LIMIT 1")); - } + } if (!$relief AND $GLOBALS['meta']['activer_syndic'] != 'non' - AND autoriser('publierdans','rubrique',$id_rubrique)) { - + AND autoriser('publierdans','rubrique',$id_rubrique)) { $relief = spip_num_rows(spip_query("SELECT id_syndic FROM spip_syndic WHERE id_rubrique=$id_rubrique AND (syndication='off' OR syndication='sus') AND statut='publie' LIMIT 1")); } - $res = ''; if ($relief) { - $res .= debut_cadre_couleur('',true); - $res .= "<div class='verdana2' style='color: black;'><b>"._T('texte_en_cours_validation')."</b></div>"; - - // - // Les articles a valider - // - $res .= afficher_objets('article',_T('info_articles_proposes'), array('WHERE' => "id_rubrique=$id_rubrique AND statut='prop'", 'ORDER BY' => "date DESC")); - - // - // Les breves a valider - // - $res .= afficher_objets('breve','<b>' . _T('info_breves_valider') . '</b>', array("FROM" => 'spip_breves', 'WHERE' => "id_rubrique=$id_rubrique AND (statut='prepa' OR statut='prop')", 'ORDER BY' => "date_heure DESC"), true); + $res .= debut_cadre_couleur('',true); + $res .= "<div class='verdana2' style='color: black;'><b>"._T('texte_en_cours_validation')."</b></div>"; + // + // Les articles a valider + // + $res .= afficher_objets('article',_T('info_articles_proposes'), array('WHERE' => "id_rubrique=$id_rubrique AND statut='prop'", 'ORDER BY' => "date DESC")); - // - // Les sites references a valider - // - if ($GLOBALS['meta']['activer_sites'] != 'non') { - $res .= afficher_objets('site','<b>' . _T('info_site_valider') . '</b>', array("FROM" => 'spip_syndic', 'WHERE' => "id_rubrique=$id_rubrique AND statut='prop'", 'ORDER BY' => "nom_site")); - } + // + // Les breves a valider + // + $res .= afficher_objets('breve','<b>' . _T('info_breves_valider') . '</b>', array("FROM" => 'spip_breves', 'WHERE' => "id_rubrique=$id_rubrique AND (statut='prepa' OR statut='prop')", 'ORDER BY' => "date_heure DESC"), true); - // - // Les sites a probleme - // - if ($GLOBALS['meta']['activer_sites'] != 'non' - AND autoriser('publierdans','rubrique',$id_rubrique)) { + // + // Les sites references a valider + // + if ($GLOBALS['meta']['activer_sites'] != 'non') { + $res .= afficher_objets('site','<b>' . _T('info_site_valider') . '</b>', array("FROM" => 'spip_syndic', 'WHERE' => "id_rubrique=$id_rubrique AND statut='prop'", 'ORDER BY' => "nom_site")); + } - $res .= afficher_objets('site','<b>' . _T('avis_sites_syndiques_probleme') . '</b>', array('FROM' => 'spip_syndic', 'WHERE' => "id_rubrique=$id_rubrique AND (syndication='off' OR syndication='sus') AND statut='publie'", 'ORDER BY' => "nom_site")); - } + // + // Les sites a probleme + // + if ($GLOBALS['meta']['activer_sites'] != 'non' + AND autoriser('publierdans','rubrique',$id_rubrique)) { + + $res .= afficher_objets('site','<b>' . _T('avis_sites_syndiques_probleme') . '</b>', array('FROM' => 'spip_syndic', 'WHERE' => "id_rubrique=$id_rubrique AND (syndication='off' OR syndication='sus') AND statut='publie'", 'ORDER BY' => "nom_site")); + } - // Les articles syndiques en attente de validation - if ($id_rubrique == 0 - AND autoriser('publierdans','rubrique',$id_rubrique)) { - - $cpt = sql_fetch(spip_query("SELECT COUNT(*) AS n FROM spip_syndic_articles WHERE statut='dispo'")); - if ($cpt = $cpt['n']) - $res .= "<br /><small><a href='" . - generer_url_ecrire("sites_tous") . - "' style='color: black;'>" . - $cpt . - " " . - _T('info_liens_syndiques_1') . - " " . - _T('info_liens_syndiques_2') . - "</a></small>"; - } + // Les articles syndiques en attente de validation + if ($id_rubrique == 0 + AND autoriser('publierdans','rubrique',$id_rubrique)) { + + $cpt = sql_fetch(spip_query("SELECT COUNT(*) AS n FROM spip_syndic_articles WHERE statut='dispo'")); + if ($cpt = $cpt['n']) + $res .= "<br /><small><a href='" . + generer_url_ecrire("sites_tous") . + "' style='color: black;'>" . + $cpt . + " " . + _T('info_liens_syndiques_1') . + " " . + _T('info_liens_syndiques_2') . + "</a></small>"; + } - $res .= fin_cadre_couleur(true); + $res .= fin_cadre_couleur(true); } -////////// Les articles en cours de redaction -///////////////////////// + ////////// Les articles en cours de redaction + ///////////////////////// - $res .= afficher_objets('article',_T('info_tous_articles_en_redaction'), array("WHERE" => "statut='prepa' AND id_rubrique=$id_rubrique", 'ORDER BY' => "date DESC")); + $res .= afficher_objets('article',_T('info_tous_articles_en_redaction'), array("WHERE" => "statut='prepa' AND id_rubrique=$id_rubrique", 'ORDER BY' => "date DESC")); -////////// Les articles publies -///////////////////////// + ////////// Les articles publies + ///////////////////////// - $res .= afficher_objets('article',_T('info_tous_articles_presents'), array("WHERE" => "statut='publie' AND id_rubrique=$id_rubrique", 'ORDER BY' => "date DESC")); + $res .= afficher_objets('article',_T('info_tous_articles_presents'), array("WHERE" => "statut='publie' AND id_rubrique=$id_rubrique", 'ORDER BY' => "date DESC")); - if (autoriser('creerarticledans','rubrique',$id_rubrique)){ + /*if (autoriser('creerarticledans','rubrique',$id_rubrique)){ $res .= "<div style='float:$spip_lang_right'>" . icone_inline(_T('icone_ecrire_article'), generer_url_ecrire("articles_edit","id_rubrique=$id_rubrique&new=oui"), "article-24.gif", "creer.gif", $spip_lang_right, 'non') . "</div><br class='nettoyeur' />"; - } + }*/ -//// Les breves + //// Les breves $res .= afficher_objets('breve','<b>' . _T('icone_ecrire_nouvel_article') . '</b>', array("FROM" => 'spip_breves', 'WHERE' => "id_rubrique=$id_rubrique AND statut != 'prop' AND statut != 'prepa'", 'ORDER BY' => "date_heure DESC")); - - if (autoriser('creerbrevedans','rubrique',$id_rubrique,NULL,array('id_parent'=>$id_parent))){ + /*if (autoriser('creerbrevedans','rubrique',$id_rubrique,NULL,array('id_parent'=>$id_parent))){ $res .= "<div style='float:$spip_lang_right'>" . icone_inline(_T('icone_nouvelle_breve'), generer_url_ecrire("breves_edit","id_rubrique=$id_rubrique&new=oui"), "breve-24.gif", "creer.gif",$spip_lang_right, 'non') . "</div><br class='nettoyeur' />"; - } + }*/ -//// Les sites references + //// Les sites references if ($GLOBALS['meta']["activer_sites"] == 'oui') { - $res .= '<br />' . afficher_objets('site','<b>' . _T('titre_sites_references_rubrique') . '</b>', array("FROM" => 'spip_syndic', 'WHERE' => "id_rubrique=$id_rubrique AND statut!='refuse' AND statut != 'prop' AND syndication NOT IN ('off','sus')", 'ORDER BY' => 'nom_site')); + $res .= afficher_objets('site','<b>' . _T('titre_sites_references_rubrique') . '</b>', array("FROM" => 'spip_syndic', 'WHERE' => "id_rubrique=$id_rubrique AND statut!='refuse' AND statut != 'prop' AND syndication NOT IN ('off','sus')", 'ORDER BY' => 'nom_site')); - if ($id_rubrique > 0 + /*if ($id_rubrique > 0 AND (autoriser('creersitedans','rubrique',$id_rubrique))) { $res .= "<div style='float:$spip_lang_right'>" . -icone_inline(_T('info_sites_referencer'), generer_url_ecrire('sites_edit', "id_rubrique=$id_rubrique"), "site-24.gif", "creer.gif",$spip_lang_right, 'non') + icone_inline(_T('info_sites_referencer'), generer_url_ecrire('sites_edit', "id_rubrique=$id_rubrique"), "site-24.gif", "creer.gif",$spip_lang_right, 'non') . "</div><br class='nettoyeur' />"; - } + }*/ } return $res; } @@ -420,26 +463,12 @@ EOF; // http://doc.spip.org/@montre_naviguer function montre_naviguer($id_rubrique, $titre, $descriptif, $logo, $flag_editable) { - global $spip_lang_right, $spip_lang_left; - - echo "\n<table cellpadding='0' cellspacing='0' border='0' width='100%'>"; - echo "<tr><td style='width: 100%' valign='top'>"; - echo gros_titre((!acces_restreint_rubrique($id_rubrique) ? '' : - http_img_pack("admin-12.gif",'', "width='12' height='12'", + global $spip_lang_right, $spip_lang_left; + return + gros_titre((!acces_restreint_rubrique($id_rubrique) ? '' : + http_img_pack("admin-12.gif",'', "width='12' height='12'", _T('info_administrer_rubrique'))) . $titre,'', false); - echo "</td>"; - - if ($id_rubrique > 0 AND $flag_editable) { - echo "<td>", http_img_pack("rien.gif", ' ', "width='5'") ."</td>\n"; - echo "<td valign='top'>", icone_inline(_T('icone_modifier_rubrique'), generer_url_ecrire("rubriques_edit","id_rubrique=$id_rubrique&retour=nav"), $logo, "edit.gif", $spip_lang_right), "</td>"; -} - echo "</tr>\n"; - - if (strlen($descriptif) > 1) { - echo "<tr><td align='$spip_lang_left' style='padding: 5px; border: 1px dashed #aaaaaa; ' class='verdana1 spip_small'>", propre($descriptif."~"), "</td></tr>\n"; - } - echo "</table>\n"; } // http://doc.spip.org/@tester_rubrique_vide @@ -465,10 +494,9 @@ function tester_rubrique_vide($id_rubrique) { // http://doc.spip.org/@bouton_supprimer_naviguer function bouton_supprimer_naviguer($id_rubrique, $id_parent, $ze_logo, $flag_editable) { - if (($id_rubrique>0) AND tester_rubrique_vide($id_rubrique) AND $flag_editable) { - - return "<br /><div class='centered'>" . icone_inline(_T('icone_supprimer_rubrique'), redirige_action_auteur('supprimer', "rubrique-$id_rubrique", "naviguer","id_rubrique=$id_parent"), $ze_logo, "supprimer.gif") . "</div>"; - } + if (($id_rubrique>0) AND tester_rubrique_vide($id_rubrique) AND $flag_editable) + return icone_inline(_T('icone_supprimer_rubrique'), redirige_action_auteur('supprimer', "rubrique-$id_rubrique", "naviguer","id_rubrique=$id_parent"), $ze_logo, "supprimer.gif") . "</div>"; + return ""; } ?> diff --git a/ecrire/exec/sites.php b/ecrire/exec/sites.php index 2aef69ada8a6c2a217b61f6cb662465045583940..154ffc9bffd550c185eb2841448242ee4282e3b1 100644 --- a/ecrire/exec/sites.php +++ b/ecrire/exec/sites.php @@ -44,14 +44,14 @@ function exec_sites_dist() if (!$id_syndic) echo _T('public:aucun_site'); - else afficher_site($id_syndic, $id_rubrique, $nom_site, $row); + else + afficher_site($id_syndic, $id_rubrique, $nom_site, $row); echo fin_page(); } // http://doc.spip.org/@afficher_site -function afficher_site($id_syndic, $id_rubrique, $nom_site, $row) -{ +function afficher_site($id_syndic, $id_rubrique, $nom_site, $row){ global $spip_lang_left, $spip_lang_right, $spip_display; @@ -68,37 +68,44 @@ function afficher_site($id_syndic, $id_rubrique, $nom_site, $row) $extra=$row["extra"]; $flag_administrable = autoriser('modifier','site',$id_syndic); - $flag_editable = ($flag_administrable OR ($GLOBALS['meta']["proposer_sites"] > 0 AND ($statut == 'prop'))); - echo debut_grand_cadre(true); + if ($id_syndic AND $flag_administrable AND ($spip_display != 4)) + $iconifier = charger_fonction('iconifier', 'inc'); + if ($flag_editable AND ($statut == 'publie')) + $dater = charger_fonction('dater', 'inc'); + $editer_mot = charger_fonction('editer_mot', 'inc'); + if ($flag_administrable) + $instituer_site = charger_fonction('instituer_site','inc'); + if ($GLOBALS['champs_extra'] AND $extra) + include_spip('inc/extra'); - echo afficher_hierarchie($id_rubrique); + $logo = ''; + $chercher_logo = ($spip_display != 1 AND $spip_display != 4 AND $GLOBALS['meta']['image_process'] != "non"); + if ($chercher_logo) { + $chercher_logo = charger_fonction('chercher_logo', 'inc'); + if ($logo = $chercher_logo($id_syndic, 'id_syndic', 'on')) { + list($fid, $dir, $nom, $format) = $logo; + include_spip('inc/filtres_images'); + $logo = image_reduire("<img src='$fid' alt='' />", 75, 60); + } + } + echo debut_grand_cadre(true); + echo afficher_hierarchie($id_rubrique); echo fin_grand_cadre(true); echo debut_gauche('', true); - echo debut_boite_info(true); - - $res = "\n<div style='font-weight: bold; text-align: center' class='verdana1 spip_xx-small'>" - . _T('titre_site_numero') - . "<br /><span class='spip_xx-large'>" - . $id_syndic - . '</span></div>'; - echo $res; - echo voir_en_ligne ('site', $id_syndic, $statut,'', false); + echo pipeline ('boite_infos', array('data' => '', + 'args' => array( + 'type'=>'site', + 'id' => $id_syndic, + 'row' => $row + ) + )); echo fin_boite_info(true); - - echo "\n<br /><div class='centered' style='margin-top:10px'>"; - echo icone_inline(_T('icone_voir_sites_references'), generer_url_ecrire("sites_tous",""), "site-24.gif","rien.gif"); - echo "</div>"; - - if ($id_syndic AND $flag_administrable AND ($spip_display != 4)) { - $iconifier = charger_fonction('iconifier', 'inc'); - echo $iconifier('id_syndic', $id_syndic, 'sites'); - } echo pipeline('affiche_gauche',array('args'=>array('exec'=>'sites','id_syndic'=>$id_syndic),'data'=>'')); echo creer_colonne_droite('', true); @@ -106,122 +113,109 @@ function afficher_site($id_syndic, $id_rubrique, $nom_site, $row) echo debut_droite('', true); - echo debut_cadre_relief("site-24.gif", true); - if ($syndication == 'off' OR $syndication == 'sus') $droit = $id_rubrique; else $droit = 0; $url_affichee = $url_site; - if (strlen($url_affichee) > 40) $url_affichee = substr($url_affichee, 0, 30)."..."; - if ($flag_editable) { - echo icone_inline(_T('icone_modifier_site'), generer_url_ecrire('sites_edit',"id_syndic=$id_syndic"), "site-24.gif", "edit.gif",$spip_lang_right); - } - $puce_statut = charger_fonction('puce_statut', 'inc'); - echo gros_titre($nom_site, $puce_statut(0,$statut,0,'site'), false); - echo "<a href='$url_site'><b>$url_affichee</b></a>"; - echo "<div class='nettoyeur'></div>"; - - if (strlen($descriptif)) { - echo "<div style='text-align: left; padding: 0 5px; border: 1px dashed #aaaaaa; background-color: #e4e4e4; margin: 5px 15px 0 0; ' class='verdana1 spip_xsmall'>"; - echo propre('{{'._T('info_descriptif').'}} '. $descriptif); - echo "</div>"; - } - - if ($flag_editable AND ($statut == 'publie')) { - if ($statut == 'publie') { - - $dater = charger_fonction('dater', 'inc'); - echo $dater($id_syndic, $flag_editable, $statut, 'syndic', 'sites', $date_heure); - } else { - echo "<br />\n<span class='verdana1 spip_medium'>"._T('info_site_propose')." <b>".affdate($date_heure)." </b></span>"; - } -} - - $editer_mot = charger_fonction('editer_mot', 'inc'); - echo $editer_mot('syndic', $id_syndic, $cherche_mot, $select_groupe, $flag_editable); - - echo pipeline('affiche_milieu',array('args'=>array('exec'=>'sites','id_syndic'=>$id_syndic),'data'=>'')); - - if ($flag_administrable) { - echo debut_cadre_relief("racine-site-24.gif", true); - - $corps = "\n<div style='text-align: center'><label for='statut'><b>" - . _T('info_statut_site_1') - . "</b></label> \n" - . "<select name='statut' id='statut' size='1' class='fondl'>\n" - . my_sel("prop",_T('info_statut_site_3'),$statut) - . my_sel("publie",_T('info_statut_site_2'),$statut) - . my_sel("refuse",_T('info_statut_site_4'),$statut); - - if (!in_array($statut, array('prop', 'publie', 'refuse'))) - $corps .= my_sel($statut,$statut,$statut); - - $corps .= "</select>\n" - . " " - . "<input type='submit' value='" - . _T('bouton_valider') - . "' class='fondo' />\n" - . "</div>\n"; - - echo redirige_action_auteur('editer_site', - $id_syndic, - 'sites', - "id_syndic=$id_syndic&id_parent=$id_rubrique", - $corps); - echo fin_cadre_relief(true); - } - - - if ($syndication == "oui" OR $syndication == "off" OR $syndication == "sus") { - echo "<br /><p class='verdana1 spip_medium centered'><a href='".htmlspecialchars($url_syndic)."'>", http_img_pack('feed.png', 'RSS', ' class="x" style="vertical-align:middle;"'), '</a> <b>'._T('info_site_syndique').'</b></p>'; - - - if ($syndication == "off" OR $syndication=="sus") { - echo debut_boite_info(true); - echo _T('avis_site_syndique_probleme', array('url_syndic' => quote_amp($url_syndic))); - - echo redirige_action_auteur('editer_site', + $actions = + voir_en_ligne('site', $id_syndic, $statut, 'racine-24.gif', false) + . ($flag_editable ? icone_inline(_T('icone_modifier_site'), generer_url_ecrire('sites_edit',"id_syndic=$id_syndic"), "site-24.gif", "edit.gif",$spip_lang_right) : "") + . icone_inline(_T('icone_voir_sites_references'), generer_url_ecrire("sites_tous",""), "site-24.gif","rien.gif", $spip_lang_left) + . icone_inline (_T('icone_poster_message'), generer_url_ecrire('forum_envoi', "id=$id_syndic&statut=prive&script=sites") . '#formulaire', "forum-interne-24.gif", "creer.gif", $spip_lang_left) + . "<div class='nettoyeur'></div>"; + + $haut = + ($logo ? "<div class='logo_titre'>$logo</div>" : "") + . gros_titre($nom_site, '' , false) + . "<a href='$url_site' class='url_site'>$url_affichee</a>" + . "<div class='bandeau_actions'>$actions</div>"; + + $onglet_contenu = array(_L('Contenu'), + ($statut == 'prop' ? "<p class='site_prop'>"._T('info_site_propose')." <b>".affdate($date_heure)." </b></p>" : "") + + . (strlen($descriptif) > 1 ? + "<span class='label'>"._T('info_descriptif')."</span>" + . "<span dir='$lang_dir' class='descriptif crayon rubrique-descriptif-$id_rubrique'>" . propre($descriptif) . "</span>\n" :"") + + . (($syndication == "oui" OR $syndication == "off" OR $syndication == "sus") ? + "<p class='site_syndique'><a href='".htmlspecialchars($url_syndic)."'>" + . http_img_pack('feed.png', 'RSS'). '</a>'._T('info_site_syndique').'</p>' + + . (($syndication == "off" OR $syndication=="sus") ? + "<div class='site_syndique_probleme'>" . _T('avis_site_syndique_probleme', array('url_syndic' => quote_amp($url_syndic))) + . redirige_action_auteur('editer_site', + $id_syndic, + 'sites', + '', + "<input type='hidden' name='reload' value='oui' /> + <input type='submit' value=\"" + . attribut_html(_T('lien_nouvelle_recuperation')) + . "\" class='fondo spip_xx-small' />") + . "</div>" + : "") + + . afficher_objets('syndic_article',_T('titre_articles_syndiques'), array('FROM' => 'spip_syndic_articles', 'WHERE' => "id_syndic=$id_syndic", 'ORDER BY' => "date DESC"), $id_syndic) + + . ($date_syndic ? "<div class='date_syndic'>" . _T('info_derniere_syndication').' '.affdate_heure($date_syndic) .".</div>" : "") + . "<div class='mise_a_jour_syndic'>" + . generer_action_auteur('editer_site', $id_syndic, - 'sites', - '', + generer_url_ecrire('sites'), "<input type='hidden' name='reload' value='oui' /> - <input type='submit' value=\"" - . attribut_html(_T('lien_nouvelle_recuperation')) - . "\" class='fondo spip_xx-small' />" - ); - echo fin_boite_info(true); - } - echo afficher_objets('syndic_article',_T('titre_articles_syndiques'), array('FROM' => 'spip_syndic_articles', 'WHERE' => "id_syndic=$id_syndic", 'ORDER BY' => "date DESC"), $id_syndic); - - - // afficher la date de dernier acces a la syndication - - if ($date_syndic) - echo "<div style='text-align: left' class='verdana1 spip_small'>", _T('info_derniere_syndication').' '.affdate_heure($date_syndic), ".</div>\n"; + <input type='submit' value=\"" + . attribut_html(_T('lien_mise_a_jour_syndication')) + . "\" class='fondo spip_xx-small' />", " method='post'") + . "</div>" + + : choix_feed($id_syndic, $id_rubrique, $nom_site, $row)) + + . (($GLOBALS['champs_extra'] AND $extra) ? extra_affichage($extra, "sites") : "") + + ); + + $onglet_proprietes = array(_L('Propriétés'), + ($dater ? $dater($id_syndic, $flag_editable, $statut, 'syndic', 'sites', $date_heure) : "") + . $editer_mot('syndic', $id_syndic, $cherche_mot, $select_groupe, $flag_editable) + . ($flag_administrable ? options_moderation($row) : "") + . pipeline('affiche_milieu',array('args'=>array('exec'=>'sites','id_syndic'=>$id_syndic),'data'=>'')) + ); + + $onglet_documents = array(_L('Documents'), + $iconifier ? $iconifier('id_syndic', $id_syndic, 'sites') :"" + //. articles_documents('article', $id_article) + ); + + $onglet_interactivite = array(_L('Interactivité'), + "" + ); + + $onglet_discuter = array(_L('Discuter'), + ($result_forum = spip_query("SELECT * FROM spip_forum WHERE statut='prive' AND id_syndic=$id_syndic AND id_parent=0 ORDER BY date_heure DESC LIMIT 20") ? + afficher_forum($result_forum, "sites","id_syndic=$id_syndic") + :"") + ); + + echo + $haut + . afficher_onglets_pages(array( + //'resume'=>$onglet_resume, + 'voir'=>$onglet_contenu, + 'props'=>$onglet_proprietes, + 'docs'=>$onglet_documents, + 'interactivite'=>$onglet_interactivite, + 'discuter'=>$onglet_discuter)); +} - echo "<br /><div style='float: right'>\n"; - echo generer_action_auteur('editer_site', - $id_syndic, - generer_url_ecrire('sites'), - "<input type='hidden' name='reload' value='oui' /> - <input type='submit' value=\"" - . attribut_html(_T('lien_mise_a_jour_syndication')) - . "\" class='fondo spip_xx-small' />", - " method='post'" - ); - echo "</div><br />\n"; - - // Options - if ($flag_administrable) { - - $moderation = $mod; - if ($moderation != 'oui') $moderation='non'; - - $res = ''; - $res .= "<div style='text-align: ".$GLOBALS['spip_lang_left']."'>". +function options_moderation($row) { + $id_syndic = $row['id_syndic']; + $moderation = $row['moderation']; + if ($moderation != 'oui') $moderation='non'; + + $res = ''; + $res .= "<div style='text-align: ".$GLOBALS['spip_lang_left']."'>". _T('syndic_choix_moderation') . "<div style='padding-$spip_lang_left: 40px;'>" . afficher_choix('moderation', $moderation, @@ -230,110 +224,99 @@ function afficher_site($id_syndic, $id_rubrique, $nom_site, $row) 'oui' => _T('info_bloquer') .' ('._T('bouton_radio_modere_priori').')' )) . "</div></div>\n"; - // Oublier les vieux liens ? - // Depublier les liens qui ne figurent plus ? + // Oublier les vieux liens ? + // Depublier les liens qui ne figurent plus ? - $res .= "\n<div> </div>" + $res .= "\n<div> </div>" . "\n<div style='text-align:".$GLOBALS['spip_lang_left']."'>"._T('syndic_choix_oublier'). '</div>' . "\n<ul style='text-align:".$GLOBALS['spip_lang_left']."'>\n"; - $on = array('oui' => _T('item_oui'), 'non' => _T('item_non')); - if (!$miroir = $row['miroir']) $miroir = 'non'; - $res .= "\n<li>"._T('syndic_option_miroir').' ' - . afficher_choix('miroir', $miroir, $on, " ") - . "</li>\n"; - - if (!$oubli = $row['oubli']) $oubli = 'non'; - $res .= "\n<li>" - . _T('syndic_option_oubli', array('mois' => 2)).' ' - . afficher_choix('oubli', $oubli, $on," ") - . "</li>\n" - . "</ul>\n"; - - // Prendre les resumes ou le texte integral ? - if (!$resume = $row['resume']) $resume = 'oui'; - $res .= "\n<div style='text-align: $spip_lang_left'>" - . _T('syndic_choix_resume') - . "\n<div style='padding-$spip_lang_left: 40px;'>" - . afficher_choix('resume', $resume, - array( 'oui' => _T('syndic_option_resume_oui'), - 'non' => _T('syndic_option_resume_non') )) - . "</div></div>\n"; - - // Bouton "Valider" - $res .= "\n<div style='text-align:$spip_lang_right'><input type='submit' value='"._T('bouton_valider')."' class='fondo' /></div>\n"; - echo debut_cadre_relief('feed.png', true, "", _T('syndic_options').aide('artsyn')), - redirige_action_auteur('editer_site', + $on = array('oui' => _T('item_oui'), 'non' => _T('item_non')); + if (!$miroir = $row['miroir']) + $miroir = 'non'; + + $res .= "\n<li>"._T('syndic_option_miroir').' ' + . afficher_choix('miroir', $miroir, $on, " ") + . "</li>\n"; + + if (!$oubli = $row['oubli']) + $oubli = 'non'; + $res .= "\n<li>" + . _T('syndic_option_oubli', array('mois' => 2)).' ' + . afficher_choix('oubli', $oubli, $on," ") + . "</li>\n" + . "</ul>\n"; + + // Prendre les resumes ou le texte integral ? + if (!$resume = $row['resume']) + $resume = 'oui'; + + $res .= "\n<div style='text-align: $spip_lang_left'>" + . _T('syndic_choix_resume') + . "\n<div style='padding-$spip_lang_left: 40px;'>" + . afficher_choix('resume', $resume, + array( 'oui' => _T('syndic_option_resume_oui'), + 'non' => _T('syndic_option_resume_non') )) + . "</div></div>\n"; + + // Bouton "Valider" + $res .= "\n<div style='text-align:$spip_lang_right'><input type='submit' value='"._T('bouton_valider')."' class='fondo' /></div>\n"; + + return + debut_cadre_relief('feed.png', true, "", _T('syndic_options').aide('artsyn')) + . redirige_action_auteur('editer_site', "options/$id_syndic", 'sites', '', $res, - " method='post'"), - fin_cadre_relief(true); - } - } - -// Cas d'un site pour lesquels feedfinder a un ou plusieurs flux, -// et l'on propose de choisir -else if (preg_match(',^\s*select: (.*),', $url_syndic, $regs)) { - - $res = "<br /><br />\n"; - foreach ( - array('id_rubrique', 'nom_site', 'url_site', 'descriptif', 'statut') - as $var) { - $res .= "<input type='hidden' name='$var' value=\"".entites_html($$var)."\" />\n"; - } - - $res .= "<div style='text-align: $spip_lang_left'>\n"; - $res .= "<div><input type='radio' name='syndication' value='non' id='syndication_non' checked='checked' />"; - $res .= " <b><label for='syndication_non'>"._T('bouton_radio_non_syndication')."</label></b></div>\n"; - $res .= "<div><input type='radio' name='syndication' value='oui' id='syndication_oui' />"; - $res .= " <label for='syndication_oui'>"._T('bouton_radio_syndication')."</label></div>\n"; - - $res .= "<select name='url_syndic' id='url_syndic'>\n"; - foreach (explode(' ',$regs[1]) as $feed) { - $res .= '<option value="'.entites_html($feed).'">'.$feed."</option>\n"; - } - $res .= "</select>\n"; - $res .= aide("rubsyn"); - $res .= "<div style='text-align: $spip_lang_right'><input type='submit' value='"._T('bouton_valider')."' class='fondo' /></div>\n"; - $res .= "</div>\n"; - echo debut_cadre_relief('', true); - echo redirige_action_auteur('editer_site', - $id_syndic, - 'sites', - '', - $res, - " method='post'"); - echo fin_cadre_relief(true); - + " method='post'") + . fin_cadre_relief(true); } +function choix_feed($id_syndic, $id_rubrique, $nom_site, $row) { + $url_site = $row["url_site"]; + $url_syndic = $row["url_syndic"]; + $descriptif = $row["descriptif"]; + $statut = $row["statut"]; + + $date_heure = $row["date"]; + $date_syndic = $row['date_syndic']; + $mod = $row['moderation']; + $extra=$row["extra"]; -if ($GLOBALS['champs_extra'] AND $extra) { - include_spip('inc/extra'); - echo extra_affichage($extra, "sites"); + $res = ""; + // Cas d'un site pour lesquels feedfinder a un ou plusieurs flux, + // et l'on propose de choisir + if (preg_match(',^\s*select: (.*),', $url_syndic, $regs)) { + foreach ( + array('id_rubrique', 'nom_site', 'url_site', 'descriptif', 'statut') as $var) { + $res .= "<input type='hidden' name='$var' value=\"".entites_html($$var)."\" />\n"; + } + $res .= "<div style='text-align: $spip_lang_left'>\n"; + $res .= "<div><input type='radio' name='syndication' value='non' id='syndication_non' checked='checked' />"; + $res .= " <b><label for='syndication_non'>"._T('bouton_radio_non_syndication')."</label></b></div>\n"; + $res .= "<div><input type='radio' name='syndication' value='oui' id='syndication_oui' />"; + $res .= " <label for='syndication_oui'>"._T('bouton_radio_syndication')."</label></div>\n"; + + $res .= "<select name='url_syndic' id='url_syndic'>\n"; + foreach (explode(' ',$regs[1]) as $feed) { + $res .= '<option value="'.entites_html($feed).'">'.$feed."</option>\n"; + } + $res .= "</select>\n"; + $res .= aide("rubsyn"); + $res .= "<div style='text-align: $spip_lang_right'><input type='submit' value='"._T('bouton_valider')."' class='fondo' /></div>\n"; + $res .= "</div>\n"; + + $res = + debut_cadre_relief('', true) + . redirige_action_auteur('editer_site', + $id_syndic, + 'sites', + '', + $res, + " method='post'") + . fin_cadre_relief(true); } - -echo fin_cadre_relief(true); - - -////////////////////////////////////////////////////// -// Forums -// - - echo "<div class='centered'>\n"; - - echo icone_inline (_T('icone_poster_message'), generer_url_ecrire('forum_envoi', "id=$id_syndic&statut=prive&script=sites") . '#formulaire', "forum-interne-24.gif", "creer.gif"); - - echo "</div>\n"; - - $result_forum = spip_query("SELECT * FROM spip_forum WHERE statut='prive' AND id_syndic=$id_syndic AND id_parent=0 ORDER BY date_heure DESC LIMIT 20"); - - echo afficher_forum($result_forum, "sites","id_syndic=$id_syndic"); - - echo fin_gauche(); + return $res; } - - ?> diff --git a/ecrire/inc/instituer_article.php b/ecrire/inc/instituer_article.php index 4bbc2e391434ae15dce52674b2242cff8895105d..f107613cff5fcfdf5fa5dd4dc12a897ccb96fd7e 100644 --- a/ecrire/inc/instituer_article.php +++ b/ecrire/inc/instituer_article.php @@ -18,45 +18,40 @@ function inc_instituer_article_dist($id_article, $statut=-1) if ($statut == -1) return demande_publication($id_article); // menu de date pour les articles post-dates (plugin) + /* un branchement sauvage ? if ($statut <> 'publie' AND $GLOBALS['meta']['post_dates'] == 'non' AND function_exists('menu_postdates')) list($postdates,$postdates_js) = menu_postdates(); + else $postdates = $postdates_js = '';*/ + + $liste_statuts = array( + // statut => array(titre,image) + 'prepa' => array(_T('texte_statut_en_cours_redaction'),''), + 'prop' => array(_T('texte_statut_propose_evaluation'),''), + 'publie' => array(_T('texte_statut_publie'),''), + 'poubelle' => array(_T('texte_statut_poubelle'),''), + 'refuse' => array(_T('texte_statut_refuse'),'') + ); - else $postdates = $postdates_js = ''; $res = - "\n<div style='text-align: center;' id='instituer_article-$id_article'>" . - "<label for='statut_nouv'><b>" . - _T('texte_article_statut') . - "</b></label>" . - "\n<select name='statut_nouv' id='statut_nouv' size='1' class='fondl'\n" . - "onchange=\"this.nextSibling.nextSibling.src='" . - _DIR_IMG_PACK . - "' + puce_statut(options[selectedIndex].value);" . - " setvisibility('valider_statut', 'visible');" - . $postdates_js - . "\">\n" . - "<option" . mySel("prepa", $statut) ." style='background-color: white'>" ._T('texte_statut_en_cours_redaction') ."</option>\n" . - "<option" . mySel("prop", $statut) . " style='background-color: #FFF1C6'>" ._T('texte_statut_propose_evaluation') ."</option>\n" . - "<option" . mySel("publie", $statut) . " style='background-color: #B4E8C5'>" ._T('texte_statut_publie') ."</option>\n" . - "<option" . mySel("poubelle", $statut) - . " class='danger'>" ._T('texte_statut_poubelle') ."</option>\n" . - "<option" . mySel("refuse", $statut) . " style='background-color: #FFA4A4'>" ._T('texte_statut_refuse') ."</option>\n" . - "</select>" . - " " . - puce_statut($statut, " class='puce'") . - " \n" . - "<span class='visible_au_chargement' id='valider_statut'>" . - "<input type='submit' value='"._T('bouton_valider')."' class='fondo' />" . - "</span>" . - aide("artstatut") - . $postdates - . '</div>'; + "<ul id='instituer_article-$id_article' class='instituer_article instituer'>" + . "<li>" . _T('texte_article_statut') + . aide("artstatut") + ."<ul>"; + + $href = redirige_action_auteur('instituer_article',$id_article,'articles', "id_article=$id_article"); + foreach($liste_statuts as $s=>$affiche){ + $href = parametre_url($href,'statut_nouv',$s); + $sel = ($s==$statut) ? " selected":""; + $res .= "<li class='$s$sel'><a href='$href'>" . puce_statut($s) . $affiche[0] . '</a></li>'; + } + + $res .= "</ul></li></ul>"; - return redirige_action_auteur('instituer_article',$id_article,'articles', "id_article=$id_article", $res, " method='post'"); + return $res; } - // http://doc.spip.org/@demande_publication function demande_publication($id_article) { diff --git a/ecrire/inc/instituer_breve.php b/ecrire/inc/instituer_breve.php new file mode 100644 index 0000000000000000000000000000000000000000..710ead15449e47f8b4a172e818daabfd770dbc82 --- /dev/null +++ b/ecrire/inc/instituer_breve.php @@ -0,0 +1,44 @@ +<?php + +/***************************************************************************\ + * SPIP, Systeme de publication pour l'internet * + * * + * Copyright (c) 2001-2007 * + * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * + * * + * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * + * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * +\***************************************************************************/ + +if (!defined("_ECRIRE_INC_VERSION")) return; + +function inc_instituer_breve_dist($id_breve, $statut=-1) +{ + if ($statut == -1) return ""; + + $liste_statuts = array( + // statut => array(titre,image) + 'prop' => array(_T('item_breve_proposee'),''), + 'publie' => array(_T('item_breve_validee'),''), + 'refuse' => array(_T('item_breve_refusee'),'') + ); + if (!in_array($statut, array_keys($liste_statuts))) + $liste_statuts[$statut] = array($statut,''); + + $res = + "<ul id='instituer_breve-$id_breve' class='instituer_breve instituer'>" + . "<li>" . _T('entree_breve_publiee') + ."<ul>"; + + $href = redirige_action_auteur('editer_breve',$id_breve,'breves_voir', "id_breve=$id_breve"); + foreach($liste_statuts as $s=>$affiche){ + $href = parametre_url($href,'statut',$s); + $sel = ($s==$statut) ? " selected":""; + $res .= "<li class='$s$sel'><a href='$href'>" . puce_statut($s) . $affiche[0] . '</a></li>'; + } + + $res .= "</ul></li></ul>"; + return $res; +} + +?> \ No newline at end of file diff --git a/ecrire/inc/instituer_site.php b/ecrire/inc/instituer_site.php new file mode 100644 index 0000000000000000000000000000000000000000..f9225404c1658c397347498c2747985a1ce6684e --- /dev/null +++ b/ecrire/inc/instituer_site.php @@ -0,0 +1,45 @@ +<?php + +/***************************************************************************\ + * SPIP, Systeme de publication pour l'internet * + * * + * Copyright (c) 2001-2007 * + * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * + * * + * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * + * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * +\***************************************************************************/ + +if (!defined("_ECRIRE_INC_VERSION")) return; + +function inc_instituer_site_dist($id_syndic, $statut=-1) +{ + if ($statut == -1) return ""; + + $liste_statuts = array( + // statut => array(titre,image) + 'prop' => array(_T('info_statut_site_3'),''), + 'publie' => array(_T('info_statut_site_2'),''), + 'refuse' => array(_T('info_statut_site_4'),'') + ); + if (!in_array($statut, array_keys($liste_statuts))) + $liste_statuts[$statut] = array($statut,''); + + $res = + "<ul id='instituer_site-$id_syndic' class='instituer_site instituer'>" + . "<li>" . _T('info_statut_site_1') + ."<ul>"; + + $href = redirige_action_auteur('editer_site',$id_syndic,'sites', "id_syndic=$id_syndic" /*"&id_parent=$id_rubrique"*/); + foreach($liste_statuts as $s=>$affiche){ + $href = parametre_url($href,'statut',$s); + $sel = ($s==$statut) ? " selected":""; + $res .= "<li class='$s$sel'><a href='$href'>" . puce_statut($s) . $affiche[0] . '</a></li>'; + } + + $res .= "</ul></li></ul>"; + + return $res; +} + +?> \ No newline at end of file diff --git a/ecrire/inc/presentation.php b/ecrire/inc/presentation.php index 89403fcb447de9148780383d909a25d73967ae2e..268df071397ff6b860826e197c32f647e4f2ad31 100644 --- a/ecrire/inc/presentation.php +++ b/ecrire/inc/presentation.php @@ -39,6 +39,23 @@ function hr($color, $retour = false) { // // Cadres // +function afficher_onglets_pages($onglets){ + static $onglet_compteur = 0; + $res = ""; + $corps = ""; + $cpt = 0; + $actif = 0; + foreach($onglets as $id=>$contenu){ + $cpt++; + $disabled = strlen(trim($contenu[1]))?"":" class='tabs-disabled'"; + if (!$actif && !$disabled) $actif = $cpt; + $res .= "<li$disabled><a href='#$id'><span>" . $contenu[0] . "</span></a></li>"; + $corps .= "<div id='$id' class='tabs-container'>" . $contenu[1] . "<br class='nettoyeur' /></div>"; + } + $onglet_compteur++; + return "<div class='boite_onglets' id='boite_onglet_$onglet_compteur'><ul class='tabs-nav'>$res</ul>$corps</div>" + . "<script type='text/javascript'>$('#boite_onglet_$onglet_compteur').tabs(".($actif?"$actif,":"")."{ fxAutoHeight: true });</script>"; +} // http://doc.spip.org/@debut_cadre function debut_cadre($style, $icone = "", $fonction = "", $titre = "", $id="", $class="", $padding=true) { @@ -622,8 +639,7 @@ function afficher_forum_thread($row, $controle_id_article, $compteur_forum, $nb_ . afficher_forum_4($compteur_forum, $nb_forum, $i) . "\n<td style='width: 100%' valign='top'>"; if ($compteur_forum == 1) - $res .= '<br />' - . debut_cadre_forum(forum_logo($statut), true, "", $titre_boite); + $res .= debut_cadre_forum(forum_logo($statut), true, "", $titre_boite); else $res .= debut_cadre_thread_forum("", true, "", $titre_boite); } @@ -689,7 +705,7 @@ function afficher_forum_thread($row, $controle_id_article, $compteur_forum, $nb_ if ($statut == "off" OR $statut == "prop") $res .= "</div>"; if ($spip_display != 4) { - if ($compteur_forum == 1) $res .= fin_cadre_forum(true); + if ($compteur_forum == 1) $res .= fin_cadre_forum(true) . '<br />'; else $res .= fin_cadre_thread_forum(true); $res .= "</td></tr></table>\n"; } else $res .= "</li>\n"; @@ -917,11 +933,12 @@ function icone_inline($texte, $lien, $fond, $fonction="", $align=""){ global $spip_display; if ($fonction == "supprimer.gif") { - $style = 'icone36-danger'; + $style = 'icone36 danger'; } else { $style = 'icone36'; if (strlen($fonction) < 3) $fonction = "rien.gif"; } + $style .= " " . substr(basename($fond),0,-4); if ($spip_display == 1){ $hauteur = 20; @@ -961,7 +978,7 @@ function icone_inline($texte, $lien, $fond, $fonction="", $align=""){ else $atts = ''; if ($align) $align = "float: $align; "; - $icone = "\n<a style='width: 72px;$align' class='$style'" + $icone = "\n<a style='$align' class='$style'" . $atts . "\nhref='" . $lien @@ -1023,33 +1040,12 @@ function f_boite_infos($flux) { $id = $args['id']; $row = $args['row']; - if ($type == 'article') { - $boite .= "\n<div style='font-weight: bold; text-align: center' class='verdana1 spip_xx-small'>" - . _T('info_numero_article') - . "<br /><span class='spip_xx-large'>" - . $id - . '</span></div>'; - } - - $boite .= voir_en_ligne($type, $id, $row['statut'], 'racine-24.gif', false); - - // statistiques - if ($type == 'article') { - if ($row['statut'] == 'publie' - AND $row['visites'] > 0 - AND $GLOBALS['meta']["activer_statistiques"] != "non" - AND autoriser('voirstats', $type, $id)) { - $boite .= icone_horizontale(_T('icone_evolution_visites', array('visites' => $row['visites'])), generer_url_ecrire("statistiques_visites","id_article=$id"), "statistiques-24.gif","rien.gif", false); - } - } + unset($args['row']); + include_spip('public/assembler'); + $boite .= recuperer_fond("prive/{$type}_infos",$args); - // revisions d'articles - if ($type == 'article') { - if (($GLOBALS['meta']["articles_versions"]=='oui') - AND $row['id_version']>1 - AND autoriser('voirrevisions', $type, $id)) - $boite .= icone_horizontale(_T('info_historique_lien'), generer_url_ecrire("articles_versions","id_article=$id"), "historique-24.gif", "rien.gif", false); - } + if (!in_array($type,array('article','rubrique','site','breve'))) + $boite .= voir_en_ligne($type, $id, $row['statut'], 'racine-24.gif', false); $flux['data'] = $boite; return $flux; @@ -1074,7 +1070,7 @@ function gros_titre($titre, $ze_logo='', $aff=true){ // http://doc.spip.org/@debut_grand_cadre function debut_grand_cadre($return=false){ - $res = "\n<br /><br />\n<div class='table_page'>\n"; + $res = "\n<div class='table_page'>\n"; if ($return) return $res; else echo_log('debut_grand_cadre',$res); } @@ -1383,6 +1379,8 @@ function afficher_hierarchie($id_rubrique) { $parents = ''; $style1 = "$spip_lang_left center no-repeat; padding-$spip_lang_left: 15px"; $style2 = "margin-$spip_lang_left: 15px;"; + $tag = "a"; + $on = ' on'; while ($id_rubrique) { @@ -1393,29 +1391,34 @@ function afficher_hierarchie($id_rubrique) { $id_parent = $res['id_parent']; changer_typo($res['lang']); - $logo = (!$id_parent) ? "secteur-12.gif" + $class = (!$id_parent) ? "secteur" : (acces_restreint_rubrique($id_rubrique) - ? "admin-12.gif" : "rubrique-12.gif"); + ? "admin" : "rubrique"); - $parents = "\n<div class='verdana3' " - . http_style_background($logo, $style1) - . "><a href='" - . generer_url_ecrire("naviguer","id_rubrique=$id_rubrique") - . "'>" - . typo(sinon($res['titre'], _T('ecrire:info_sans_titre'))) - . "</a></div>\n<div style='$style2'>" + $parents = "<ul><li><span><em> > </em><$tag class='$class$on'" + . ($tag=='a'?" href='". generer_url_ecrire("naviguer","id_rubrique=$id_rubrique")."'":"") + . ">" + . supprimer_numero(typo(sinon($res['titre'], _T('ecrire:info_sans_titre')))) + . "</$tag></span>" . $parents - . "</div>"; + . "</li></ul>"; $id_rubrique = $id_parent; + $tag = 'a'; + $on = ''; } - return "\n<div class='verdana3' " . - http_style_background("racine-site-12.gif", $style1). - "><a href='" . generer_url_ecrire("naviguer","id_rubrique=$id_rubrique") . "'><b>"._T('lien_racine_site')."</b></a>".aide ("rubhier")."</div>\n<div style='$style2'>".$parents."</div>"; + return "\n<ul id='chemin' class='verdana3' dir='".lang_dir()."'" + //. http_style_background("racine-site-12.gif", $style1) + . "><li><span><$tag class='racine$on'" + . ($tag=='a'?" href='". generer_url_ecrire("naviguer","id_rubrique=$id_rubrique")."'":"") + . ">"._T('lien_racine_site')."</$tag>" + . aide ("rubhier") + . "</span>" + . $parents + . "</li></ul>"; } - // http://doc.spip.org/@enfant_rub function enfant_rub($collection){ global $spip_display, $spip_lang_left, $spip_lang_right, $spip_lang; @@ -1510,7 +1513,9 @@ function afficher_enfant_rub($id_rubrique, $bouton=false, $return=false) { global $spip_lang_left,$spip_lang_right, $spip_display; $les_enfants = enfant_rub($id_rubrique); - $n = strlen($les_enfants); + $n = strlen(trim($les_enfants)); + + if (!$n && !$bouton) return ""; if (!($x = strpos($les_enfants,"\n<div class='enfants'>",round($n/2)))) { $les_enfants2=""; @@ -1523,11 +1528,11 @@ function afficher_enfant_rub($id_rubrique, $bouton=false, $return=false) { } } - $res = "\n<div> </div>" - . "<div style='float:$spip_lang_left;width:49%;position:relative;'>" + $res = + "<div class='gauche'>" . $les_enfants . "</div>" - . "<div style='float:$spip_lang_right;width:49%;position:relative;'>" + . "<div class='droite'>" . $les_enfants2 . "</div>" . " " @@ -1597,7 +1602,7 @@ function voir_en_ligne ($type, $id, $statut=false, $image='racine-24.gif', $af = else return ''; - return icone_horizontale($message, generer_url_action('redirect', "id_$type=$id&var_mode=$en_ligne"), $image, "rien.gif", $af); + return icone_inline($message, generer_url_action('redirect', "id_$type=$id&var_mode=$en_ligne"), $image, "rien.gif", $GLOBALS['spip_lang_left']); }