81
wishcraft
Xoops 2.5: Complexity Theme v1.2.8

Resized Image
Chronolabs Cooperative Proudly Presents

for XOOPS 2.5
Complexity Theme v1.2.8
Resized Image

Demo of theme:http://2.5.xoops.themes.labs.coop/?xoops_theme_select=complexity

Introduction to Complexity Theme

Complexity is a complete theme, it includes features that need to be studied by theme designer to be incorporated into their theme designs including the following features:~

  • Social Network Meta Tags
  • Anti-keyword Stuffing (SEO)
  • iOS Iconographic Tags (So Icons Appear on iPhone all macintosh)
  • CSS3 Gradients and Highlights
  • CSS3 Rounded Edges
  • CSS3 Text and Object Shadows
  • Correct File Implementations
  • No Jugganaut Single CSS use of @import()


This theme was developed for the love of the XOOPS Community and broader themery; to explain some of the features I will first go into meta tagging for facebook and third party references to the site you have to include in your meta tags the following lines, to force your site logo if there is no image as well as in the google index and search engines (Which you can seehttp://au.syd.labs.coop does with the icon etc herehttps://www.google.com.au/?gws_rd=ssl#q=site:labs.coop) they are:-

Quote:

<meta property="og:title" content=""/>
<meta property="og:type" content=""/>
<meta property="og:image" content=""/>
<meta property="og:url" content="" />
<meta property="og:site_name" content=""/>


As well as the apple touch icon meta tags in the icons, these are in particular sizes and need to be PNG images for all touch buttons like book marks and save references in macintosh; otherwise you get the default icon, these three lines are:-

Quote:

<link rel="apple-touch-icon" href="">
<link rel="apple-touch-icon" sizes="72x72" href="">
<link rel="apple-touch-icon" sizes="114x114" href="">


There is also the following code in the meta keyword which stops keyword stuffing, that is the repeatative use of the same keywords on every page of your site this will lower you SEO Score with search engines the following code you will find in the meta template in the theme:-

Quote:

<meta name="keywords" content="<{php}>
$search = array(' with ', ' and ', ' the ', ' there ', ' their ', ' they\'re ', ' are ', ' to ', ' when ', ' on ', ' by ', ' you ',' ','.','','"',';',':','}','{','[',']','|','\\','/','=','+','-','_',')','(','*','&','^','%','$','#','@','!','~','`');
$minimumwordlen = 3;
// Gets Meta Data
$path = str_replace($search, ',', str_replace(basename($_SERVER['REQUEST_URI']), '', $_SERVER['REQUEST_URI']));
$sitename = htmlspecialchars_decode($this->_tpl_vars['xoops_sitename']);
$slogon = htmlspecialchars_decode($this->_tpl_vars['xoops_slogan']);
$pagetitle = htmlspecialchars_decode($this->_tpl_vars['xoops_pagetitle']);
$keywords = htmlspecialchars_decode($this->_tpl_vars['xoops_meta_keywords']);
$description = htmlspecialchars_decode($this->_tpl_vars['xoops_meta_description']);
// Makes Unique Keyword Sentence with NO KEYPHRASES - A KEY PHRASE IS AN INCORRECT USE OF THE META TAG 'KEYWORDS' that is singlar words a KEYWORD not a sentence or phrase
$nophrase = str_replace($search, ',', $path.str_replace($search, ',', $sitename).','.str_replace($search, ',', $slogon).','.str_replace($search, ',', $pagetitle).','.str_replace($search, ',', $keywords).','.str_replace($search, ',', $description));
$keywords = array_unique(explode(',', $nophrase));
foreach($keywords as $id => $word) {
if (strlen($word)<$minimumwordlen||is_numeric($word)) {
unset($keywords[$id]);
}
}
echo implode(', ', $keywords);<{/php}>" />


Download Complexity Theme

* xoops2.5_theme_complexity_v1.2.8.7z ~ 2.8Mb
* xoops2.5_theme_complexity_v1.2.8.rar ~ 2.8Mb
* xoops2.5_theme_complexity_v1.2.8.tar.gz ~ 2.8Mb
* xoops2.5_theme_complexity_v1.2.8.zip ~ 2.8Mb

Reporting Complexity Theme Bug

If you do find a bug in the theme and need it fixed please used our tickets support on sourceforge at the following URL:~http://sourceforge.net/p/chronolabs/tickets/milestone/XOOPS%20Themes/



82
wishcraft
Re: @upgrade::- Hooking Stratum Preloaders by Trabis and Myself need to be exploited!!

Quote:
Dude, use the current source on GitHub :) The sourceforge code is moldy -- lots of changes since then.


