Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Webbuild API

Status
Not open for further replies.
Joined
Apr 28, 2010
Messages
2,794
Reaction score
1,178
WebBuild API

What is this API?

This api simply grabs any resource on habbo's web server that is located within the web-build folder.

Why do I need this?

Well, this makes it easier to grab habbo javascript, css, and image resources with just 2 $_GET requests. This also masks your request from sulake who probably know all you hotel owners leach off of their resources and bandwith, etc.

How do I use it..?

For an example..

Let's say you have something like this in your index page..
PHP:
<link rel="stylesheet" href="http://images.habbo.com/habboweb/63_1dc60c6d6ea6e089c6893ab4e0541ee0/1013/web-gallery/static/styles/home.css" type="text/css" />

My API makes life simpler, as you can replace that code with this.

PHP:
<link rel="stylesheet" href="http://cobe.me/resources/habbo/webbuild/?file=home.css&type=css" type="text/css" />

You don't have to worry about any auto-webbuild updater or manually updating your own, because this snazzy tool handles it all for you..

The file types..?


  1. [*=left]css
    [*=left]cascading
    [*=left]js
    [*=left]javascript
    [*=left]img
    [*=left]image

Link me to the download!!
No download required.

I will provide support if needed.





 
Last edited:
Junior Spellweaver
Joined
Mar 16, 2009
Messages
111
Reaction score
6
UberCMS
/inclues/class.tpl.php

PHP:
<?php

class uberTpl
{
    private $outputData;
    private $params = Array();
    private $includeFiles = Array();
    
    public function Init()
    {
        global $core, $users;
    
        $this->SetParam('', 'Holo');
        $this->SetParam('body_id', '');
        $this->SetParam('page_title', ' ');
        $this->SetParam('flash_build', 'flash_50_9');
        $this->SetParam('web_build', '63_1dc60c6d6ea6e089c6893ab4e0541ee0/711');
        $this->SetParam('web_build_str', '50-BUILD66 - 06.05.2010 22:28');
        $this->SetParam('req_path', WWW);
        $this->SetParam('www', WWW);
        $this->SetParam('badges', '' . WWW . '/c_images/album1584/');
        $this->SetParam('hotel_status_fig', uberCore::GetSystemStatusString(true));
        $this->SetParam('hotel_status', uberCore::GetSystemStatusString(false));

        if (LOGGED_IN)
        {
            $this->SetParam('habboLoggedIn', 'true');
            $this->SetParam('habboName', USER_NAME);
        }
        else
        {
            $this->SetParam('habboLoggedIn', 'false');
            $this->SetParam('habboName', '');
        }
    }
    
    public function AddIncludeSet($set)
    {
        switch (strtolower($set))
        {
            case "frontpage":
            
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=libs2.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=landing.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=frontpage.css&type=css', 'stylesheet'));            
                break;
                
            case "register":

                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=visual.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=common.js&type=js'));            
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=style.css&type=css', 'stylesheet'));        
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=buttons.css&type=css', 'stylesheet'));    
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=boxes.css&type=css', 'stylesheet'));    
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=tooltips.css&type=css', 'stylesheet'));
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=embeddedregistration.css&type=css', 'stylesheet'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=simpleregistration.js&type=js'));
                break;
        
            case "process-template":
            
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=libs2.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=visual.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=libs.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=common.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=fullcontent.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=style.css&type=css', 'stylesheet'));        
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=buttons.css&type=css', 'stylesheet'));    
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=boxes.css&type=css', 'stylesheet'));    
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=tooltips.css&type=css', 'stylesheet'));    
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=process.css&type=css', 'stylesheet'));    
                break;
                
