stk's pz3 test

19th Mar 2007 stk
pictureHere is my very first use of the PZ3 plugin and the thing I don't like about it, has nothing to do with PZ3 and EVERYTHING to do with the freaking FILE MANAGER.

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam elementum rhoncus ante. In tincidunt justo a purus. Morbi interdum tincidunt mi. Pellentesque at felis interdum ante mattis facilisis. Sed auctor odio nec nibh pretium tincidunt. Quisque luctus ante a ligula. Integer lorem pede, luctus non, commodo ac, ultricies eu, libero. Proin malesuada, dolor luctus venenatis bibendum, justo nulla dignissim erat, nec scelerisque sem turpis elementum tellus. Praesent eget risus. Cras sodales, urna lacinia malesuada sagittis, est nulla ornare quam, imperdiet pretium erat risus id quam. Suspendisse vulputate elementum mi.

Morbi sed diam. Donec consequat vestibulum turpis. Quisque tempus leo id turpis. Morbi et tortor. Suspendisse at augue. In quis elit mattis ante auctor convallis. Cras euismod tortor vitae lorem. Sed lacinia ligula. Nunc nonummy. Integer at turpis. Morbi in massa. Sed a erat. Quisque lobortis pede et mauris eleifend porttitor. Nulla placerat. Nunc eu odio nec mi iaculis rhoncus. Phasellus ante dolor, sodales egestas, eleifend a, gravida et, lectus.

Integer nec nibh non sem aliquet ornare. Suspendisse posuere enim ac diam. Etiam ipsum turpis, congue pellentesque, tempus ut, fringilla in, massa. Donec nonummy massa at velit. Phasellus tristique suscipit purus. Nulla facilisi. Suspendisse placerat nonummy lectus. Cras et nibh nec dolor auctor condimentum. Praesent purus. Aenean feugiat elit sed arcu. Nulla facilisi. Curabitur interdum placerat diam. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla consequat metus volutpat velit condimentum rutrum. Maecenas ultrices, metus sodales consectetuer euismod, massa tortor dignissim tellus, id tincidunt nisl nulla ut nibh. Cras fringilla egestas turpis. Phasellus vitae sem quis lectus congue convallis. Nunc aliquam nulla sit amet elit. Praesent tincidunt arcu ac justo.

Mauris ut felis ut nibh varius auctor. Etiam posuere ullamcorper ligula. Duis dictum, tortor nec adipiscing tempor, pede nisl euismod turpis, at dictum nibh velit ac sem. Duis ut lectus. Sed eros turpis, sodales sed, ultrices quis, vulputate ac, est. Sed et turpis. Integer pharetra mattis ligula. Ut dictum interdum ipsum. Sed id ipsum. Sed convallis metus et nulla. Integer ultrices lacus non nisi. Integer adipiscing vulputate sapien. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Maecenas ac libero non dolor volutpat aliquet. Ut pellentesque aliquet mauris. Vestibulum eros lorem, molestie quis, feugiat sollicitudin, vulputate sed, urna. Etiam nisi. Pellentesque sit amet tellus. Sed vel lorem fermentum lectus euismod feugiat.

Donec turpis. Sed dapibus. Phasellus ut dolor. Cras posuere. Proin id mauris non nibh interdum fermentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Suspendisse justo enim, pulvinar ac, pharetra ut, nonummy in, dolor. Cras blandit eleifend mi. Vestibulum rutrum condimentum neque. Nulla facilisi. Cras sem. Mauris magna lorem, sodales ut, mattis eget, rhoncus a, diam. Integer posuere consequat libero. Nam volutpat enim eu lectus.

 
 
 
 

PZ3 test

19th Mar 2007 ¥åßßå
This is another test picture
 
 
 
 

AstonishUs with a donation!

23rd Jan 2007 ¥åßßå

As you can imagine from our extensive plugin list the AstonishMe team go through quite a lot of coffee and beer during a normal month, so we've decided to ask for your help ..... to pay for it ..... we really don't need help to consume it ;) If you feel that the Team have helped you, be it with a hack or plugin of ours that you use, or with our solutions to your problems, or indeed just with one of our articles, then please consider making a donation to our coffee and beer fund.

As you know the majority of our plugins and hacks are based on b2evolution which is completely free ( you can find their own donations page here), which is why we give 10% of all donations to them as a sign of our own thanks.

Any individual donation of £50 or more will receive a free 6 months premium listing on either Linkcentre ® or ( if it's a uk site) the Lycos directory. [b]Note :[/b] You don't need to make a donation to get into either of their listings, they both offer a free submittal service as well.

As if all that wasn't enough to make you dive for your pay pal account already, there are some more benefits. Every donation be it £1 or £1,000 (hey, I'm allowed to dream) will automatically grant you a years membership to our site and a groovy little button next to all your comments ;), other benefits of membership are the fact that you'll be able to comment without being moderated (although we reserve the right to remove membership if you spam us).

