Forums

How do I generate the username for the below form

cronostar 02 Dec, 2009
i have the code for the unique username, but how do i integrate it in to chronoform


<div class="form_item">
  <div class="form_element cf_heading">
    <h1 class="cf_text">User Information</h1>
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_heading">
    <h3 class="cf_text">Please notice all fields marked ( * ) are required</h3>
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">Name*</label>
    <input class="cf_inputbox required validate-alpha" maxlength="150" size="30" title="" id="text_1" name="text_1" type="text" />
  
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">Surname*</label>
    <input class="cf_inputbox" maxlength="150" size="30" title="" id="text_2" name="text_2" type="text" />
  
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">ID Number*</label>
    <input class="cf_inputbox required validate-digits" maxlength="13" size="13" title="" id="text_5" name="text_5" type="text" />
  
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">Cellular Number*</label>
    <input class="cf_inputbox required validate-number" maxlength="10" size="30" title="" id="text_6" name="text_6" type="text" />
  
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">Email Adress*</label>
    <input class="cf_inputbox validate-email" maxlength="150" size="30" title="" id="text_7" name="text_7" type="text" />
  
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_textarea">
    <label class="cf_label" style="width: 150px;">Postal Address*</label>
    <textarea class="cf_inputbox required" rows="3" id="text_13" title="" cols="30" name="text_13"></textarea>
    
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">Postal code*</label>
    <input class="cf_inputbox required validate-number" maxlength="10" size="10" title="" id="text_14" name="text_14" type="text" />
  
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_heading">
    <h1 class="cf_text">Medical Infromation</h1>
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_heading">
    <h4 class="cf_text">Please remember to fill in as complete as possible and to inform us when these details change !</h4>
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 170px;">Medical Aid NAME / none*</label>
    <input class="cf_inputbox" maxlength="150" size="30" title="" id="text_19" name="text_19" type="text" />
  
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 200px;">Medical Aid NUMBER / none*</label>
    <input class="cf_inputbox" maxlength="150" size="30" title="" id="text_20" name="text_20" type="text" />
  
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_textarea">
    <label class="cf_label" style="width: 150px;">Allergies / none*</label>
    <textarea class="cf_inputbox" rows="3" id="text_22" title="" cols="30" name="text_22"></textarea>
    
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_heading">
    <h2 class="cf_text">Next of kin 1</h2>
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">1. Next of Kin Name*</label>
    <input class="cf_inputbox required validate-alpha" maxlength="150" size="30" title="" id="text_26" name="text_26" type="text" />
  
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">1. Next of Kin Surname*</label>
    <input class="cf_inputbox required validate-alpha" maxlength="150" size="30" title="" id="text_27" name="text_27" type="text" />
  
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 200px;">1. Next of Kin Cellular Number</label>
    <input class="cf_inputbox required validate-number" maxlength="10" size="10" title="" id="text_25" name="text_25" type="text" />
  
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_heading">
    <h2 class="cf_text">Next of kin 2</h2>
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">2. Next of Kin Name*</label>
    <input class="cf_inputbox required validate-alpha" maxlength="150" size="30" title="" id="text_31" name="text_31" type="text" />
  
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">2. Next of Kin Surname*</label>
    <input class="cf_inputbox required validate-alpha" maxlength="150" size="30" title="" id="text_32" name="text_32" type="text" />
  
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 200px;">2. Next of Kin Cellular Number*</label>
    <input class="cf_inputbox required validate-number" maxlength="10" size="10" title="" id="text_30" name="text_30" type="text" />
  
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_heading">
    <h2 class="cf_text">Next of kin 3</h2>
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">3. Next of Kin Name*</label>
    <input class="cf_inputbox required validate-alpha" maxlength="150" size="30" title="" id="text_35" name="text_35" type="text" />
  
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">3. Next of Kin Surname*</label>
    <input class="cf_inputbox required validate-alpha" maxlength="150" size="30" title="" id="text_37" name="text_37" type="text" />
  
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 200px;">1. Next of Kin Cellular Number*</label>
    <input class="cf_inputbox required validate-number" maxlength="10" size="10" title="" id="text_36" name="text_36" type="text" />
  
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_password">
    <label class="cf_label" style="width: 150px;">Password</label>
    <input class="cf_inputbox" maxlength="150" size="30" title="" id="text_44" name="text_44" type="password" />
    
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_password">
    <label class="cf_label" style="width: 150px;">Confirm Password</label>
    <input class="cf_inputbox" maxlength="150" size="30" title="" id="text_45" name="text_45" type="password" />
    
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_checkbox">
    <label class="cf_label" style="display: none;">Click Me to Edit</label>
    <div class="float_left">
      <input value="I hereby Agree to the terms and condtions" title="" class="radio" id="check00" name="check0[]" type="checkbox" />
      <label for="check00" class="check_label">I hereby Agree to the terms and condtions</label>
      <br />
      

    </div>
    
  </div>
  <div class="cfclear"> </div>