            case 'myhabbo':
            
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=libs2.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=visual.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=libs.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=common.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=fullcontent.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=style.css&type=css', 'stylesheet'));        
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=buttons.css&type=css', 'stylesheet'));    
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=boxes.css&type=css', 'stylesheet'));    
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=tooltips.css&type=css', 'stylesheet'));                
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=myhabbo/myhabbo.css&type=css', 'stylesheet'));
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=myhabbo/skins.css&type=css', 'stylesheet'));
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=myhabbo/dialogs.css&type=css', 'stylesheet'));
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=myhabbo/buttons.css&type=css', 'stylesheet'));
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=myhabbo/control.textarea.css&type=css', 'stylesheet'));
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=myhabbo/boxes.css&type=css', 'stylesheet'));
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=myhabbo.css&type=css', 'stylesheet'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=homeview.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=lightwindow.css&type=css', 'stylesheet'));
                break;
            
            case 'default':
            default:
            
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=libs2.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=visual.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=libs.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=common.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=fullcontent.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=style.css&type=css', 'stylesheet'));        
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=buttons.css&type=css', 'stylesheet'));    
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=boxes.css&type=css', 'stylesheet'));    
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=tooltips.css&type=css', 'stylesheet'));        
                break;
        }
    }
    
    public function AddGeneric($tplName)
    {
        $tpl = new Template($tplName);
        $this->outputData .= $tpl->GetHtml();
    }
    
    public function AddTemplate($tpl)
    {
        $this->outputData .= $tpl->GetHtml();
    }
    
    public function SetParam($param, $value)
    {
        $this->params[$param] = is_object($value) ? $value->fetch() : $value;
    }
    
    public function UnsetParam($param)
    {
        unset($this->params[$param]);
    }
    
    public function AddIncludeFile($incFile)
    {
        $this->includeFiles[] = $incFile;
    }
    
    public function WriteIncludeFiles()
    {
        foreach ($this->includeFiles as $f)
        {
            $this->Write($f->GetHtml() . LB);
        }
    }
    
    public function Write($str)
    {
        $this->outputData .= $str;
    }
    
    public function FilterParams($str)
    {
        foreach ($this->params as $param => $value)
        {
            $str = str_ireplace('%' . $param . '%', $value, $str);
        }
        
        return $str;
    }
    
    public function Output()
    {
        global $core;
    
        //$this->Write(LB . LB . '<!-- Took ' . (    round((microtime(true) - $core->execStart), 4)   ) . ' to output this page -->' . LB . LB);
        
        echo $this->FilterParams($this->outputData);
    }
}

class Template
{
    private $params = Array();
    private $tplName = '';
    
    public function Template($tplName)
    {
        $this->tplName = $tplName;
    }
    
    public function GetHtml()
    {
        global $users;
    
        extract($this->params);
    
        $file = CWD . 'inc/tpl/' . $this->tplName . '.tpl';
    
        if (!file_exists($file))
        {
            uberCore::SystemError('Template system error', 'Could not load template: ' . $this->tplName);
        }
        
        ob_start();
        include($file);
        $data = ob_get_contents();
        ob_end_clean();    
        
        return $this->FilterParams($data);
    }
    
    public function FilterParams($str)
    {
        foreach ($this->params as $param => $value)
        {
            if (is_object($value))
            {
                continue;
            }
        
            $str = str_ireplace('%' . $param . '%', $value, $str);
        }
        
        return $str;
    }
    
    public function SetParam($param, $value)
    {
        $this->params[$param] = $value;
    }
    
    public function UnsetParam($param)
    {
        unset($this->params[$param]);
    }        
}

class IncludeFile
{
    private $type;
    private $src;
    private $rel;
    private $name;

    public function IncludeFile($type, $src, $rel = '', $name = '')
    {
        global $tpl;
    
        $this->type = $type;
        $this->src = $src;
        $this->rel = $rel;
        $this->name = $name;
    }
    
    public function GetHtml()
    {
        switch ($this->type)
        {
            case 'application/rss+xml':
            
                return '<link rel="' . $this->rel . '" type="' . $this->type . '" title="' . $this->name . '" href="' . $this->src . '" />';
        
            case 'text/javascript':
            
                return '<script src="' . $this->src . '" type="text/javascript"></script>';
                
            case 'text/rocketscript':
            
                return '<script data-cfasync="true" src="' . $this->src . '"></script>';
                
            case 'text/css':
            default:
            
                return '<link rel="' . $this->rel . '" href="' . $this->src . '" type="' . $this->type . '" />';
        }
    }
}

?>
 
Joined
Apr 28, 2010
Messages
2,794
Reaction score
1,178
UberCMS
/inclues/class.tpl.php

PHP:
<?php

class uberTpl
{
    private $outputData;
    private $params = Array();
    private $includeFiles = Array();
    
    public function Init()
    {
        global $core, $users;
    
        $this->SetParam('', 'Holo');
        $this->SetParam('body_id', '');
        $this->SetParam('page_title', ' ');
        $this->SetParam('flash_build', 'flash_50_9');
        $this->SetParam('web_build', '63_1dc60c6d6ea6e089c6893ab4e0541ee0/711');
        $this->SetParam('web_build_str', '50-BUILD66 - 06.05.2010 22:28');
        $this->SetParam('req_path', WWW);
        $this->SetParam('www', WWW);
        $this->SetParam('badges', '' . WWW . '/c_images/album1584/');
        $this->SetParam('hotel_status_fig', uberCore::GetSystemStatusString(true));
        $this->SetParam('hotel_status', uberCore::GetSystemStatusString(false));

        if (LOGGED_IN)
        {
            $this->SetParam('habboLoggedIn', 'true');
            $this->SetParam('habboName', USER_NAME);
        }
        else
        {
            $this->SetParam('habboLoggedIn', 'false');
            $this->SetParam('habboName', '');
        }
    }
    
