Skip to content

Instantly share code, notes, and snippets.

require 'eventmachine'
require './em-websocket/lib/em-websocket'
EM.run {
EM::WebSocket.start(:host => "0.0.0.0", :port => 3001) do |ws|
ws.onopen {
puts "Connected 1"
NonExistentClass.new
puts "Connected 2"
}
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>client</title>
<script type="text/javascript">
ws = new WebSocket('ws://localhost:3001');
ws.onmessage = function(evt) {
alert(evt.data);
};
</script>
if (preg_match('#Opera/#', $user->browser))
{
$template->assign_var('S_IS_OPERA', true);
}
[RFC] Simple message API
Olympus has a BBCode parser that can be accessed by using the [i]parse_message[/i] class. This class however has a kind of complex API and also includes other concepts such as attachments. Luckily there's the generate_text_for_storage, generate_text_for_display and decode_message functions which simplify this to a great extent ([url=http://wiki.phpbb.com/display/MODDOCS/Tutorial.Parsing+text]more info[/url]). But the API is still more complex than it should be.
It would be great to have a simple API for working with BBCode. This would make it a lot easier for MOD authors to include such functionality in their MODs. The new class would be called [i]phpbb_message[/i] (working title) and act as a wrapper around the existing functions. It should use conventions where possible to reduce the effort required to use it.
[b]Storing messages[/b]
First you have to set everything up. You can use allow_*() or allow() to set options.

MODX

  • originally text template (phpBB2)
  • XML based format
  • machine readable
  • xsd schema validation
  • xsl stylesheet
  • pain to write by hand
  • convertor text => modx
  • modx2?
<?php
/*
* This file is part of trashbin.
*
* (c) 2010 Igor Wiedler
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/

QuickInstall

  • written by evil3, maintained by tumba25
  • quick one-click install
  • manage multiple boards
  • phpBB2 and phpBB3 versions
  • MOD team had scripts for this
  • installs automod

MPV

Explaining hooks

Most of you have probably already seen the blog post regarding the RFC process for hooks to be added to ascraeus (phpBB 3.1). And many of you may not know what a hooks system actually is, so I will take the time to explain it.

In olympus (phpBB 3.0) all new additions to the core must be done by editing or patching the core files. The MODification is either installed manually or by using AutoMOD. What a MOD usually does is add some specific code at a specific location, for example database queries, template assignments or loading of language files. This approach worked for 2.0 and it works for 3.0, but frankly it produces a horrible mess. Installing MODifications is a great pain, uninstalling them is almost impossible in some cases.

To solve this issue we are introducing a hooks system. The hook system defines code injection points, giving each one of them a unique identifier. The hooks manager allows MODificati

Contribution Guidelines (for sub-projects)

These guidelines apply to all sub-projects of phpBB. They explain how to interact with the git repos used for these projects.

  • Projects should be hosted on GitHub under the phpBB organization.
  • All work by team members should take place in the main repo.
  • Use of topic branches is very strongly encouraged.
  • Contributors must use topic branches, foreign main branches are never merged.
  • Version tags must be fully lowercase and prepended by a 'v', for example 'v1.0.0-rc1'.
  • Branch names should simply describe the topic and use hyphens, for example 'quick-reply' or 'issue1234'.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>ws</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
$(function() {
$('#body').append('<p>started</p>');
var ws = new WebSocket('ws://localhost:8080'),