I have a problem with using GitHub, for starters as the Module Team Leader I do not have access, also we are supported and one of the few projects that Sourceforge.net feature, for one reason, there total interface is made from XOOPS 1.

Also GitHub is sourceforge competitor, as well as git being available on Sourceforge.net which are a strong sponsor of us and we should be using Git on Sourceforge, can you give me access to the GitHub so I can start working on the modules for 2.6? I will set up a username now which is - LabsDotCoop

Just a thought I really think we should be using the git on source-forge, otherwise I am happy to migrate the modules to each unique GitHubs for Each one if necessary.

Quote:
If you put this hook in to Model\Read you would never be able to trust the expected return from anything. Any installed module would be able to interfere with any handler no matter if it was the active module or not. Sounds like a free for all that could get unstable very easily, and that is not good.


Actually that is not the case, the purpose of reporting the for example 'table' name reported by the persistence is part of the reason, part the reason for the method one is to do the following for example in the XoopsModelRead::GetAll() from /class/model/read.php function, so if needed it can be event hooked by a preloader in those unique scenarios, I found like in multisite (Which I really think you should implement in the code as it is a great hack I found that can be done to allow for multiple session on domain and sub-domain’s please look at it, there where alot of demand in the forum previous to implement my multisite hack in the system and the core back when I was both in module teams and the core development of XOOPS 2.4)

Just looking at the example given for XoopsPreloader::triggerMethod() it really needs to look like so:-
/**
     * Triggers a specific function or method with variable of return
     *
     * @param $event_name string Name of the event to trigger
     * @param $args array Method arguments
     *
     * @return void
     */
    
