BW: Boltwire Projects > Boltwire System Change Notes

Boltwire System Change Notes


Notes of changes that I've made to the existing configuration to adjust how the system works.

Created a home/config/config.php file


In this file, I am overriding one MarkUps entry and added two replaceiment login and register commands

<?php

# Overrule Markup rules
MarkUp('style', 'hr', '/
?(<|<)hr(>|>)
?/', '<hr />'); // hr  horizontal line

&#36;BOLTtoolmap['x']['login'] = 'mylogin';
&#36;BOLTtoolmap['x']['register'] = 'myregister';
&#36;BOLTtoolmap['f']['breadcrumb'] = 'kbread';


function BOLTXmylogin(&#36;value, &#36;field) {
    global &#36;pageLink, &#36;BOLTarray, &#36;msg, &#36;BOLTid, &#36;BOLTmember, &#36;BOLTfieldKey;
    &#36;BOLTloginPages = BOLTconfig('BOLTloginPages', 'login');
    &#36;BOLTcrypt = BOLTconfig('BOLTcrypt');
    if (&#36;BOLTid != '') BOLTabort('login_problem');
    if (strpos(&#36;BOLTarray['member'], '@')) {
            &#36;page = BOLTFsearch(Array('data'=>"email=&#36;BOLTarray[member]", 'group'=>&#36;BOLTloginPages, 'count'=>1, 'join'=>'', 'fmt'=>'{+p}'), 'COMMAND', false);
            &#36;member = substr(&#36;page, strlen(&#36;BOLTloginPages) + 1);
            }
    else {
            &#36;member = BOLTfilter(BOLTutf2url(&#36;BOLTarray['member']), 'csv');
            &#36;page = BOLTpageshortcuts("&#36;BOLTloginPages.&#36;member");
            }
    &#36;id = substr(&#36;page, strlen(&#36;BOLTloginPages) + 1);
    if (isset(&#36;BOLTarray['name'])) &#36;member = BOLTfilter(&#36;BOLTarray['name'], 'csv');
    else {
            &#36;name = BOLTvars("&#36;page:member", '', false);
            if (&#36;name != '') &#36;member = &#36;name;
            }
    &#36;BOLTarray['member'] = &#36;member;
    &#36;pass1 = BOLTvars("&#36;page:password", '', false);
    &#36;pass2 = &#36;BOLTarray['password'];
    if (((&#36;pass1 == &#36;pass2 || &#36;pass1 == crypttype(&#36;pass2, &#36;BOLTcrypt)) && (&#36;pass1 != '')) || (&#36;value == 'auto' )){
            session_start();
            &#36;_SESSION[&#36;BOLTfieldKey]['ID']['id'] = &#36;id;
            &#36;_SESSION[&#36;BOLTfieldKey]['ID']['member'] = &#36;member;
            session_write_close();
            &#36;BOLTid = &#36;id;
            &#36;BOLTmember  = &#36;member;
            &#36;memberships = BOLTFmemberships(Array('output'=>'true'));
            &#36;msg['login_success'] = "~&#36;member";
            setcookie('cache', &#36;memberships, time() + 86000);
            }
    else BOLTabort('login_fail');
    return &#36;value;
    }

function BOLTXmyregister(&#36;value, &#36;field) {
    global &#36;BOLTarray, &#36;BOLTid, &#36;msg, &#36;target;
    &#36;BOLTloginPages = BOLTconfig('BOLTloginPages', 'login');
    &#36;BOLTcrypt = BOLTconfig('BOLTcrypt');
    if (!isset(&#36;BOLTarray['member'])) BOLTabort('register_no_member');
    if (&#36;BOLTarray['member'] == "") BOLTabort('register_member_blank');
    &#36;logingroup = &#36;BOLTloginPages;
    &#36;page = BOLTpageshortcuts("&#36;logingroup.&#36;BOLTarray[member]");
    if (! BOLTfilter(&#36;page, 'page')) BOLTabort('register_invalid_name');
    if (BOLTexists(&#36;page)) BOLTabort('register_member_exists');
    if (isset(&#36;BOLTarray['email'])) {  //  && &#36;BOLTarray['checkemail'] !== 'false'
            if (preg_match('/^.+\@.+\..+&#36;/', &#36;BOLTarray['email']) == 0) BOLTabort('register_email_fails');
            &#36;checkemail = BOLTFsearch(Array('data'=>"email=&#36;BOLTarray[email]", 'group'=>&#36;BOLTloginPages), 'COMMAND', false);
            if (&#36;checkemail != '') BOLTabort('register_email_exists');
            }
    if (!BOLTauth(&#36;page, &#36;BOLTid, 'write')) BOLTabort('register_fail_auth');
    if (!isset(&#36;BOLTarray['password'])) BOLTabort('register_no_pass');
    if (&#36;BOLTarray['password'] == '') BOLTabort('register_pass_blank');
    &#36;tempPass = &#36;BOLTarray['password'];
    if (&#36;BOLTarray['loginfmt'] != "plaintext") &#36;BOLTarray['password'] = crypttype(&#36;BOLTarray['password'], &#36;BOLTcrypt);
    if (isset(&#36;BOLTarray['registerpage'])) &#36;page = BOLTpageshortcuts(&#36;BOLTarray['registerpage']);
    &#36;tempLink = &#36;target;
    &#36;target = &#36;page;
    BOLTXsavedata(str_replace('password', '', &#36;value), 'savedata');
    BOLTsavedata(Array('password'=>&#36;BOLTarray['password']), &#36;target, false);
    &#36;target = &#36;tempLink;
    &#36;BOLTarray['password'] = &#36;tempPass;
    if (BOLTexists(&#36;target)) &#36;msg['register_success'] = '';
    else BOLTabort('register_fail');
    return &#36;value;
    }


function crypttype(&#36;value, &#36;field) {
    global &#36;pageLink, &#36;BOLTarray, &#36;msg, &#36;BOLTid, &#36;BOLTmember, &#36;BOLTfieldKey;
    &#36;BOLTcrypt = BOLTconfig('BOLTcrypt');
    &#36;BOLTcryptType = BOLTconfig('BOLTcryptType');
        if (&#36;BOLTcryptType == "md5") {
                &#36;return = md5(&#36;value.&#36;BOLTcrypt);
        } else {
        &#36;return = crypt(&#36;value,&#36;BOLTcrypt);
    }  
    return &#36;return;
    }

function BOLTFkbread(&#36;args, &#36;zone='') {
    global &#36;pageLink;
    if (isset(&#36;args['page'])) &#36;page = &#36;args['page'];
    elseif (isset(&#36;args[1])) &#36;page = &#36;args[1];
    else &#36;page = &#36;pageLink;
    &#36;page = BOLTfilter(BOLTpageshortcuts(&#36;page), 'page');
    &#36;separator = isset(&#36;args['separator']) ? &#36;args['separator'] : ' > ';
    &#36;parts = explode('.', &#36;page);
    foreach (&#36;parts as &#36;p) {
            &#36;link = ltrim("&#36;link.&#36;p", '.');
            if (&#36;args['text'] == 'true') &#36;out[] = BOLTvars("&#36;link:page");
            else &#36;out[] = "[[?&#36;link|&#36;p]]";
            }
    if (&#36;args['name'] != 'link') &#36;out[count(&#36;parts) - 1] = BOLTvars("&#36;page:page");
    if (&#36;args['name'] == 'none') unset(&#36;out[count(&#36;parts) - 1]);
    if (isset(&#36;args['offset'])) &#36;out = array_slice(&#36;out, &#36;args['offset']);
    if (strtolower(&#36;args['rtl']) == 'true' || strtolower(BOLTconfig('BOLTtextDirection')) == 'rtl') {
            &#36;out = array_reverse(&#36;out);
            &#36;separator = str_replace('>', '<', &#36;separator);
            }
    return implode(&#36;separator, &#36;out);
    }

Contents © 2012 TNET Services, Inc. - All rights reserved.
Page Creation by TNET using Boltwire v3.4.14 Hosting by TNET
Server Temps 171F-156F-100F @ 19:20
IP: 38.107.179.228 [No rDNS] - Views #43