To make a donation via pay pal please [link]click here[/link], if you wish to make a donation by any other method then use our contact page to get hold of us.

 
 
 
 

Ajax (helper) plugin [draft]

2nd Nov 2006 ¥åßßå
Introduction

One of the main problems with ajax is that the page doing the calling and the page doing the answering must belong on the same (sub)domain and, at the moment, there's no native way to do this within the evocore as plugins only have a htsrv method which can often be on a seperate (sub)domain from the blog.

This plugin cures that problem and makes ajax requests simple in the process! How it works is pretty easy, it hooks into the [i]session loaded[/i] event and looks to see if it's an ajax request or not. If it is then it calls all the plugins that have asked to be notified of the particular ajax request.

Every ajax plugin could hook into the [i]session loaded[/i] event and check for it's own requests but if more than one or two were used on the same blog then the overheads would soon mount up as each of the plugins would have to be instantiated for every single page request! Not a cpu friendly situation

Besides making ajax requests as cpu friendly as possible, this plugin also takes the majority of the hard work out of the loop for other ajax plugins. Making a request is as simple as one line of code, no longer do you have to work out how to create an Http object, and make sure that your names don't clash with every other ajax plugins names.

This plugin has been tested in InterdebtExploiters 6 & 7, Firefox 1.5.0.7 and Opera 9.02, and guess what? It works in them all :D

Download and installation

Installation

  1. DOWNLOAD: Am Ajax v 1.0 (zip) and unzip it locally.
  2. Copy the am_ajax_plugin folder into the "plugins" folder of your b2evolution installation.
  3. Login to the administrative interface for your blog.
  4. Install the Am Ajax plugin from the Settings > Plug-ins > Available plugins table using the [Install] link.

To ensure that the user has the latest version of this plugin we ask that you don't ship it with your own plugin, but instead link to this page.

Dependencies and events

So, how do you use it? Well, you obviously need this plugin installed before it can do anything, so if you're coding an ajax plugin, and you want to use this helper plugin as a go between, you first need to add it to your plugins dependencies. This will ensure that it will be installed and enabled before your plugin can be installed. You do this by adding the following code to your plugin :-

	function GetDependencies()
	{
		return array(
				'requires' => array(
					'plugins' => array( array( 'am_ajax_plugin', '1' ) ), // at least version 1 of am_ajax_plugin
				),
			);
	}

The next step is to register all of the ajax events that your plugin needs to be notified of. The best place to do this is during the installation process and is as simple as calling this plugin with a list of events. For example, the following code will add [b]am_ajax_skin[/b] to the events list :-

	function AfterInstall()
	{
		global $Plugins;
		$ajax = $Plugins->get_by_code( 'am_ajax' );
		$params[ 'id' ] = $this->ID;
		$params[ 'events'] = array( // array of all the ajax events your plugin responds to
															'am_ajax_skin' );
		$Plugins->call_method( $ajax->ID, 'AddAjaxEvents', $params );
	}

If you're one of those tidy people you can also remove your plugins events during your uninstall procedure in pretty much the same manner with the following code :-

	function BeforeUninstall()
	{
		global $Plugins;
		$ajax = $Plugins->get_by_code( 'am_ajax' );
		$params[ 'id' ] = $this->ID;
		$params[ 'events'] = array( // array of all the ajax events to remove, or an empty array to remove all events
															 );
		$Plugins->call_method( $ajax->ID, 'RemoveAjaxEvents', $params );
	}

You can also use the Add/Remove methods if your plugin is upgraded a later date. Only new events will be added so you don't have to worry about duplicates and, as you can see from the snippet above, you can choose to either remove all events or just selected events.

Making requests

Now that you've got the plugin installed and registered your plugins ajax events, how do you use them? Simple, you just call the ajax request function and it does all the work! You can pass it any additional parameters that your request requires and even get it to show a wait screen, all with just one line of code :-

amAjaxRequest( 'theRequest', 'theParameters', theResponse, showWait, 'theData' );

So what does the above snippet mean? [b]theRequest[/b] is the ajax event that your plugin previously registered (am_ajax_skin in our example), [b]theParameters[/b] is a list of any additional parameters in the same format as a url ( ie/ the am_ajax_skin event could be passed a post id and be asked for comments with [i]'p=123&c=1'[/i] ), [b]theResponse[/b] is the name of your javascript function that will handle the returned data, [b]showWait[/b] is a true/false flag for displaying the wait screen, [b]theData[/b] is any additional data that your response function may require and can be anything you like!

Time for a working example. The following snippet makes an ajax request and displays the results on the screen when you [b]Click me[/b]

<span onclick="yourName= prompt( 'what is your name ?');amAjaxRequest( 'am_ajax_demo', 'name=' + yourName, amDemoResponse, true, 'some data' );">Click me</span>