</div>

<div class="form_item">
  <div class="form_element cf_button">
    <input value="Next>>" name="button_29" type="submit" />
  </div>
  <div class="cfclear"> </div>
</div>
cronostar 02 Dec, 2009
I almost forgot here is the code for the username generating

function getNextUsername($currentUsername)
    {
        $pos1 = substr($currentUsername,0,1);
        $pos2 = substr($currentUsername,1,1);
        $pos3 = substr($currentUsername,2,1);
        $pos4 = substr($currentUsername,3,1);
        $pos5 = substr($currentUsername,4,1);
        $pos6 = substr($currentUsername,5,1);

    if ($pos6 == "9")
    {
        /*
         * Increase second from right INTEGER
         */
      $pos6 = "0";
      if ($pos5 == "9")
        {
            $pos5 = "0";
            if ($pos4 == "9")
                {
                    $pos4 = "0";
                    if($pos3 == 'z')
                    {
                        $pos3 = 'a';
                        if($pos2 == 'z'){
                            $pos2 = 'a';
                            if($pos1 == 'z'){
                                /*
                                 * restarting the sequence
                                 */
                                $pos1 = 'a';
                            }
                            else
                            {
                             $next = $this->increaseAlpha($pos1).($pos2).$pos3.$pos4.$pos5.$pos6;
                             return $next;
                            }
                        }
                        else
                        {
                         $next = $pos1.$this->increaseAlpha($pos2).$pos3.$pos4.$pos5.$pos6;
                         return $next;
                        }
                    }
                    else
                    {
                        $next = $pos1.$pos2.increaseAlpha($pos3).$pos4.$pos5.$pos6;
                        return $next;
                    }
                }
                else
                {
                    $next = $pos1.$pos2.$pos3.$this->increaseByOne($pos4).$pos5.$pos6;
                    return $next;
                }
        }else
        {
           $next = $pos1.$pos2.$pos3.$pos4.$this->increaseByOne($pos5).$pos6;
           return $next;
        }

        }
        else
        {
            /*
             * Increase the right most INTEGER
             */
            $next = $pos1.$pos2.$pos3.$pos4.$pos5.$this->increaseByOne($pos6);
            return $next;
        }

        $next = $pos1.$pos2.$pos3.$pos4.$pos5.$pos6;
        return $next;
    }

        /*
         * function increase a numberic by one
         */
        function increaseByOne($in)
        {
            $numpos6 = (int)$in;
            if ($numpos6 == 9)
                {
                    $numpos6 = 0;
                }
                else
                {
                   $numpos6++;
                }
            return $numpos6;
        }

        function increaseAlpha($in)
        {
            /*
             * if char not 'z'
             */
           if ($in != "z")
           {
            for ($i=1;$i<=26;$i++)
            {
                if ($in == chr($i+96))
                {
                    /*
                     *  check that the following alpha is not 'i'
                     */
                    if ((chr($i + 97) == 'i') || (chr($i + 97) == 'o'))
                    {
                        return chr($i + 98);
                    }
                    else
                    {
                        return chr($i + 97);
                    }
                }

            }
           }
           else
           {
            return "a";
           }
        }
  

}
GreyHead 06 Dec, 2009
Hi cronostar,

Sorry, I have no real idea what the question is???

Bob
cronostar 07 Dec, 2009
okey

let me start here

chronos form needs a username to integrate into joomla, I have code that generates the username but it works in cakephp, is there a way to use this code I have to work with chronosform to generate the usernam for me????
GreyHead 07 Dec, 2009
Hi Chronostar,

Max is the PHPCake expert here.

If your PHP works standalone (i.e. without the PHPCake framework) then you should be able to use it in the ChronoForms Form HTML or OnSubmit boxes.

If it needs the PHPCake framework then you will need to load that as well which could cause problems alongside the Joomla Framework.

Bob
This topic is locked and no more replies can be posted.