    public function AddIncludeSet($set)
    {
        switch (strtolower($set))
        {
            case "frontpage":
            
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=libs2.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=landing.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=frontpage.css&type=css', 'stylesheet'));            
                break;
                
            case "register":

                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=visual.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=common.js&type=js'));            
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=style.css&type=css', 'stylesheet'));        
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=buttons.css&type=css', 'stylesheet'));    
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=boxes.css&type=css', 'stylesheet'));    
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=tooltips.css&type=css', 'stylesheet'));
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=embeddedregistration.css&type=css', 'stylesheet'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=simpleregistration.js&type=js'));
                break;
        
            case "process-template":
            
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=libs2.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=visual.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=libs.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=common.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=fullcontent.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=style.css&type=css', 'stylesheet'));        
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=buttons.css&type=css', 'stylesheet'));    
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=boxes.css&type=css', 'stylesheet'));    
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=tooltips.css&type=css', 'stylesheet'));    
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=process.css&type=css', 'stylesheet'));    
                break;
                
            case 'myhabbo':
            
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=libs2.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=visual.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=libs.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=common.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=fullcontent.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=style.css&type=css', 'stylesheet'));        
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=buttons.css&type=css', 'stylesheet'));    
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=boxes.css&type=css', 'stylesheet'));    
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=tooltips.css&type=css', 'stylesheet'));                
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=myhabbo/myhabbo.css&type=css', 'stylesheet'));
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=myhabbo/skins.css&type=css', 'stylesheet'));
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=myhabbo/dialogs.css&type=css', 'stylesheet'));
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=myhabbo/buttons.css&type=css', 'stylesheet'));
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=myhabbo/control.textarea.css&type=css', 'stylesheet'));
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=myhabbo/boxes.css&type=css', 'stylesheet'));
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=myhabbo.css&type=css', 'stylesheet'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=homeview.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=lightwindow.css&type=css', 'stylesheet'));
                break;
            
            case 'default':
            default:
            
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=libs2.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=visual.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=libs.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=common.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/javascript', 'http://cobe.me/resources/habbo/webbuild/?file=fullcontent.js&type=js'));
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=style.css&type=css', 'stylesheet'));        
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=buttons.css&type=css', 'stylesheet'));    
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=boxes.css&type=css', 'stylesheet'));    
                $this->AddIncludeFile(new IncludeFile('text/css', 'http://cobe.me/resources/habbo/webbuild/?file=tooltips.css&type=css', 'stylesheet'));        
                break;
        }
    }
    
    public function AddGeneric($tplName)
    {
        $tpl = new Template($tplName);
        $this->outputData .= $tpl->GetHtml();
    }
    
    public function AddTemplate($tpl)
    {
        $this->outputData .= $tpl->GetHtml();
    }
    
    public function SetParam($param, $value)
    {
        $this->params[$param] = is_object($value) ? $value->fetch() : $value;
    }
    
    public function UnsetParam($param)
    {
        unset($this->params[$param]);
    }
    
    public function AddIncludeFile($incFile)
    {
        $this->includeFiles[] = $incFile;
    }
    
    public function WriteIncludeFiles()
    {
        foreach ($this->includeFiles as $f)
        {
            $this->Write($f->GetHtml() . LB);
        }
    }
    
    public function Write($str)
    {
        $this->outputData .= $str;
    }
    
    public function FilterParams($str)
    {
        foreach ($this->params as $param => $value)
        {
            $str = str_ireplace('%' . $param . '%', $value, $str);
        }
        
        return $str;
    }
    
    public function Output()
    {
        global $core;
    
        //$this->Write(LB . LB . '<!-- Took ' . (    round((microtime(true) - $core->execStart), 4)   ) . ' to output this page -->' . LB . LB);
        
        echo $this->FilterParams($this->outputData);
    }
}

class Template
{
    private $params = Array();
    private $tplName = '';
    
    public function Template($tplName)
    {
        $this->tplName = $tplName;
    }
    
    public function GetHtml()
    {
        global $users;
    
        extract($this->params);
    
        $file = CWD . 'inc/tpl/' . $this->tplName . '.tpl';
    
        if (!file_exists($file))
        {
            uberCore::SystemError('Template system error', 'Could not load template: ' . $this->tplName);
        }
        
        ob_start();
        include($file);
        $data = ob_get_contents();
        ob_end_clean();    
        
        return $this->FilterParams($data);
    }
    
