Er schijnt toch meer belangstelling voor te zijn dan dat ik in eerste instantie verwachtte.

Dus bij deze: de onofficiële PHPhulp UBBBar!

Details over installatie en update zijn hier te vinden.

Support kan via dit topic.

Let op! Veel van de features zijn ongetest. Ik gebruik hem pas enkele dagen en alleen in Safari. Nu heb ik gehoord dat hij ook redelijk werkt op Windows, maar ik kan jullie niets garanderen. Mocht hij vreemde effecten hebben, je kan hem gemakkelijk uitzetten door hem via de apenkop in je onderbalk (waneer je Greasemonkey geïnstalleerd hebt) af te vinken.
Bovendien worden dan de plaatjes wss weer van een andere host gehaald wat weer voor vertraging kan zorgen.
Dan moet PHPhulp zelf maar ff wat smileys maken ;-)

Die bar is echt chill trouwens :D
Jonathan, voor je extra opmaak voor bestandsnamen... wat is er mis met gewoon ctrl + i? Als je tenminste de rest van je tekst niet schijn gedrukt hebt zal het prima voldoen.

Geen smilies, no way! Daar hebben we MSN al voor ;)

En dat over Ajax: dat zou echt langzaam gaan, daarbij zou hij cross-site aanvragen moeten doen (hij moet vanaf phphulp.nl naar ikhoefgeen.nl omdat ik moeilijk scripts op phphulp.nl kan zetten) en dat mag/gaat niet.

En dan nog even over die van Mebus:
Ik weet niet of het werkt in Firefox, maar als ik hier een URL in mijn tekstvakje plaats dan wordt dat er al braaf omheen gezet, dus die optie kan je ook al gebruiken (althans, als dat werkt in Firefox) Maar ik zal jouw weiziging ook even doorvoeren, ik denk dat je gelijk hebt en het inderdaad een makkelijkere/betere oplossing is.
over de smilies, voor die gene die dat willen, moeten zelf maar een javascriptje schrijven. Dan kan je zelfs ook nog je EIGEN smileys gebruiken. ;)
ik ben bezig met een smiliey versie, komt er straks wel aan
Alsjeblieft geen smilies

Klaasjan, dat kunnen user toch zelf gaan bepalen of ze die smiley functie instaleren of niet? ;) ik hoef het ook niet
"Mijn code zit onder de smilies :S "

Dat krijg ik altijd te horen waneer de beginners mij via MSN code toesturen. Ik ben benieuwd hoe het af zal lopen met PHPhulp smilies ;)

Jonathan: Misschien heb je nog wat aan dit concept (niet installeren maar opslaan! Hij werkt niet helemaal!). Het was een idee om direct quoten mogelijk te maken, maar ik zag in dat dat de moeite niet waard was. Maar het kan wel al de tekst in een post achterhalen. Als je het juist aanpast is het volgens mij vrij simpel om op al die textNodes een regex-filter los te laten, misschien ergens in combinatie met innerHTML. Naja, veel zoekplezier ;)
Ik ben bezig, en hij is bijna klaar, alleen is er één bug: het knopje voor de smilies wordt niet weergegeven, en in de textarea verschijnt een [ignore][/ignore]-tag met de uri naar het gif-je van het standaardplaatje. Ivm met de lengte van de code post ik alleen stukken:

      this.addButton('PHP',                'http://phphulp.ikhoefgeen.nl/ubb/php.png',           'p',  this.commandPHP.bind(this));
      this.addButton('Code',               'http://phphulp.ikhoefgeen.nl/ubb/code.png',          '<',  this.commandCode.bind(this));
      this.addSpacer();
      this.addButton('Negeer UBB-code',    'http://phphulp.ikhoefgeen.nl/ubb/ignore.png',        null, this.commandIgnore.bind(this));
      this.addSpacer();

      var smilies = new View();
      smilies.setContent(new smiliesSelector(this));
      this.addButton('Smilies',            'http://phphulp.jonathanhogervorst.com/ubbsmilies/glimlach.gif',     ';',  smilies.toggle.bind(smilies), smilies);

      this.addSpacer();
