We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 33992 ☆ A M B ☆
    • 455 Posts
    Register user data in `web_users` , `web_user_attributes` and other custom tables.
    <?php
    $POST = array();
    foreach($_POST as $key => $value)
    	if(substr($key, 0, 12) == 'registerForm')
    		$POST[ str_replace('registerForm', '', $key) ] = $cake->escape( $cake->stripModxTags($value, true) );
    
    if(!isset($POST['username']) || !isset($POST['password']) || !isset($POST['requireField1']) || !isset($POST['requireField2']))
    	return "You've forgotten some required fields!";
    
    $web_users_attributes = array('fullname' => $POST['fullname'], 'phone' => $POST['phone']);
    $web_users_attributes_extended = array(
    	"web_users_attributes_extended" => array(
    		"customField1" => $POST['customField1'],
    		"customField2" => $POST['customField2'],
    		"customField3" => $POST['customField3']
    	)
    );
    $cake->newUser($POST['username'], MD5($POST['password']), $web_users_attributes, $web_users_attributes_extended);
      God loves me. 【ツ】


      MODX.ir (Persian Support)

      Boplo.ir/modx/ (Persian)
      • 33992 ☆ A M B ☆
      • 455 Posts
      Get all user data from any user tables as an array.
      <?php
      $userId = $cake->escape($_GET['userId']);
      $userData = array_merge(
      	$cake->getUserField($userId, '*', 'web_user_attributes'),
      	$cake->getUserField($userId, '*', 'web_user_attributes_extended'),
      	$cake->getUserField($userId, '*', 'custom_table1'),
      	$cake->getUserField($userId, '*', 'custom_table2'),
      	array($cake->getUserField($userId, 'username', 'web_users'))
      );

        God loves me. 【ツ】


        MODX.ir (Persian Support)

        Boplo.ir/modx/ (Persian)
        • 33992 ☆ A M B ☆
        • 455 Posts
        There is tiny social network. There are webgroups as Clubs and web users can join to any club.
        First part is displying members of a sample club:
        <?php
        $members = $cake->getWebgroupMembers("Bluish club");
        $group = urlencode("Bluish club");
        $href = $modx->makeUrl( (INT)$modx->documentIdentifier );
        
        
        echo '<a href="'.$href. '?group='.$group.'"><b>Bluish club</b></a> members';
        if(count($members) > 0)
        {
        	echo '<ul>';
        	$membersData = $cake->getUserField(0, '*', 'web_users', 'internalKey IN('. join(',',$members) .')');
        	foreach($membersData as $memberData)
        	{
        		$href = $href . '?user=' .$memberData['internalKey'];
        		echo '<li><a href="' .$href. '?">' .$memberData['fullname']. '</a></li>';
        	}
        	echo '</ul>';
        }
        else
        	echo '<i>No members...</i>';



        And second part is joining script:
        <?php
        $userId = $_SESSION['internalKey'];
        $group = $cake->escape( urldecode($_GET['groupname']) );
        if($cake->db->getRecordCount( $cake->db->select('id', $cake->getFullTableName('web_users'), "internalKey=$userId") ) == 1)
        {
        	if( $cake->joinWebgroup($group, $userId) )
        		echo "Welcome to $group club!";
        	else
        		echo "There is some problems, try later.";
        }
          God loves me. 【ツ】


          MODX.ir (Persian Support)

          Boplo.ir/modx/ (Persian)
          • 16183
          • 1,390 Posts
          AHHP

          Thx for all the example code! smiley

          cheers/k
            • 33992 ☆ A M B ☆
            • 455 Posts
            Send email to members of a webgroup or all webusers.
            <?php
            $groupname = $cake->escape($_GET['groupname']);
            $members = $cake->getWebgroupMembers($groupname);
            $where = empty($members) ? '' : 'internalKey IN('. join(',', $members) .')';
            $emails = $cake->getUserField(0, 'email', 'web_user_attributes', $where);
            $result = $cake->sendMail($emails, 'Newsletter', 'Message....');
            return ($result ? 'Message sent' : 'Sending failed!');
              God loves me. 【ツ】


              MODX.ir (Persian Support)

              Boplo.ir/modx/ (Persian)
              • 33992 ☆ A M B ☆
              • 455 Posts
              This is contact form or any form to be send as email.
              <?php
              $POST = array();
              foreach($_POST as $key => $value)
              	if(substr($key, 0, 11) == 'contactForm')
              		$POST[ str_replace('contactForm', '', $key) ] = $cake->escape( $cake->stripModxTags($value, true) );
              
              if(!isset($POST['message']) || !isset($POST['requireField1']) || !isset($POST['requireField2']))
              	return "You've forgotten some required fields!";
              
              $body = '
              	<div>
              		<h1>Message from "'. $POST['name'] .'"</h1>
              		<div>
              			Subject: '. $POST['subject'] .' <br />
              			Email: '. $POST['email'] .' <br />
              			Time: '. date("Y/m/d H:i") .'
              		</div>
              		<div>'. $POST['message'] .'</div>
              	</div>
              ';
              $result = $cake->sendMail($modx->config['mailsender'], $POST['subject'], $body, true);
              return ($result ? 'Message sent' : 'Sending failed!');
                God loves me. 【ツ】


                MODX.ir (Persian Support)

                Boplo.ir/modx/ (Persian)
                • 16183
                • 1,390 Posts
                Btw, cakePHP should work in Evolution, right?

                Thanks/k
                  • 33992 ☆ A M B ☆
                  • 455 Posts
                  Quote from: kongondo at Aug 13, 2009, 06:27 AM

                  Btw, cakePHP should work in Evolution, right?
                  Yes. It’s created for Evolution but i will work on Revo version...
                    God loves me. 【ツ】


                    MODX.ir (Persian Support)

                    Boplo.ir/modx/ (Persian)
                    • 16183
                    • 1,390 Posts
                    Thx smiley

                    cheers/k
                      • 22303 MODX Staff
                      • 10,725 Posts
                      Quote from: AHHP at Aug 13, 2009, 07:11 AM

                      Quote from: kongondo at Aug 13, 2009, 06:27 AM

                      Btw, cakePHP should work in Evolution, right?
                      Yes. It’s created for Evolution but i will work on Revo version...
                      Guys, Revo has a complete object-oriented API for doing all of this. Please learn that API and do not create external API’s which duplicate functionality.