Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    46

    Aggiungere campo plugin di registrazione

    Ragazzi , mi serviva un volenteroso di aiutarmi che sono nei guai , ho comprato un componente per joomla per il form di registrazione e fin qui tutto ok , vado a modificare il java per far si che uscissero nelle drop che mi ha implementato le regioni e le province , ma ora vorrei creare una terza drop con i comuni a cascata come la seconda , come potrei fare? che sto provando a vedere di far da solo ma non ci riesco proprio :\ Se vi serve il file php ve lo passo subito..

    Grazie

  2. #2
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    è javascript e non java
    prova a postare il codice, ma non credo che sia un lavoro da poco, non si tratta di editare solo il campo del plugin, magari devi anche archiviare nel db quella voce...
    al limite posti nella sezione "offro lavoro"
    If you think your users are idiots, only idiots will use it. DropBox

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    46
    Codice PHP:
     <?php
            
    /**
            * Community Builder User Plugin: plug_countryandstatefield
            * @version $Id$
            * @package plug_countryandstatefield
            * @subpackage countrystatefield.xml
            * @author Kon Angelopoulos - ANGEK DESIGN 
            * @copyright (C) ANGEK DESIGN - [url]http://www.angekdesign.com.au,[/url] [url]http://www.joomlaextensions.com.au[/url]
            * @license Limited [url]http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[/url] GNU/GPL version 2
            * @final 1.0 RC
            */

    /** ensure this file is being included by a parent file */
    if ( ! ( defined'_VALID_CB' ) || defined'_JEXEC' ) || defined'_VALID_MOS' ) ) ) { die( 'Direct Access to this location is not allowed.' ); }

    global 
    $_PLUGINS;
    $_PLUGINS->loadPluginGroup'user', array( (int) ) );
    $_PLUGINS->registerUserFieldTypes( array( 'countryselect' => 'CBfield_countryselect' ) );
    $_PLUGINS->registerUserFieldTypes( array( 'stateselect' => 'CBfield_stateselect' ) );
    $_PLUGINS->registerUserFieldParams();

    class 
    cbCountryState_base extends cbFieldHandler {
        function 
    cbCountryState_base( ) {
            
    parent::cbFieldHandler();
            
    cbimport'language.cbteamplugins' );
        }
        
        function 
    fieldClass( &$field, &$user, &$postdata$reason ) {
            global 
    $_GET;
            
            
    parent::fieldClass$field$user$postdata$reason );        // performs spoofcheck.
            
            
    if ( $function == 'savevalue' ) {
                
                
    $this->prepareFieldDataSave($field,$user,$postdata,$reason);
                
    $user->store();
            }
            return 
    null;
        }
        
        function 
    getCountryDropdownUI$mode$country, &$field$mandatory$task$user,$fList$fIcon ){
            global 
    $_CB_framework$_CB_database$ui;
            
    $live_site $_CB_framework->getCfg'live_site' );
            
    $oReturn null;
            
    $result null;
            if (
    $user->id){
                
    $query "SELECT ".$field->name." , ".$field->name."_desc FROM #__comprofiler WHERE user_id="$user->id;
                
    $_CB_database->setQuery($query);
                
    $result $_CB_database->loadObjectList();
                
    $countryCodeName $field->name;
                
    $countryDescName $field->name."_desc";
            }
            if (
    $result){
                
    $countryLong $result[0]->$countryDescName;
                
    $country $result[0]->$countryCodeName;
                if (
    $fIcon == '1'){
                    
    $display "<div id=\"cflag\"><img src=\"".$live_site."/components/com_comprofiler/plugin/user/plug_countryandstatefield/images/".strtolower($country).".png\" />".$countryLong."</div>";
                }
                else {
                    
    $display "<div>".$countryLong."</div>";
                }
            }
            
    $oReturn "<style>.imgFlag {margin-top:2px;margin-left:5px;padding-left:20px;}</style>";
            switch ( 
    $task ){
                case 
    'search':
                    
    //$country = null;
                    
    if ($mode == 2) return;
                case 
    'edit':
                case 
    'register':
                    
    $oReturn .= '
                    <input type="hidden" value="countrySelect" name="cs_config_country_field" id="cs_config_country_field">
                    <input type="hidden" value="'
    .$fList.'" name="showFlags" id="showFlags">
                    <input type="hidden" value="stateSelect" name="cs_config_state_field" id="cs_config_state_field">
                    <input type="hidden" value="countryDefault" name="cs_config_country_default" id="cs_config_country_default">
                    <input type="hidden" value="stateDefault" name="cs_config_state_default" id="cs_config_state_default">
                    <input type="hidden" value="'
    .$country.'" name="countryDefault" id="countryDefault">
                    <div>
                      <select id="countrySelect" name="'
    .$field->name.'" onchange="updateState(this.id)"></select>
                    '
    .$mandatory.'</div>';
                break;
                case 
    'profile':
                case 
    'list':
                    
    $oReturn  .= $display;
                break;
            }
            
            return 
    $oReturn;
        }

        function 
    getStateDropdownUI$mode$state, &$field$mandatory$task$user ){
            global 
    $_CB_framework$_CB_database;
            
            
    $live_site $_CB_framework->getCfg'live_site' );
            
    //        $options = ($madatory ? "required:true, " : "");
            
    $output null;
            
    $result null;
            if (
    $user->id){
                
    $query "SELECT ".$field->name." FROM #__comprofiler WHERE user_id=".$user->id" LIMIT 1";
                
    $_CB_database->setQuery($query);
                
    $result $_CB_database->loadResult();
            }
            if (
    $result){
                
    $state $result;
            }
            if (
    $task != 'list'){
                
    $output '<input type="hidden" value="'.$state.'" name="stateDefault" id="stateDefault">';
            }

            switch ( 
    $task ) {
                case 
    'search':
                    if (
    $mode == 2){
                        return;
                    }
                case 
    'edit':
                case 
    'register':
                    
    $output .= '<script type="text/javascript" src="'$live_site '/components/com_comprofiler/plugin/user/plug_countryandstatefield/js/states.js"></script>
                        <script type="text/javascript" src="'
    $live_site '/components/com_comprofiler/plugin/user/plug_countryandstatefield/js/countries.js"></script>
                        <script type="text/javascript" src="'
    $live_site '/components/com_comprofiler/plugin/user/plug_countryandstatefield/js/country_state.js"></script>';
                    
    $output .= '<div><select id="stateSelect" name="'.$field->name.'"></select>'.$mandatory.'</div><SCRIPT type="text/javascript">initCountry("'.$live_site.'"); </SCRIPT>';
                break;
                case 
    'profile':
                case 
    'list':
                    
    $output "<div>".$state."</div>";
                break;
            }
            
            return 
    $output;
        }
    }

    class 
    CBfield_stateselect extends cbCountryState_base {
        function 
    fieldClass( &$field, &$user, &$postdata$reason ) {
            
    parent::fieldClass$field$user$postdata$reason );
            
    $this->prepareFieldDataSave($field,$user,$postdata,$reason);
            
    $user->store();

            return 
    null;
        }

        function 
    validate( &$field, &$user$columnName, &$value, &$postdata$reason ) {
            
    $validated parent::validate$field$user$columnName$value$postdata$reason );
            if (
    $validated && ($value !=='' ) && ( $value !== null ) ) {
                
    //$validated = preg_match('/^[A-Za-z- _\']+$/', $value);
                
    $validated preg_match('/^[A-Za-z-0-9 _(),:\'\x{00C0}-\x{00FF}]+$/mu'$value);
                if (
    $validated) {
                    if (
    $field->type != 'stateselect'){
                        
    $this->_setValidationError ($field$user$reason"Unauthorized Input");
                        
    $validated false;
                    }
                }
                else {
                    
    $this->_setValidationError$field$user$reason"Input not authorized" );
                }
            }

            return 
    $validated;
        }

        function 
    getField(&$field, &$user$output$reason$list_compare_types ) {
            global 
    $_CB_framework;
            
            
    $this->_loadSettings($field);
            
    $mode $_CB_framework->_ui;
            
    $required $this->_isRequired($field$user$reason);
            switch (
    $output){
                case 
    'html':
                    
    $oReturn $this->getStateDropdownUI$mode$this->defState$field$this->_fieldIconsHtml$field$user'htmledit'$reason'select'''null'', array(), true$required ), $reason$user );
                    break;
                case 
    'rss':
                    
    $oReturn $this->getStateDropdownUI$mode$this->defState$field$required$reason$user );
                    break;
                default:
                    
    $oReturn $this->getStateDropdownUI$mode$this->defState$field$this->_fieldIconsHtml$field$user'htmledit'$reason'select'''null'', array(), true$required ), $reason$user );
                    break;
            }
            return 
    $oReturn;
        }
        function 
    _loadSettings( &$field) {
            
    $this->defState $field->params->get('defaultState','1');
        }
    }
    class 
    CBfield_countryselect extends cbCountryState_base {
        
        function 
    fieldClass( &$field, &$user, &$postdata$reason ) {
            
            
    parent::fieldClass$field$user$postdata$reason );
            
    $this->prepareFieldDataSave($field,$user,$postdata,$reason);
            
    $user->store();

            return 
    null;
        }
        function 
    validate( &$field, &$user$columnName, &$value, &$postdata$reason ) {
            
    $validated parent::validate$field$user$columnName$value$postdata$reason );
            
            if (
    $validated && ($value !=='' ) && ( $value !== null ) ) {
                
    //$validated = preg_match('/^[A-Za-z- _\']+$/', $value);    
                
    $validated preg_match('/^[A-Za-z-0-9 _(),:\'\x{00C0}-\x{00FF}]+$/mu'$value);
                if (
    $validated) {
                    if (
    $field->type != 'countryselect'){
                        
    $this->_setValidationError ($field$user$reason"Unauthorized Input");
                        
    $validated false;
                    }
                    if (
    sizeof($value) > 2){
                        
    $this->_setValidationError ($field$user$reason"Unauthorized Input");
                        
    $validated false;
                    }
                }
                else {
                    
    $this->_setValidationError$field$user$reason"Input not authorized" );
                }
            }
            
            return 
    $validated;
        }

        function 
    getField(&$field, &$user$output$reason$list_compare_types ) {
            global 
    $_CB_framework;
            
    $this->_loadSettings($field);
            
    $required $this->_isRequired($field$user$reason);
            
    $mode $_CB_framework->_ui;
            switch (
    $output){
                case 
    'html':
                    
    $oReturn $this->getCountryDropdownUI$mode$this->defCountry$field$this->_fieldIconsHtml$field$user'htmledit'$reason'select'''null'', array(), true$required ), $reason$user,$this->flagList,$this->flagIcon );
                    break;
                case 
    'rss':
                    
    $oReturn $this->getCountryDropdownUI$mode$this->defCountry$field$required$reason$user ,$this->flagList,$this->flagIcon);
                    break;
                default:
                    
    $oReturn $this->getCountryDropdownUI$mode$this->defCountry$field$this->_fieldIconsHtml$field$user'htmledit'$reason'select'''null'', array(), true$required ), $reason$user,$this->flagList,$this->flagIcon );
                    break;
            }
            return 
    $oReturn;
        }
        
        function 
    _loadSettings( &$field) {
            
    $this->defCountry $field->params->get('defaultCountry','1');
            
    $this->flagList $field->params->get('flagList','1');
            
    $this->flagIcon $field->params->get('flagIcon','1');
        }
    }
    ?>
    Sarebbe questo

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    46
    piccolo Up..

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.