function triggerMethod($method_name ''$function ''$class ''$dbtable 'default'$arga NULL$argb NULL$argc NULL$argd NULL$arge NULL$argf NULL$argg NULL$argh NULL$argj NULL)
    {
        if (!
is_null($argj))
            
$args "j";
        elseif (!
is_null($argh) && is_null($argj))
            
$args "h";
        elseif (!
is_null($argg) && is_null($argh))
            
$args "g";
        elseif (!
is_null($argf) && is_null($argg))
            
$args "f";
        elseif (!
is_null($arge) && is_null($argf))
            
$args "e";
        elseif (!
is_null($argd) && is_null($arge))
            
$args "d";
        elseif (!
is_null($argc) && is_null($argd))
            
$args "c";
        elseif (!
is_null($argb) && is_null($argc))
            
$args "b";
        elseif (!
is_null($arga) && is_null($argb))
            
$args "a";
        else
            
$args "-";
        
$method_name strtolower(str_replace('.'''$method_name)) . strtolower(str_replace('.'''$function)) . strtolower(str_replace('.'''$class)) .;
        if (isset(
$this->_routines[$method_name])) {
            foreach (
$this->_routines[$method_name] as $event) {
                try {
                    switch (
$args)
                    {
                        case 
"j":
                            return 
call_user_func(array($event['class_name'], $event['method']), $dbtable$arga$argb$argc$argd$arge$argf$argg$arge$argj);
                            break;
                        case 
"h":
                            return 
call_user_func(array($event['class_name'], $event['method']), $dbtable$arga$argb$argc$argd$arge$argf$argg$argh);
                            break;
                        case 
"g":
                            return 
call_user_func(array($event['class_name'], $event['method']), $dbtable$arga$argb$argc$argd$arge$argf$argg);
                            break;
                        case 
"f":
                            return 
call_user_func(array($event['class_name'], $event['method']), $dbtable$arga$argb$argc$argd$arge$argf);
                            break;
                        case 
"e":
                            return 
call_user_func(array($event['class_name'], $event['method']), $dbtable$arga$argb$argc$argd$arge);
                            break;
                        case 
"d":
                            return 
call_user_func(array($event['class_name'], $event['method']), $dbtable$arga$argb$argc$argd);
                            break;
                        case 
"c":
                            return 
call_user_func(array($event['class_name'], $event['method']), $dbtable$arga$argb$argc);
                            break;
                        case 
"b":
                            return 
call_user_func(array($event['class_name'], $event['method']), $dbtable$arga$argb);
                            break;
                        case 
"a":
                            return 
call_user_func(array($event['class_name'], $event['method']), $dbtable$arga);
                            break;
                        default:
                            return 
call_user_func(array($event['class_name'], $event['method']), $dbtable);
                            break;
                    }
                    
                }
                catch(
Exception $err)
                {
                    
trigger_error("Preload Function Hooking Error: ".$event['class_name']."::".$event['method'] . " ~ $err"E_RECOVERABLE_ERROR);
                }
            }
        }


Just looking at the example given for XoopsModelRead::GetAll() + XoopsModelRead::GetObjects() it really needs to look like so:-
/**
     * get all objects matching a condition
     *
     * @param object $criteria {@link CriteriaElement} to match
     * @param array $fields variables to fetch
     * @param bool $asObject flag indicating as object, otherwise as array
     * @param bool $id_as_key use the ID as key for the array
     * @return array of objects/array {@link XoopsObject}
     */
    
function &getAll($criteria null$fields null$asObject true$id_as_key true)
    {
        
XoopsLoad::load('preload');
        
$xoopsPreload =& XoopsPreload::getInstance();
        
$criteria $xoopsPreload->triggerMethod('core.class.model.criteria'__FUNCTION____CLASS__$this->table$criteria, &$fields, &$asObject, &$id_as_key);
        
$fields $xoopsPreload->triggerMethod('core.class.model.fields'__FUNCTION____CLASS__$this->table$criteria, &$fields, &$asObject, &$id_as_key);
        if (
is_array($fields) && count($fields) > 0) {
            if (!
in_array($this->handler->keyName$fields)) {
                
$fields[] = $this->handler->keyName;
            }
            
$select "`" implode("`, `"$fields) . "`";
        } else {
            
$select "*";
        }
        
$limit null;
        
$start null;
        
$sql "SELECT {$select} FROM `{$this->handler->table}`";
        if (isset(
$criteria) && is_subclass_of($criteria"criteriaelement")) {
            
$sql .= " " $criteria->renderWhere();
            if (
$groupby $criteria->getGroupby()) {
                
$sql .= $groupby;
            }
            if (
$sort $criteria->getSort()) {
                
$sql .= " ORDER BY {$sort} " $criteria->getOrder();
                
$orderSet true;
            }
            
$limit $criteria->getLimit();
            
$start $criteria->getStart();
        }
        if (empty(
$orderSet)) {
            
//$sql .= " ORDER BY `{$this->handler->keyName}` DESC";
        
}
        
$result $this->handler->db->query($sql$limit$start);
        
$ret = array();
        if (
$asObject) {
            while (
$myrow $this->handler->db->fetchArray($result)) {
                
$object =& $this->handler->create(false);
                
$object->assignVars($myrow);
                if (
$id_as_key) {
                    
$ret[$myrow[$this->handler->keyName]] = $object;
                } else {
                    
$ret[] = $object;
                }
                unset(
$object);
            }
        } else {
            
$object =& $this->handler->create(false);
            while (
$myrow $this->handler->db->fetchArray($result)) {
                
$object->assignVars($myrow);
                if (
$id_as_key) {
                    
$ret[$myrow[$this->handler->keyName]] = $object->getValues(array_keys($myrow));
                } else {
                    
$ret[] = $object->getValues(array_keys($myrow));
                }
            }
            unset(
$object);
        }
        return 
$xoopsPreload->triggerMethod('core.class.model.return'__FUNCTION____CLASS__$this->table$ret);;
    }

    
/**
     * retrieve objects from the database
     *
     * For performance consideration, getAll() is recommended
     *
     * @param object $criteria {@link CriteriaElement} conditions to be met
     * @param bool $id_as_key use the ID as key for the array
     * @param bool $as_object return an array of objects?
     * @return array
     */
    
function &getObjects($criteria null$id_as_key false$as_object true)
    {
        
XoopsLoad::load('preload');
        
$xoopsPreload =& XoopsPreload::getInstance();
        
$criteria $xoopsPreload->triggerMethod('core.class.model.criteria'__FUNCTION____CLASS__$this->table$criteria, &$fields, &$asObject, &$id_as_key);
        
$objects $this->getAll($criterianull$as_object$id_as_key);
        return 
$xoopsPreload->triggerMethod('core.class.model.return'__FUNCTION____CLASS__$this->table$objects);
    }


The reason I need these changes made is the event hook stratum was my concept that I got trabis to implement who only did a small property of the total events on the core that needed to be hooked!

The purpose of an event hook is so all facilities of the core is reachable by the module development so any feature, query, question or otherwise can be some how determined and altered should it be needed!!

The purpose if you understand is fluid dynamics of the code, this means, to do some features in the core it become static and doesn't need to be later altered by module developers having to distribute the core files to replace, this triggerMethod() needs to go through all the functions as well as there needs to be functioning on function __destruct() as well as function __construct() with all the core classes the following preloader running:-

function __construct()
    {
        
XoopsLoad::load('preload');
        
$xoopsPreload =& XoopsPreload::getInstance();
        
$xoopsPreload->triggerEvent('core.class.construct.'.strtolower(__CLASS__), array($this));
    }

    function 
__destruct()
    {
        
XoopsLoad::load('preload');
        
$xoopsPreload =& XoopsPreload::getInstance();
        
$xoopsPreload->triggerEvent('core.class.destruct.'.strtolower(__CLASS__), array($this));
    }


Cause these are components of events that all classes have that are missing!!

One thing you will notice is if you look at XoopsPreloader::setPreloads() is the ataption of preloaders for themes, this is a functional requirement as it need's to be in all facite of the events system as an eventing hooker (Which is how microsoft stuff works actually with Event Hooks for CPU MIPS)

/**
     * Get available preloads information and set them to go!
     *
     * @return void
     */
    
function setPreloads()
    {
        
//$modules_list = XoopsLists::getDirListAsArray(XOOPS_ROOT_PATH . "/modules/");
        
if ($modules_list XoopsCache::read('system_modules_active')) {
            
$i 0;
            foreach (
$modules_list as $module) {
                if (
is_dir($dir XOOPS_ROOT_PATH "/modules/{$module}/preloads/")) {
                    
$file_list XoopsLists::getFileListAsArray($dir);
                    foreach (
$file_list as $file) {
                        if (
preg_match('/(.php)$/i'$file)) {
                            
$file substr($file0, -4);
                            
$this->_preloads[$i]['module'] = $module;
                            
$this->_preloads[$i]['file'] = $file;
                            
$i++;
                        }
                    }
                }
            }
            if (isset(
$GLOBALS["xoopsConfig"]['theme_set']))
            {
                
$theme $GLOBALS["xoopsConfig"]['theme_set'];
                if (
is_dir($dir XOOPS_ROOT_PATH "/themes/{$theme}/preloads/")) {
                    
$file_list XoopsLists::getFileListAsArray($dir);
                    foreach (
$file_list as $file) {
                        if (
preg_match('/(.php)$/i'$file)) {
                            
$file substr($file0, -4);
                            
$this->_preloads[$i]['theme'] = $theme;
                            
$this->_preloads[$i]['file'] = $file;
                            
$i++;
                        }
                    }
                }
            }
        }


I will continue my response in the next thread this is getting length.. but thanks for your reply so far geekwrite!!

Btw, geek write you want an invisible spot to mail from can you and the other team member send me 2 postcards to create a divine handshake - upto 5 days apart with a return either email or snail mail address for an @extraterrestrialmail.com - 500Mb Imap/pop3 mail box my snail mail address for one postcard with your always assumed password with Labs.coop as well as your return mail address and email address to:

Quote:

Chronolabs Cooperative
Unit Ten
466 Illawarra Rd
Marrickville South, NSW, 2204
Australia


Make sure they are identical SO I know they are yours the post card, I have upto 50 Email address, I will be paying for a year supply, if you also want a forwarder on it specify it in the second postcard, and the email address you want the forwarder, separate from the first postcard with your email, return mail so i can send you the server setting in the snail mail and.. at least in some kind of order, just make sure the postcard for the postcardware email box is identical so they match up, mine is leshy@extraterrestrialmail.com



83
wishcraft
Re: @upgrade::- Hooking Stratum Preloaders by Trabis and Myself need to be exploited!!

Replacement for the Events handler to included a function/method handler as well for the events hooking stratums as well as by design to include preloads in theme as well the following class preloads.php need to be changed to so:~

class/preloads.php
class XoopsPreload
{
    
/**
     * @var array $_preloads array containing information about the event observers
     */
    
var $_preloads = array();

    
/**
     * @var array $_routines array containing the events that are being observed
     */
    
var $_routines = array();
    
    
/**
     * Constructor
     *
     * @return    void
     */
    
function XoopsPreload()
    {
        
$this->setPreloads();
        
$this->setEvents();
    }

    
/**
     * Allow one instance only!
     *
     * @return object
     */
    
static function &getInstance()
    {
        static 
$instance false;
        if (!
$instance) {
            
$instance = new XoopsPreload();
        }
        return 
$instance;
    }

    
/**
     * Get available preloads information and set them to go!
     *
     * @return void
     */
    
function setPreloads()
    {
        
//$modules_list = XoopsLists::getDirListAsArray(XOOPS_ROOT_PATH . "/modules/");
        
if ($modules_list XoopsCache::read('system_modules_active')) {
            
$i 0;
            foreach (
$modules_list as $module) {
                if (
is_dir($dir XOOPS_ROOT_PATH "/modules/{$module}/preloads/")) {
                    
$file_list XoopsLists::getFileListAsArray($dir);
                    foreach (
$file_list as $file) {
                        if (
preg_match('/(.php)$/i'$file)) {
                            
$file substr($file0, -4);
                            
$this->_preloads[$i]['module'] = $module;
                            
$this->_preloads[$i]['file'] = $file;
                            
$i++;
                        }
                    }
                }
            }
            if (isset(
$GLOBALS["xoopsConfig"]['theme_set']))
            {
                
$theme $GLOBALS["xoopsConfig"]['theme_set'];
                if (
is_dir($dir XOOPS_ROOT_PATH "/themes/{$theme}/preloads/")) {
                    
$file_list XoopsLists::getFileListAsArray($dir);
                    foreach (
$file_list as $file) {
                        if (
preg_match('/(.php)$/i'$file)) {
                            
$file substr($file0, -4);
                            
$this->_preloads[$i]['theme'] = $theme;
                            
$this->_preloads[$i]['file'] = $file;
                            
$i++;
                        }
                    }
                }
            }
        }
    }

    
/**
     * Get available events and set them to go!
     *
     * @return void
     */
    
function setEvents()
    {
        foreach (
$this->_preloads as $preload) {
            if (isset(
$preload['module']))
            {
                include_once 
XOOPS_ROOT_PATH '/modules/' $preload['module'] . '/preloads/' $preload['file']. '.php';
                
$class_name ucfirst($preload['module']) . ucfirst($preload['file']) . 'Preload' ;
                if (!
class_exists($class_name)) {
                    continue;
                }
            } elseif (isset(
$preload['theme']))    { 
                include_once 
XOOPS_ROOT_PATH '/themes/' $preload['theme'] . '/preloads/' $preload['file']. '.php';
                
$class_name ucfirst($preload['theme']) . ucfirst($preload['file']) . 'Preload' ;
                if (!
class_exists($class_name)) {
                    continue;
                }
            }
            
$class_methods get_class_methods($class_name);
            foreach (
$class_methods as $method) {
                if (
strpos($method'event') === 0) {
                    
$event_name strtolower(str_replace('event'''$method));
                    
$event= array('class_name' => $class_name'method' => $method);
                    
$this->_routines[$event_name][] = $event;
                }
            }
        }
    }

    
/**
     * Triggers a specific event
     *
     * @param $event_name string Name of the event to trigger
     * @param $args array Method arguments
     *
     * @return void
     */
    
function triggerEvent($event_name$args = array())
    {
        
$event_name strtolower(str_replace('.'''$event_name));
        if (isset(
$this->_routines[$event_name])) {
            foreach (
$this->_routines[$event_name] as $event) {
                try {
                    
call_user_func(array($event['class_name'], $event['method']), $args);
                }
                catch(
Exception $err)
                {
                    
trigger_error("Preload Event Hooking Error: ".$event['class_name']."::".$event['method'] . " ~ $err"E_RECOVERABLE_ERROR);
                }
            }
        }
    }
    
    
/**
     * Triggers a specific function or method with variable of return
     *
     * @param $event_name string Name of the event to trigger
     * @param $args array Method arguments
     *
     * @return void
     */
    
function triggerMethod($method_name ''$dbtable 'default'$arga NULL$argb NULL$argc NULL$argd NULL$arge NULL$argf NULL$argg NULL$argh NULL$argj NULL)
    {
        if (!
is_null($argj))
            
$args "j";
        elseif (!
is_null($argh) && is_null($argj))
            
$args "h";
        elseif (!
is_null($argg) && is_null($argh))
            
$args "g";
        elseif (!
is_null($argf) && is_null($argg))
            
$args "f";
        elseif (!
is_null($arge) && is_null($argf))
            
$args "e";
        elseif (!
is_null($argd) && is_null($arge))
            
$args "d";
        elseif (!
is_null($argc) && is_null($argd))
            
$args "c";
        elseif (!
is_null($argb) && is_null($argc))
            
$args "b";
        elseif (!
is_null($arga) && is_null($argb))
            
$args "a";
        else
            
$args "-";
        
$method_name strtolower(str_replace('.'''$method_name));
        if (isset(
$this->_routines[$method_name])) {
            foreach (
$this->_routines[$method_name] as $event) {
                try {
                    switch (
$args)
                    {
                        case 
"j":
                            return 
call_user_func(array($event['class_name'], $event['method']), $dbtable$arga$argb$argc$argd$arge$argf$argg$arge$argj);
                            break;
                        case 
"h":
                            return 
call_user_func(array($event['class_name'], $event['method']), $dbtable$arga$argb$argc$argd$arge$argf$argg$argh);
                            break;
                        case 
"g":
                            return 
call_user_func(array($event['class_name'], $event['method']), $dbtable$arga$argb$argc$argd$arge$argf$argg);
                            break;
                        case 
"f":
                            return 
call_user_func(array($event['class_name'], $event['method']), $dbtable$arga$argb$argc$argd$arge$argf);
                            break;
                        case 
"e":
                            return 
call_user_func(array($event['class_name'], $event['method']), $dbtable$arga$argb$argc$argd$arge);
                            break;
                        case 
"d":
                            return 
call_user_func(array($event['class_name'], $event['method']), $dbtable$arga$argb$argc$argd);
                            break;
                        case 
"c":
                            return 
call_user_func(array($event['class_name'], $event['method']), $dbtable$arga$argb$argc);
                            break;
                        case 
"b":
                            return 
call_user_func(array($event['class_name'], $event['method']), $dbtable$arga$argb);
                            break;
                        case 
"a":
                            return 
call_user_func(array($event['class_name'], $event['method']), $dbtable$arga);
                            break;
                        default:
                            return 
call_user_func(array($event['class_name'], $event['method']), $dbtable);
                            break;
                    }
                    
                }
                catch(
Exception $err)
                {
                    
trigger_error("Preload Function Hooking Error: ".$event['class_name']."::".$event['method'] . " ~ $err"E_RECOVERABLE_ERROR);
                }
            }
        }
    }
}


This lists' the changes to the XoopsPreload that need to be made!!



84
wishcraft
Sexting version 1.2.8 - XOOPS 2.5

--: Chronolabs Presents :--

Sexting version 1.2.8
XOOPS 2.5 Theme

Resized Image

This theme covers both the HTML older and HTML5 Social meta tags as well as addresses keyword SEO Scoring with some script too prevent keyword stuffing, that is having to many repeated keyword commonalities.

It also explores embedded PHP; this is to cover the outlay and correct minimal element html tagging standard for all THEMING!! Some to generate some beautiful gradients as well as being open and ready to use download today:-

Demo:-http://2.5.xoops.themes.labs.coop (Coming Soon)

Download:- xoops2.5_theme_v1.2.8_sexting.7z ! xoops2.5_theme_v1.2.8_sexting.rar ! xoops2.5_theme_v1.2.8_sexting.tar.bz2 ! xoops2.5_theme_v1.2.8_sexting.tar.gz ! xoops2.5_theme_v1.2.8_sexting.zip ! xoops2.5_theme_v1.2.8_sexting.zoo



85
wishcraft
@blowfish :: Encryption Requirement

We need to provided user sessioning blowfish encryption support and protection; this is a often congruent hash or piece of data that is used to salted the encryption; I suggest we provide the salt on the session via a discovery service; through the headers; so if any external site uses it; it get it from cURL headers when scrapping a XOOPS Site!


This example is how it would work:- XOOPS_LICENCE_KEY is the system salt; this is the blowfish salt!

$parts explode("."microtime(true));
    
mt_srand(mt_rand(-microtime(true), microtime(true))/$parts[1]);
    
mt_srand(mt_rand(-microtime(true), microtime(true))/$parts[1]);
    
mt_srand(mt_rand(-microtime(true), microtime(true))/$parts[1]);
    
mt_srand(mt_rand(-microtime(true), microtime(true))/$parts[1]);
    if (!
session_id())
        
session_start();
    if (!isset(
$_SESSION['xoops_session_salt']))
        
$_SESSION['xoops_session_salt'] = sha1((float)(mt_rand(0,1)==1?'':'-').$parts[1].'.'.$parts[0]) / sqrt((float)$parts[1].'.'.intval(cosh($parts[0])))*tanh($parts[1]) * mt_rand(1intval($parts[0] / $parts[1])).XOOPS_LICENCE_KEY);
    if (!
headers_sent())
                  
header('Xoops-Blowfish-Salt: '$_SESSION['xoops_session_salt']);


This would be built normally into class/xoopssecurity.php



86
wishcraft
XOOPS Signed 2.1.9 ~ Final Major Release Candidate (Testing and Translations Required!!)

Chronolabs Cooperative Presents!

XOOPS Signed 2.1.9 ~ Final Major Release
Pseudolegal Document Binding Online - With Discoverable API!

Demo:http://signed.2.5.xoops.demo.labs.coop



Features:

  • Revolving File Key Store

  • IDentification Storage and Capture

  • Full Right to view Suffix and Prefix names

  • Individual Signatures

  • Organisational Signatures

  • Transposition File Store - No Database

  • Discoverable API

  • Multi-lingugal (Translation Required)

  • Unsigning/Resigning API



Warning: DUE To the divination method of the XCP Checksum with locks; if you generate with the standard formula in here your other certificate types like LABSCOOP-DS 1.03 like SSA etc. In your certificate forumate they can resign even the oldest by divinating the lock with this application framework!

Require: Translators; and country signature types need to be added to the trunk if translators could get crackin!!


Time and time again I come by these websites that require an online authentication like identification of you as an individual or business this is also true of SSL Signing. The only thing is they only seem to verify email addresses, never ask you for any identification and rarely have any versification system. Self Signed is based on the protomodel –http://sourceforge.net/projects/chronolabs/files/Encryption/Digital%20Signatures/signed.labs.coop%20%7E%20v1.1.10%20%7E%20final%20minor.tar.gz/download but for XOOPS 2.5. This comes with an API that allows for a class one only or class one and class two self identification on the API then provides to them in the format they require (JSON, Serialisation or XML) your full signature. This could be from your 3×3 code with an email address or a date it contains, it also comes with a root certificate much like an SSL certificate.

The receptacle of the Signature data, has method and a call back to be notified when the signature if it does expire or someone else has checked the attached identification that the signee has scanned in and loaded into your environment and flag it for renew or incorrectly uploaded which temporarily if not on a time delay ends the ability for that signature to be valid.

I see this as a clear path too something like httpx:// a self signed with peer-reviewing communication method that is completely open and true law based pseudo-sciences no like the like current SSL which only seems to check and email address and has a master key as well, self signing is the way of the future and explicative to the environment of open renderment of open source and the communities with software and network layer dependencies in our object orientated world and people.
Demonstration.

This includes an API that allows for signature bases to be unsigned if someone's identification fails check standards; through call-backs and API which is part of the system!

Due to the nature of this utility I will be opening it to demostration in a couple of days with the username provided but you will be able to see it at

URL:https://signed.ringwould.com.au
Installation

Download: ~~~::[ *.7z ! *.rar ! *.tar.gz ! *.tar.bz2 ! *.zip ! *.iso ! *.exe ! *.war ! *.ear ]::~~~

XOOPS SVN:https://sourceforge.net/p/xoops/svn/HEAD/tree/XoopsModules/signed/



Download the lastest version from Chronolabs on Google code or off sourceforge. Unzip the archive you should have a folder called ‘htdocs’ in the unzipped location. Copy the contents of ‘htdocs’ folder to your CMS root path this is generally a folder called ‘public_html’ or ‘www’ on your FTP service of your website. Log into your CMS and goto the modules/applications installation section, this is generally in your system control area under modules. Click on the icon that represent installing the module. If all has behaved as need be then your module is installed. If your module requires a user licences, keys or a username then sign-up to the apprpriate sites and retreieve your keys or IDs (Links should be provided in the preferences) and paste the values into preferences. Now your right to go!
Upgrading

Download the lastest version from Chronolabs on Google code or off sourceforge. Unzip the archive you should have a folder called ‘htdocs’ in the unzipped location. Copy the contents of ‘htdocs’ folder to your CMS root path this is generally a folder called ‘public_html’ or ‘www’ on your FTP service of your website. Log into your CMS and goto the modules/applications installation section, this is generally in your system control area under modules. Click on the icon that represent upgrading the module. Your version number should no longer be in bold and would have changed!
Reporting a Bug

The google code section has an area for reporting bugs called issues. Any issue or bug you believe you are having that is not a result of your site services then please report it here. The URL for reporting bugs is as follows:https://sourceforge.net/p/chronolabs/tickets/?source=navbar
Quote:

Please report the following:

a) Version of CMS
b) Version of PHP
c) Version of MySQL
d) Services Software ie. Apache, Zeus etc.
e) Version of Software
f) Error Messages
g) Steps to reproduce
e) Contact details for the team to get in touch should they need!