<script type="text/javascript">
function amDemoResponse( theReply, myData )
{
	window.alert( 'the server said : ' + theReply + ' - and I also got the following data from the ajax helper : ' + myData );
}
</script>
[script]function amDemoResponse( theReply, myData ) { window.alert( 'the server said : ' + theReply + ' - and I also got the following data that was stored for me : ' + myData ); }[/script] Another page

Some title

 
 
 
 

Comments

Anonymous
13th Jan 2008
testing dates

¥
 

Food Safety Bureau (draft)

30th Jan 2006 ¥åßßå

The Food Safety Bureau was setup after recent changes in European law regarding food hygiene. AstonishMe was given the task of producing a website that had a clean business layout which was simple for the user to navigate. At some point in the near future the website will be expanded to incorporate a members newsletter using the b2evolution blog engine, and an online store for products relating to HACCP (read the site, it'll tell you what it means ;)).

The website has been coded to pass all the World Wide Web Consortium's standards for XHTML and Css. It has also been designed to pass the WAI / WCAG standards, which are specifications providing guidance on accessibility of web sites for people with disabilities. It also has a fixed header and footer (lol, try explaining that concept to Interdebt Exploiter), which means that the menu is always visible to the user, making navigation a cinch.

geekGeeky Detail: Whilst it's great that you can crowbar a fixed header/footer layout into Interdebt Exploiter, it's a crying shame that it means that you can't position ANY other elements (including relative) without it seeing them as "fixed" as well ...... ahhh well there's always IE 8 to look forward to :| ¥

We came up with the plain boxy look to move the emphasis onto the content of the website and to ensure that the header didn't take up to much of the shop window, as it was always our intention to go for a fixed header/footer. To overcome the lack of the normal graphics in the header we decided to splash some striking colours onto the page, and scatter a select few images over the pages. These help to ovecome the otherwise plain layout.

 
 
 
 

Comments

Anonymous
1st Feb 2006
Very nice work. I really like the upside down tabs on the help page. What are you going to use for the online store? If it's going to be more than just a few products, then you might check out Zen Cart. I've used it for a couple of sites (don't have either of them live yet, but I like what I see so far).
 
Anonymous
1st Feb 2006
lol, thanks, those tabs were a bitch to crowbar into IE and I still haven't got it working in opera yet :( Hopefully I'll get it all soted before the last of the content goes up.

The store is liable to just be an affiliation so there's no real shopping cart to do.

¥
 

Drop Shadows (draft)

25th Jan 2006 ¥åßßå

Another one for you to fluff Scott ;)

[css].ds_contents{ background:#ddf; color:#000; } .ds_shadows{ background:#ccc; color:inherit; } .ds_content{ padding:1px 10px; border:solid #aaa; border-width:0 1px 1px 1px; } .ds_top_bar{ margin-right:10px; border:solid #aaa; border-width:1px 1px 0 1px; } .ds_right_shadow{ padding-right:10px; } .ds_bottom_shadow{ margin-left:10px; } .ds_bars{ line-height:1px; font-size:1px; height:10px; } #ds_demo{ padding:0 2em 0 2em; overflow:none; } [/css]
 

Demo

This is a demonstration of the drop shadow effect without using any images

The depth of the shadow is controlled from css and is easily implemented on any page

This technique has been tested on Firefox, Opera and Interdebt Exploiter

 

First, here's the relevant code from this page for the above box

<div id="ds_demo">
<div id="ds_top_bar" class="ds_bars ds_contents">&nbsp;</div>
<div id="ds_right_shadow" class="ds_shadows">
<div id="ds_content" class="ds_contents">
<h2>Demo</h3>
<p>This is a demonstration of the drop shadow effect without using any images</p>
<p>The depth of the shadow is controlled from css and is easily implemented on any page</p>
<p>This technique has been tested on Firefox, Opera and Interdebt Exploiter</p>
</div>
</div>
<div id="ds_bottom_shadow" class="ds_bars ds_shadows">&nbsp;</div>
</div>

Then the css that controls it all

.ds_contents{
background:#ddddff;
color:#000;
}

.ds_shadows{
background:#ccc;
color:#inherit;
}

#ds_content{
padding:1px 10px;
}

#ds_top_bar{
margin-right:10px;
}

#ds_right_shadow{
padding-right:10px;
}

#ds_bottom_shadow{
margin-left:10px;
}

.ds_bars{
line-height:1px;
font-size:1px;
height:10px;
}

#ds_demo{
width:50%;
margin:0 0 0 10%;
}

The depth of the shadow can be altered by changing the appropriate height in ds_bars and padding/margin in ds_right/bottom_shadow

geekGeeky Detail: A neat trick to note, if you wrap a div around an element that has margins (ie/ <p>,<h#> tags), then the margins extend beyond the enclosing div, effectively pushing the top and bottom divs away from the middle div. You can overcome this by adding a padding of any size (1px upwards) to the content div ;) ¥

I'll fluff it up a tad more when I next get chance ...... keywords here are tad and chance ;)

Have fun

¥

 
 
 
 
 

Recent Comments

     
     

    Archives