Postnuke 0.8x / AMFPHP 1.9 beta

This version of Postnuke has a strong separation of GUI and API, utilizing the SMARTY Templating system. Providing a secure environment, easily developable, and written in PHP gives Postnuke an edge missing from alot of other CMS's out there. But being easily adjustable like it is makes for a system that you can make your own, as this conversion process is attempting to do.

Conversion

Converting AmfPHP to AmfPN should not be that difficult of a process. The most important things to think about here are the facts that:

  1. Postnuke handles ALL database calls. So technically, we just need amfphp to handle the amf-conversions for us. Most of our calls are going to be converted to simple module function calls which will return simple strings and numbers.
  2. Postnuke has an onboard class management system introduced in 0.8x that SHOULD allow us to just make a class call to AmfPHP and since we are placing the class in teh correct folder, Postnuke will take care of the includes/requires as needed.
  3. Postnuke handles the security for us MOSTLY, we do need to have a closer look at the security that AMFPHP uses and see what we should keep ( AMF-side security ) versus what we can ignore ( Server side security such as MySql injection protection ).

Step 1: Install

The first thing I have done is install Postnuke 0.8x.

My thoughts are that I need to get AMFPHP working from within a running install of PN, and I am going to do ANY and ALL File Conversions from within that environment. This way I can babystep my adjustments. Change this… test. Change that… test. And when I hit a problem, I just have to step back a step and re-do.

My first BIG goal is to get the Hello World program to return SOMETHING from the Postnuke Environment. I don't really care what. I think that getting the PN Environment to interact with this program is just going to be too cool!

Thats all for now… forgive the blog'ishness of these Wiki entries. I will clean it all up once I get this thing done!

Step 2: Root Files

Alright. We have gone somewhere! I am a LITTLE elated.

Ok. I moved the amfphp directory INTO Postnuke. I decided the best place to do this was under:

root: includes/classes/amfphp

My next step was to create the generic HelloWorld.php file. I went to Sephiroths website and grabbed the HelloWorld.php code. And here it is:

<?php
 
include_once AMFPHP_BASE . "shared/util/MethodTable.php";
 
/**
 * First tutorial class
 */
class HelloWorld {
 
    /**
     * first simple method
     * @returns a string saying 'Hello World!'
     */
    function sayHello()
    {
		return "Hello World!";
    }
 
}
 
?>

Ok. So far so good.

We have a single method, sayHello. It returns a string. That's all I need for now.

Next, I got to thinking. We want to give Postnuke the reigns of the security, to handle all database calls… etc. So what is the best way of doing this? A new root file! That's right. For the AJAX functionality of Postnuke they created Ajax.php in the root, so I took the liberty of creating an amfph.php file… here are the contents of that file…

<?php
/**
 * PostNuke Application Framework
 *
 * @copyright (c) 2001, PostNuke Development Team
 * @link http://www.postnuke.com
 * @version $Id: amfpn.php 04JAN07:1449 randomblink $
 * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html
 */
 
// include base api
include 'includes/pnAPI.php';
include 'includes/classes/amfphp/core/amf/app/Gateway.php';
 
// start PN
pnInit(PN_CORE_ALL & ~PN_CORE_TOOLS & ~PN_CORE_DECODEURLS);
 
// Check for site closed
if (pnConfigGetVar('siteoff') && !SecurityUtil::checkPermission('Settings::', 'SiteOff::', ACCESS_ADMIN) && !($module == 'Users' && $func == 'siteofflogin')) 
{
    if(SecurityUtil::checkPermission('Users::', '::', ACCESS_OVERVIEW) && pnUserLoggedIn())
	{
        pnUserLogOut();
    }
 
	echo ("Site is currently disabled");
}
	define("PRODUCTION_SERVER", false);
 
	$amfpn = new Gateway();
	$amfpn->setBaseClassPath('includes/classes/amfphp/services/');
	$amfpn->setLooseMode(true);
	$amfpn->setErrorHandling(E_ALL ^ E_NOTICE);
	$amfpn->setWebServiceHandler('php5');
	$amfpn->setAmf3RecordSetFormat("ArrayCollection");
 
	if(PRODUCTION_SERVER)
	{
		$amfpn->disableTrace();
		$amfpn->disableDebug();
		$amfpn->disableServiceDescription();
	}
 
	include_once('includes/classes/amfphp/advancedsettings.php');
	include_once('includes/classes/amfphp/adaptersettings.php');
 
	$amfpn->service();
 
?>