87
wishcraft
@objectivity The need for Hash ID not numerical -- similar to oracle!

You know thinking about it; I believe we need to change the XoopsObject object; so you can have something like XOBJ_DTYPE_IDHASH where you can specify a bit sign which is a preset of 64 numbers to 254 in 4 bit about your data with the XOOPS_CRC I made a while ago here:-

Quote:
You will find your hashed here:-

https://sourceforge.net/projects/chronolabs/files/Encryption/Checksums/XOOPS/


All you have to do to make it XCP is add the following sequence in the calc command:-

it is around line 67 of the .class file in the checksum;
// It first trashes the most likely data then escapes the sequence!
$data addslashes(htmlspecialchars(htmlspecialchars_decode($data)));


The reason it would have be a better hashes tables rather than integer numbers; you know when something crashes and you have to start a new one quickly but the id mismatch in lower tables, with an ID Hash like in oracle; you can splice the two tables together in insert, insert and normally there is no collisions and it all add up to larger bigger websites!



88
wishcraft
@scriptkiddy :: You would have to be punished for this comment and higher language functions #utf16

Just this comment; who ever put this comment in making so people can't suddenly store one what database will ever at the most correctly do utf8 only not things like higher language functions like utf16 or utf32 and so on; you look in the public view about no UNICODE support storage be punished:-

