JontyCat's UberCDN script

Results 1 to 6 of 6
  1. #1
    Apprentice Dinoo is offline
    MemberRank
    Nov 2011 Join Date
    17Posts

    JontyCat's UberCDN script

    #3765395 - Pastie

    PHP Code:
    <?php
    /*=======================================================================
    | UberCMS - Advanced Website and Content Management System for uberEmu
    | #######################################################################
    | Copyright (c) 2010, Roy 'Meth0d'
    | http://www.meth0d.org
    | #######################################################################
    | This program is free software: you can redistribute it and/or modify
    | it under the terms of the GNU General Public License as published by
    | the Free Software Foundation, either version 3 of the License, or
    | (at your option) any later version.
    | #######################################################################
    | This program is distributed in the hope that it will be useful,
    | but WITHOUT ANY WARRANTY; without even the implied warranty of
    | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    | GNU General Public License for more details.
    \======================================================================*/
    /********** Leaked by F-H and Habless ***************/
    /***************** JONTYS WORK!!! *******************/


        
    class ZapDataNetwork
        
    {
            
    // Function to check if a cdn is offline. Use IP or http:// method for fsockopen as $link.
            
    public function CDNOnline($link)
            {
                if(@
    fsockopen($link80$errno$errstr1)) // Check if the connection fails
                
    {
                    return 
    true// Connection suceeded
                
    }
                return 
    false// Connection failed
            
    }
            
            
    // Function to serve a CDN to each user
            
    public function AssignCDN()
            {            
                
    $this->cdn['1'] = "216.245.199.186"// Force Hotel & Open Habbo CDN
                
    $this->cdn['2'] = "63.143.42.42"// Habless Hotel CDN
                
    $this->cdn['3'] = "216.144.255.246"// Zap Hotel CDN
                
                
    $this->result rand(23);
                
                
    // Lets check if the servers are online, and assign a server for users as they show up.
                
    if($this->result == '1' && !$this->CDNOnline($this->cdn['1']))
                {
                    
    $this->result '2';
                }
                else if(
    $this->result == '2' && !$this->CDNOnline($this->cdn['2']))
                {
                    
    $this->result '3';
                }
                else if(
    $this->result == '3' && !$this->CDNOnline($this->cdn['3']))
                {
                    
    $this->result '1';
                }
                
                
    // Return the CDN for the user
                
    return 'cdn' $this->result '.zaphotel.net';
                
            }        
        }
        
    /*************************** UBER CODE FROM HERE *************************/
    class uberTpl
    {
        private 
    $outputData;
        private 
    $params = Array();
        private 
    $includeFiles = Array();
            
        public function 
    Init()
        {
            global 
    $core$users$cdn;
            
            
    /*##############################################
            #| CDN Server for uber by Jonteh
            #| For use by Zap, Habless, Open & Fatal ONLY!
            ###############################################*/
            
            
    $this->cdn $cdn->AssignCDN() . "/cdn";
            
    $this->hotel "habless.org";
            
            
    $this->SetParam('cdn'$this->cdn);
            
    $this->SetParam('hotel'$this->hotel);
            
    $this->SetParam('web_build''web.build');
            
    $this->SetParam('swfdir'$this->cdn '/habless.org/swfs');
            
    $this->SetParam('gddir'$this->cdn '/habless.org/gamedata');
            
    // *************************************************************************************************
            
    $this->SetParam('''Habless');
            
    $this->SetParam('body_id''');
            
    $this->SetParam('page_title'' ');
            
    $this->SetParam('flash_build''');
            
    $this->SetParam('web_build_str''');
            
    $this->SetParam('req_path'WWW);
            
    $this->SetParam('www'WWW);
            
    $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);
                
    $this->SetParam('vipbalance''<b>' $users->GetUserVar(USER_ID'vip_points') . ' <img src="' WWW '/images/vipcoin.gif" style="vertical-align: middle;"></b>');
            }
            else
            {
                
    $this->SetParam('habboLoggedIn''false');
                
    $this->SetParam('habboName''null');
            }
        }
            
        public function 
    AddIncludeSet($set)
        {
            switch (
    strtolower($set))
            {
                case 
    "frontpage":
                
                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://%cdn%/%hotel%/%web_build%/web-gallery/static/js/libs2.js'));
                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://%cdn%/%hotel%/%web_build%/web-gallery/static/js/landing.js'));
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/styles/frontpage.css''stylesheet'));            
                    break;
                    
                case 
    "register":

                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://%cdn%/%hotel%/%web_build%/web-gallery/static/js/visual.js'));
                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://%cdn%/%hotel%/%web_build%/web-gallery/static/js/common.js'));            
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/styles/style.css''stylesheet'));        
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/styles/buttons.css''stylesheet'));    
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/styles/boxes.css''stylesheet'));    
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/styles/tooltips.css''stylesheet'));
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/styles/embeddedregistration.css''stylesheet'));
                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://cdn3.zaphotel.net/cdn/%hotel%/%web_build%/web-gallery/static/js/simpleregistration.js'));
                    break;

                case 
    "homes":

                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/static/styles/common.css''stylesheet'));                        
                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://%cdn%/%hotel%/%web_build%/web-gallery/static/js/libs2.js'));
                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://%cdn%/%hotel%/%web_build%/web-gallery/static/js/visual.js'));
                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://%cdn%/%hotel%/%web_build%/web-gallery/static/js/libs.js'));
                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://%cdn%/%hotel%/%web_build%/web-gallery/static/js/common.js'));
                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://%cdn%/%hotel%/%web_build%/web-gallery/static/js/fullcontent.js'));
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/static/styles/home.css''stylesheet'));            
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://zaphotel.net/myhabbo/styles/assets/other.css''stylesheet'));            
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://zaphotel.net/myhabbo/styles/assets/backgrounds.css''stylesheet'));            
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://zaphotel.net/myhabbo/styles/assets/stickers.css''stylesheet'));            
                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://%cdn%/%hotel%/%web_build%/web-gallery/static/js/homeview.js'));
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/static/styles/lightwindow.css''stylesheet'));            
                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://%cdn%/%hotel%/%web_build%/web-gallery/static/js/homeauth.js'));
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/static/styles/group.css''stylesheet'));            

                    break;
            
                case 
    "process-template":
                
                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://%cdn%/%hotel%/%web_build%/web-gallery/static/js/libs2.js'));
                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://%cdn%/%hotel%/%web_build%/web-gallery/static/js/visual.js'));
                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://%cdn%/%hotel%/%web_build%/web-gallery/static/js/libs.js'));
                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://%cdn%/%hotel%/%web_build%/web-gallery/static/js/common.js'));
                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://%cdn%/%hotel%/%web_build%/web-gallery/static/js/fullcontent.js'));
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/styles/style.css''stylesheet'));        
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/styles/buttons.css''stylesheet'));    
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/styles/boxes.css''stylesheet'));    
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/styles/tooltips.css''stylesheet'));    
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/styles/process.css''stylesheet'));    
                    break;
                    
                case 
    'myhabbo':
                
                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://%cdn%/%hotel%/%web_build%/web-gallery/static/js/libs2.js'));
                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://%cdn%/%hotel%/%web_build%/web-gallery/static/js/visual.js'));
                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://%cdn%/%hotel%/%web_build%/web-gallery/static/js/libs.js'));
                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://%cdn%/%hotel%/%web_build%/web-gallery/static/js/common.js'));
                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://%cdn%/%hotel%/%web_build%/web-gallery/static/js/fullcontent.js'));
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/styles/style.css''stylesheet'));        
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/styles/buttons.css''stylesheet'));    
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/styles/boxes.css''stylesheet'));    
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/styles/tooltips.css''stylesheet'));                
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/styles/myhabbo/myhabbo.css''stylesheet'));
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/styles/myhabbo/skins.css''stylesheet'));
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/styles/myhabbo/dialogs.css''stylesheet'));
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/styles/myhabbo/buttons.css''stylesheet'));
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/styles/myhabbo/control.textarea.css''stylesheet'));
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/styles/myhabbo/boxes.css''stylesheet'));
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/styles/myhabbo.css''stylesheet'));
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/myhabbo/styles/assets.css''stylesheet'));
                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://%cdn%/%hotel%/%web_build%/web-gallery/static/js/homeview.js'));
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/styles/lightwindow.css''stylesheet'));
                    break;
                
                case 
    'default':
                default:
                
                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://%cdn%/%hotel%/%web_build%/web-gallery/static/js/libs2.js'));
                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://%cdn%/%hotel%/%web_build%/web-gallery/static/js/visual.js'));
                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://%cdn%/%hotel%/%web_build%/web-gallery/static/js/libs.js'));
                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://%cdn%/%hotel%/%web_build%/web-gallery/static/js/common.js'));
                    
    $this->AddIncludeFile(new IncludeFile('text/javascript''http://%cdn%/%hotel%/%web_build%/web-gallery/static/js/fullcontent.js'));
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/styles/style.css''stylesheet'));        
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/styles/buttons.css''stylesheet'));    
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/styles/boxes.css''stylesheet'));    
                    
    $this->AddIncludeFile(new IncludeFile('text/css''http://%cdn%/%hotel%/%web_build%/web-gallery/styles/tooltips.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 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/css':
                default:
                
                    return 
    '<link rel="' $this->rel '" href="' $this->src '" type="' $this->type '" />';
            }
        }
    }

    ?>
    Last edited by Dinoo; 11-04-12 at 03:05 AM.


  2. #2
    Ultra Light Beam Makarov is offline
    MemberRank
    Apr 2010 Join Date
    GothamLocation
    3,622Posts

    re: JontyCat's UberCDN script

    This is a leak of Jonty's full CDN class..
    Last edited by Makarov; 11-04-12 at 03:08 AM.

  3. #3
    Thanks for the memories! Mithex is offline
    MemberRank
    May 2010 Join Date
    HeavenLocation
    2,014Posts

  4. #4
    Ultra Light Beam Makarov is offline
    MemberRank
    Apr 2010 Join Date
    GothamLocation
    3,622Posts

    Re: JontyCat's UberCDN script

    It may have SOME duplicate code, but it does have some more code!

  5. #5
    Thanks for the memories! Mithex is offline
    MemberRank
    May 2010 Join Date
    HeavenLocation
    2,014Posts

    Re: JontyCat's UberCDN script

    Arnt they basically the same thing, just this one works with Uber while the ZapCDN is for ZapCMS

  6. #6
    :joy: Jonteh is offline
    MemberRank
    Apr 2007 Join Date
    New York, USALocation
    3,372Posts

    Re: JontyCat's UberCDN script

    Already released.

    Nice attempt at a leak, but still a fail! :)

    Quote Originally Posted by Makarov View Post
    It may have SOME duplicate code, but it does have some more code!
    The reason it has more code is when I was the technician at Habless for 8 months, I was always so busy with all the demands he gave me that I just added the class on the top of the tpl class instead of making a new file.

    This must have been recovered when Muscab & Kevin hacked my CloudFlare account today, they must have thought they'd fuck me entirely by releasing a private script...

    This script is poorly coded and doesn't actually serve as a CDN class at all. Have no idea what I was thinking when I coded it tbh

    Nice release Will, too bad you have no idea how to read it



Advertisement