    public function FilterParams($str)
    {
        foreach ($this->params as $param => $value)
        {
            if (is_object($value))
            {
                continue;
            }
        
            $str = str_ireplace('%' . $param . '%', $value, $str);
        }
        
        return $str;
    }
    
    public function SetParam($param, $value)
    {
        $this->params[$param] = $value;
    }
    
    public function UnsetParam($param)
    {
        unset($this->params[$param]);
    }        
}

class IncludeFile
{
    private $type;
    private $src;
    private $rel;
    private $name;

    public function IncludeFile($type, $src, $rel = '', $name = '')
    {
        global $tpl;
    
        $this->type = $type;
        $this->src = $src;
        $this->rel = $rel;
        $this->name = $name;
    }
    
    public function GetHtml()
    {
        switch ($this->type)
        {
            case 'application/rss+xml':
            
                return '<link rel="' . $this->rel . '" type="' . $this->type . '" title="' . $this->name . '" href="' . $this->src . '" />';
        
            case 'text/javascript':
            
                return '<script src="' . $this->src . '" type="text/javascript"></script>';
                
            case 'text/rocketscript':
            
                return '<script data-cfasync="true" src="' . $this->src . '"></script>';
                
            case 'text/css':
            default:
            
                return '<link rel="' . $this->rel . '" href="' . $this->src . '" type="' . $this->type . '" />';
        }
    }
}

?>

And.. the point of that post was?
 
Experienced Elementalist
Joined
Mar 24, 2009
Messages
261
Reaction score
121
Thanks for this, I'll be sure to put this on my hotel when it's up. ^^
 
Joined
Apr 28, 2010
Messages
2,794
Reaction score
1,178
Great!

I've added another function just if you want to view the web build.

PHP:
$_webbuild = file_get_contents('http://cobe.me/resources/habbo/webbuild/?action=view');

echo $_webbuild;

This will show the web build string.
 
Junior Spellweaver
Joined
Jan 7, 2012
Messages
155
Reaction score
22
Does not work on all the css files





(just a few examples)
 
Joined
Apr 28, 2010
Messages
2,794
Reaction score
1,178
Not at the moment, but when I decide people should benefit off of it.. sure!

Does not work on all the css files





(just a few examples)

Could you give me the exact location of the ones that don't work? I could fix it if I had the full dir.
 
Creative One.
Joined
Oct 20, 2011
Messages
274
Reaction score
106
Ah, are you using Curl, its pretty decent tho, nice job!
Maybe add some server side Caching?
 
Junior Spellweaver
Joined
Jan 7, 2012
Messages
155
Reaction score
22
The most Javascripts are located in

Code:
http://images.habbo.com/habboweb/{webbuild}/web-gallery/static/js/{file}.js

and CSS files here

Code:
http://images.habbo.com/habboweb/{webbuild}/web-gallery/styles/{file}.css
http://images.habbo.com/habboweb/{webbuild}/web-gallery/static/styles/{file}.css

I guess.
 
Last edited:
Joined
Apr 28, 2010
Messages
2,794
Reaction score
1,178
Ah, are you using Curl, its pretty decent tho, nice job!
Maybe add some server side Caching?

Not using Curl.

Never thought about any caching just because.. it's a simple procedure. I could see if it was more complicated to do all of this, or the resources changed around quite a bit because then I would cache it and host an archive for old and new resource files. That may be the next feature!

The most Javascripts are located in

Code:
http://images.habbo.com/habboweb/{webbuild}/web-gallery/static/js/{file}.js

and CSS files here

Code:
http://images.habbo.com/habboweb/{webbuild}/web-gallery/styles/{file}.css

I guess.

Ok, the script can now determine which directory the css file is in and post it.

I'll do the same for images because I know there's a bunch of image directories!

Thanks to NathandJ for the help.
 
Last edited:
"(still lacks brains)"
Loyal Member
Joined
Sep 2, 2011
Messages
2,371
Reaction score
1,361
My comment is in this MSN conversation between me and Makarov.

blub blub blub;

Ash - ησвяαιη says
would be slower because of everyone using yours
habbo has multiple servers
you have 1.
Кобе Макаров says
Truely enough you hater.
Ash - ησвяαιη says
not hating
just saying
Кобе Макаров says
ik
But erm
Ash - ησвяαιη says
hehe, gonna post this...
Кобе Макаров says
Atleast habbo can't detect who's leching!!
lkajf;sdlkjfd
Ash - ησвяαιη says
truuuueeeee
Кобе Макаров says
i keel u
 
Status
Not open for further replies.
Back
Top