From:https://sourceforge.net/p/xoops/svn/HEAD/tree/XoopsCore/releases/2.5.7.1/htdocs/kernel/object.php
define('XOBJ_DTYPE_ENUM'15);
// YOU SHOULD NEVER USE THE FOLLOWING TYPES, THEY WILL BE REMOVED
define('XOBJ_DTYPE_UNICODE_TXTBOX'16);
define('XOBJ_DTYPE_UNICODE_TXTAREA'17);
define('XOBJ_DTYPE_UNICODE_URL'18);
define('XOBJ_DTYPE_UNICODE_EMAIL'19);
define('XOBJ_DTYPE_UNICODE_ARRAY'20);
define('XOBJ_DTYPE_UNICODE_OTHER'21);


that is just the most silly comment like also saying you wont licence someone when installing with XOOPS_LICENSE_KEY.

What the problem mamba you accent changed did you just get here and look like an idiotic statement that any of my module have any errors at all especially the only invoicing gateway with features galore around the place written just by me xPayment...



89
wishcraft
@xuplimental ::- route for seo purposes of small url..

Looking at the best way of having htaccess and routes, i think it is like the following path ::http://au.syd.labs.coop/publications/category/0/xoops-modules-open-source/2.html

so you have 'basename' = (.*?)/

then area: 'area' = ([a-zA-Z0-9]+)/([0-9])