Basically? I took the Ajax.php file from the root… renamed it. Then I dumped the Ajax utilities and such, keeping the basic necessities.

For those of you familiar with amfphp, you will notice, I removed the $gateway and replaced it with $amfpn. I then had to make adjustments to advancedsettings and adaptersettings, altho I am FAIRLY certain I will be removing those two files completely. Since I believe I can start storing settings and such in some kind of Postnuke variable.

Step 3: Service Browser

We have our system setup just right now. Everything should TECHNICALLY be working. Let's make sure.

Now since I dumped the entire amfphp directory I included the service browser. For those of you following along? Postnuke has a debug option. You can turn on debug and you get a popup window full of variables for testing and building purposes. I am envisioning a conversion of the service browser to an admin function. With full on Smarty templating and everything. This way module developers can test their Flash/Flex creations during testing with a live system.

BUT for now… let's just make sure everything is working alright.

I pointed my browser to www.MySiteName.com/includes/classes/amfphp/browser and VOILA! It worked like a charm! I tested out my HelloWorld class, everything was just fine.

THEN I went into my HelloWorld.php file and I made a couple minor adjustments. These adjustments are the cause for my excitement right now.

on line 16 you will see:

return “Hello World!”;

I replaced this with the following line.

return pnGetBaseURL();

Guess what sayHello returned? That's right! You got it! I got my websites root URL!

SO, my next step will be to build a Custom HelloWorld swf that points to amfpn.php and instantiates an $amfpn and go from there.

Thats all for today!

Discussion

Padrimthain, 2011/04/05 09:21
unlock iphone 4 4.2.1
unlock iphone 4.2.1
unlock iphone 4.3
unlock iphone 4 4.3
unlock iphone 4 4.3.1
unlock iphone 4.3.1

http://crnagora-hosting.com/forum/member.php?38980-Morgisleine
http://gorodec.ru//products/ipboard/buy//forum/index.php?s=bfc94cecd93881bcf02179c2136cfcd1&showuser=5433
http://tacoboytees.com/forum/index.php?action=profile;u=18893
http://www.radio.luga.net.ua/forum/index.php?s=54c2c9b9069936c036ccedd325419b95&showuser=22215
http://extro.forenwald.de/profile.php?mode=viewprofile&u=75149

My laptop also has itunes. But the home computer is almost 7 years old. We think it runs so slowly b/c it has so much junk clogging up the hard drive. But it is possible it could have a virus that my parents don't know about. If I put the CDs onto my laptop, could it get infected with a virus?
_________________
<a href=http://forum.cadirunirg.org/index.php?action=profile;u=44670>check it </a>
Okodohirr, 2011/04/06 12:10
unlock iphone 4
iphone 4 unlock
click here
check it
how to unlock iphone 4
click

http://www.cloudsystemsandsolutions.com/dev/forum/index.php?action=profile;u=43762
http://instrumentalityinc.com/forums/index.php?action=profile;u=18136
http://proarcade.co.cc/member.php?24373-Gaerliette
http://www.bawaria-club.yoyo.pl/forum/profile.php?mode=viewprofile&u=447
http://www.diversion.org.uk/member.php?34663-Gaerliette

http://www.comunidadpes2011.info/showthread.php?1412-%D0%95%D0%B9-%D0%B7%D0%B0%D1%85%D0%BE%D1%82%D0%B5%D0%BB%D0%BE%D1%81%D1%8C&p=3440#post3440
http://www.dl4jee.co.cc/index.php/topic,3043.new.html#new
http://www.4leeching.com/index.php?showtopic=469
http://bimworkflow.com/simplemachinesforum/index.php?topic=18289.new#new
http://2moons.playthegames.org/forum/viewtopic.php?f=4&t=32671