[...]

         listButton.style.border = 'none';
         listButton.style.margin = '0';
         listButton.src = imageName;
[...]

function smiliesSelector(parent)
{
   this.parent = parent;
   this.node = document.createElement('p');
   this.addOption('http://phphulp.jonathanhogervorst.com/ubbsmilies/glimlach.gif',  ':)');
   this.addOption('http://phphulp.jonathanhogervorst.com/ubbsmilies/bedroefd',  ':(');
   this.addOption('http://phphulp.jonathanhogervorst.com/ubbsmilies/bredelach.gif.gif',  ':D');
   this.addOption('http://phphulp.jonathanhogervorst.com/ubbsmilies/teleurgesteld.gif',  ':|');
   this.addSpacer();
   this.addOption('http://phphulp.jonathanhogervorst.com/ubbsmilies/knipoog.gif',  ';)');
   this.addOption('http://phphulp.jonathanhogervorst.com/ubbsmilies/tong.gif',  ':P');
   this.addOption('http://phphulp.jonathanhogervorst.com/ubbsmilies/verrast.gif',  ':O');
   this.addOption('http://phphulp.jonathanhogervorst.com/ubbsmilies/huilend.gif',  ':\'(');
   this.addSpacer();
   this.addOption('http://phphulp.jonathanhogervorst.com/ubbsmilies/verward.gif',  ':S');
   this.addOption('http://phphulp.jonathanhogervorst.com/ubbsmilies/verhit.gif',  '(H)');
   this.addOption('http://phphulp.jonathanhogervorst.com/ubbsmilies/duimomhoog.gif',  '(Y)');
   this.addOption('http://phphulp.jonathanhogervorst.com/ubbsmilies/duimomlaag.gif',  '(N)');
}


smiliesSelector.prototype = {
   focus: function()
   {
      this.node.focus();
   },
   
   addOption: function(url, label)
   {
      var option = document.createElement('a');
      option.value = url;
      option.title = document.createElement('img');
      option.title.src = url;
      option.title.addEventListener('click', this.changeWatcher(url), false);
      option.appendChild(document.createTextNode(label));
      this.node.appendChild(option);
   },

   addSpacer: function()
   {
      var option = document.createElement('br');
      option.appendChild(document.createTextNode(label));
      this.node.appendChild(option);
   },
   
   keyWatcher: function(e)
   {
      switch(e.keyCode) {
         case 13:
            this.changeWatcher(e);
            break;
         case 27:
            this.viewObject.close();
            this.parent.focus();
            break;
      }
   },
   
   changeWatcher: function(smilie)
   {      
      this.parent.saveState();
      if(smilie != '') {
         if(this.parent.txtarea.selectionStart == this.parent.txtarea.selectionEnd) {
            this.parent.replaceSelection('[img]'+smilie+'[/img]');
         } else {
            this.parent.wrapSelection('[img]'+smilie+'[/img]');
         }
      }
      e.preventDefault();
      this.node.selectedIndex = -1;
      this.viewObject.close();
   }
}
De volledige code is hier: %%HTMLBLOCK_0%% verder heb ik een paar aanpassingen gemaakt ivm versienummer, amar dat zou t nie moete zijn. [edit] Raargenoeg voegt de js dus aan het eind van het bericht of als je niet edit doet dit toe:
[img]http://phphulp.jonathanhogervorst.com/ubbsmilies/glimlach.gif[/img]
[img]http://phphulp.jonathanhogervorst.com/ubbsmilies/glimlach.gif
[/edit]
[edit]
Installeer m dus niet, alleen om te testen, want hij is nog niet af!!!
[/edit]
[edit]en bij het openen van een pagina met een textarea springt ie directnaar de textarea, wat nogal frustrerend is. Iemand een ID?
[/edit]
misschien zijn zulke dingen ook nog handig:
   commandLink: function(e)
   {
      this.saveState();
      this.wrapSelection('[url=' + prompt('Wat is de locatie?') +  ']Klik[/url]','');
      e.preventDefault();
   },

   commandImage: function(e)
   {
      this.saveState();
      this.wrapSelection('[img] + prompt('Wat is de locatie?') +  [/img]','');
      e.preventDefault();
   },

Reageren