i did start a module you could make so it covers in a module that people have drop down options like (.*?), or ([a-zA-Z0-9\-\+\%]+) and those other regular i did start one then had programmer electric shock injury and had to lye on the couch for month and month from RSI you will find it on the SVN!



90
wishcraft
@updated: XOOPS 2.5 ~~ Chronolabs Module Demo's - http://2.5.xoops.demo.labs.coop

XOOPS Module Demostrations on XOOPS 2.5.7.1

XOOPS is a framework; this is something you build systems like CMS and other systems from, it is one the most honed and offers portable easy to use confluent code base, this are basically the bare bones basic's for other programmers too use as basis for developing systems around and outside of XOOPS with ~ wishcraft

The Demonstration resets every 2 hours on the following times:-

Quote:
01:20, 03:20, 05:20, 07:20, 09:20, 11:20, 13:20, 15:20, 17:20, 19:20, 21:20, 23:20!


You will be able to access this demo with the following username, each subdomain mentioned below is a unique database session, but they all reset at the same time you will have full administration access granted to you with the following username:-

Username: webmaster
Password: 2tailplease


The following Subdomain are available on this frameworks *demonstrations:-

  • http://adslight.2.5.xoops.demo.labs.coop ~ Advertisement Light

  • http://benchmark.2.5.xoops.demo.labs.coop ~ Benchmarking

  • http://compounds.2.5.xoops.demo.labs.coop ~ Chemical Compounds Modeller

  • http://dates.2.5.xoops.demo.labs.coop ~ Dating Profiler

  • http://donations.2.5.xoops.demo.labs.coop ~ Donations

  • http://flowplayer.2.5.xoops.demo.labs.coop ~ Flowplayer Media

  • http://genobio.2.5.xoops.demo.labs.coop ~ Geneological Profiling

  • http://gigs.2.5.xoops.demo.labs.coop ~ Gig, Peformance Media Management

  • http://iplog.2.5.xoops.demo.labs.coop ~ IP Activity Logger

  • http://irc.2.5.xoops.demo.labs.coop ~ Java Internet Relay Chat

  • http://lawsuit.2.5.xoops.demo.labs.coop ~ Contact Us

  • http://linkedinbomb.2.5.xoops.demo.labs.coop ~ Linked-in API Client


[size=x-large]+++4[/size] many many more on the demo's listing (continuing)...





TopTop
« 1 ... 6 7 8 (9) 10 11 12 ... 135 »



Login

Who's Online

151 user(s) are online (109 user(s) are browsing Support Forums)


Members: 0


Guests: 151


more...

Donat-O-Meter

Stats
Goal: $100.00
Due Date: Apr 30
Gross Amount: $0.00
Net Balance: $0.00
Left to go: $100.00
Make donations with PayPal!

Latest GitHub Commits