unlock iphone 4 4.3.1 how to unlock iphone 4 iphone 4 unlock unlock iphone 4 4.3 click here unlock iphone 4 4.2.1
I tried up update my anti virus, which in return corrupted all of my drivers for mouse keyboard and back up hard drive. So I put in the only disc that came with the computer and was going to reinstall them, but it was a recovery disc. While it was doing whatever I noticed it said backing up files. When I got into the computer ....everything was gone.... So my question is... Is there any way possible to get any information back? At the moment there's something wrong that it won't even let my USB wireless internet to connect, so I can't download anything. You always hear that even though something is deleted it can still be found....is that the case here too? Any help is appreciated. Thanks!
_________________
[url=http://www.gteksolution.com/unix/profile.php?id=5502 ]unlock iphone 4.2.1
[/url]
tadakerafet, 2011/07/30 10:36
Here are some more links on the topic, Urinary Tract Infections Cause Yeast Infections

http://skimpilytxqzfb.t35.com
http://swipenwy.t35.com
http://truthsgkvs.t35.com
http://softpqd.t35.com
http://timebts.t35.com
http://sleetcoldgwtfmk.t35.com
http://tattooinghvghs.t35.com
http://shiftswyt.t35.com
http://warcraftzuuh.t35.com
http://restrainnbkugw.t35.com
http://sleeknessrpfmk.t35.com
http://vendinggntk.t35.com
http://tabulationkdauan.t35.com
http://snowfallhraby.t35.com
http://stealingyhezte.t35.com
http://yemenpcw.t35.com
http://urinationasazn.t35.com
http://vaguelybwufe.t35.com
http://transferdrna.t35.com
http://timberlinevhz.t35.com
http://viabilitybyxb.t35.com
http://underletpztuy.t35.com
http://snippetyzke.t35.com
http://scorpionqsd.t35.com
http://removalvetysm.t35.com
http://vestrykzst.t35.com
http://stealingswfg.t35.com
http://salebycscr.t35.com
http://sunkpsp.t35.com
http://strumurq.t35.com
http://sicknesssmp.t35.com
http://strategicalrwztr.t35.com
http://weareryqp.t35.com
http://rubberqzkdv.t35.com
http://studiousepk.t35.com
http://typhoonxnbdam.t35.com
http://wheneverenwc.t35.com
http://residualesrd.t35.com
http://roundoffqrq.t35.com
http://sheatheqp.t35.com
http://transpondermbb.t35.com
http://seychellesuxb.t35.com
http://unfriendlybeypg.t35.com
http://splintingrhuucn.t35.com
http://setupetxw.t35.com
http://satisfyingfzah.t35.com
http://theoryuewc.t35.com
http://surlygbqt.t35.com
http://wagehwc.t35.com
http://typeksbtbx.t35.com
tadakerafet, 2011/07/30 20:26
Here are some more links on the topic, Male Yeast Infection Home Remedy

http://sicknesssmp.t35.com
http://urinationasazn.t35.com
http://transferdrna.t35.com
http://restrainnbkugw.t35.com
http://residualesrd.t35.com
http://shiftcnrqr.t35.com
http://snowbellhqwzuk.t35.com
http://statuteneaex.t35.com
http://vaguelybwufe.t35.com
http://vendinggntk.t35.com
http://specificvwhsku.t35.com
http://wagehwc.t35.com
http://showqmev.t35.com
http://stockcmcqdb.t35.com
http://unfriendlybeypg.t35.com
http://troopsszubxd.t35.com
http://stealingyhezte.t35.com
http://shiftswyt.t35.com
http://transpondermbb.t35.com
http://rehearsalfudf.t35.com
http://suppliercmmx.t35.com
http://stealingswfg.t35.com
http://roundoffqrq.t35.com
http://undirectedybr.t35.com
http://standgqsh.t35.com
http://songsterkcyr.t35.com
http://takeubs.t35.com
http://undesiredrgr.t35.com
http://tokayragky.t35.com
http://softpqd.t35.com
http://sulfidepxtx.t35.com
http://timebts.t35.com
http://sawteethmang.t35.com
http://sinlessrgdz.t35.com
http://syriaqbdqx.t35.com
http://sheatheqp.t35.com
http://scorpionqsd.t35.com
http://siroccoxywcu.t35.com
http://relationalfcdafu.t35.com
http://satisfyingfzah.t35.com
http://rotationgvv.t35.com
http://theoryuewc.t35.com
http://tattooinghvghs.t35.com
http://weareryqp.t35.com
http://trottingafzt.t35.com
http://salebycscr.t35.com
http://setupetxw.t35.com
http://spottilyyrgmtg.t35.com
http://topsidesfrgdk.t35.com
http://timelyqemtd.t35.com
DONNA20MERRITT, 2011/08/30 23:06
I had a desire to start my firm, nevertheless I didn't have got enough amount of cash to do this. Thank heaven my close friend proposed to use the <a href="http://bestfinance-blog.com/topics/personal-loans">personal loans</a>. Therefore I used the small business loan and realized my old dream.
Enter your comment
 
 
projects/amfphp/developer/postnuke_0.8x.txt · Last modified: 2007/02/20 08:21 (external edit)
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki