/**
  * 	process
  *
  * 	Applies the form entry data to db
  *
  * @param int $ownerid
  * 	User who owns the results
  */
 function process($ownerid = NULL)
 {
     $form = EasyContactFormsClassLoader::getObject('CustomForms', true, $this->get('CustomForms'));
     if (!class_exists('EasyContactFormsT')) {
         $l_locale = get_locale();
         $tag = strtolower(str_replace('_', '-', $l_locale));
         require_once 'easy-contact-forms-strings.php';
         if (!@(include_once 'easy-contact-forms-resources_' . $tag . '.php')) {
             require_once 'easy-contact-forms-resources_en-gb.php';
         }
     }
     if (is_null($ownerid)) {
         $ownerid = $form->get('ObjectOwner');
     }
     $content = $this->get('Content');
     $xml = simplexml_load_string($content);
     $userid = (string) $xml->attributes()->userid;
     $userid = empty($userid) ? NULL : intval($userid);
     if (is_null($userid)) {
         $users = EasyContactFormsClassLoader::getObject('Users');
         $user = $users->getEmptyObject(array());
         $user->set('ObjectOwner', $ownerid);
         $siteuserid = $this->get('SiteUser');
         $siteuserid = empty($siteuserid) ? NULL : $siteuserid;
         if (!is_null($siteuserid)) {
             $usrquery = "SELECT\n\t\t\t\t\t\t\tuser_login AS username,\n\t\t\t\t\t\t\tuser_email AS email,\n\t\t\t\t\t\t\tdisplay_name AS name\n\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t#wp__users\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\tID='{$siteuserid}'";
             $susr = EasyContactFormsDB::getObjects($usrquery);
             $susr = $susr[0];
             $susrname = !empty($susr->name) ? $susr->name : $susr->username;
             if (!empty($susrname)) {
                 $user->set('Description', $susrname);
             }
             if (!empty($susr->email)) {
                 $user->set('email', $susr->email);
             }
             $user->set('CMSId', $siteuserid);
         }
     } else {
         $user = EasyContactFormsClassLoader::getObject('Users', true, $userid);
         $user->set('Role', NULL);
     }
     $fields = EasyContactFormsClassLoader::getObject('CustomFormFields');
     foreach ($xml->children() as $xmlfld) {
         $value = (string) $xmlfld->h1;
         unset($xmlfld->h1);
         if (empty($value)) {
             continue;
         }
         $fldid = (string) $xmlfld->attributes()->id;
         $fldid = intval($fldid);
         $settings = $fields->getValue('Settings', $fldid);
         if (empty($settings)) {
             continue;
         }
         $settings = simplexml_load_string($settings);
         $link = (string) $settings->LinkToAppField;
         if (!empty($link)) {
             $link = explode('_', $link);
             if (count($link) > 1) {
                 $user->set($link[1], $value);
             }
         }
     }
     $content = $xml->asXML();
     $user->set('History', $content . '<br /><br />' . $user->get('History'));
     $user->save();
     $this->set('Date', EasyContactFormsUtils::getDate($this->get('Date'), false, true, true));
     $this->set('Users', $user->get('id'));
     $this->save();
     $form->set('TotalProcessedEntries', $form->get('TotalProcessedEntries') + 1);
     $form->save();
 }
Пример #2
0
    /**
     * 	getMainForm
     *
     * 	prepares the view data and finally passes it to the html template
     *
     * @param array $formmap
     * 	request data
     */
    function getMainForm($formmap)
    {
        $fields = array();
        $fields[] = 'id';
        $fields[] = 'Description';
        $fields[] = 'ContactType';
        $fields[] = 'Role';
        $fields[] = 'Name';
        $fields[] = 'CMSId';
        $fields[] = 'Notes';
        $fields[] = 'ContactField3';
        $fields[] = 'ContactField4';
        $fields[] = 'Birthday';
        $fields[] = 'Country';
        $fields[] = 'City';
        $fields[] = 'State';
        $fields[] = 'Zip';
        $fields[] = 'Address';
        $fields[] = 'email';
        $fields[] = 'email2';
        $fields[] = 'Cell';
        $fields[] = 'Phone1';
        $fields[] = 'Phone2';
        $fields[] = 'Phone3';
        $fields[] = 'SkypeId';
        $fields[] = 'Website';
        $fields[] = 'Comment';
        $fields[] = 'History';
        $obj = $this->formInit($formmap, $fields);
        $obj->set('Description', htmlspecialchars($obj->get('Description'), ENT_QUOTES));
        $obj->set('Name', htmlspecialchars($obj->get('Name'), ENT_QUOTES));
        $obj->CMSId = (object) array();
        $obj->CMSId->view = $obj;
        $obj->CMSId->field = 'CMSId';
        $obj->CMSId->config['t'] = 'Users';
        $obj->CMSId->config['m2'] = 'getEUserASList';
        $obj->CMSId->inpstyle = " style='width:100%'";
        $obj->set('Notes', htmlspecialchars($obj->get('Notes')));
        $obj->set('ContactField3', htmlspecialchars($obj->get('ContactField3')));
        $obj->set('ContactField4', htmlspecialchars($obj->get('ContactField4')));
        $obj->Birthday = EasyContactFormsUtils::getDate($obj->get('Birthday'));
        $obj->set('Country', htmlspecialchars($obj->get('Country'), ENT_QUOTES));
        $obj->set('City', htmlspecialchars($obj->get('City'), ENT_QUOTES));
        $obj->set('State', htmlspecialchars($obj->get('State'), ENT_QUOTES));
        $obj->set('Zip', htmlspecialchars($obj->get('Zip'), ENT_QUOTES));
        $obj->set('Address', htmlspecialchars($obj->get('Address')));
        $obj->set('email', htmlspecialchars($obj->get('email'), ENT_QUOTES));
        $obj->set('email2', htmlspecialchars($obj->get('email2'), ENT_QUOTES));
        $obj->set('Cell', htmlspecialchars($obj->get('Cell'), ENT_QUOTES));
        $obj->set('Phone1', htmlspecialchars($obj->get('Phone1'), ENT_QUOTES));
        $obj->set('Phone2', htmlspecialchars($obj->get('Phone2'), ENT_QUOTES));
        $obj->set('Phone3', htmlspecialchars($obj->get('Phone3'), ENT_QUOTES));
        $obj->set('SkypeId', htmlspecialchars($obj->get('SkypeId'), ENT_QUOTES));
        $obj->set('Website', htmlspecialchars($obj->get('Website'), ENT_QUOTES));
        $obj->set('Comment', htmlspecialchars($obj->get('Comment')));
        ?>
		<input type='hidden' class='ufostddata' id='t' value='<?php 
        echo $obj->type;
        ?>
'>
		<input type='hidden' class='ufostddata' id='oid' value='<?php 
        echo $obj->getId();
        ?>
'>
		<?php 
        require_once 'views/easy-contact-forms-usersmainform.php';
    }
 /**
  * 	fillInTemplate
  *
  * 	fills the template with object data
  *
  * @param object $template
  * 	email template
  * @param string $object
  * 	object type
  *
  * @return object
  * 	the filled template
  */
 function fillInTemplate($template, $object)
 {
     if (!is_object($object)) {
         $template->body = str_replace('{messagebody}', $object, $template->body);
     } else {
         $fields = get_object_vars($object);
         foreach ($fields as $fname => $fvalue) {
             $value = (EasyContactFormsUtils::endsWith($fname, 'date') || EasyContactFormsUtils::endsWith($fname, 'deadline')) && is_numeric($fvalue) ? EasyContactFormsUtils::getDate($fvalue) : $fvalue;
             if (isset($template->ishtml) && $template->ishtml) {
                 $value = nl2br('' . $value);
             }
             if (isset($template->body)) {
                 $fldcheck = EasyContactFormsBackOffice::fldTemplateReplace($template->body, $fname, $value);
                 if (!$fldcheck) {
                     $template->body = str_replace('{' . $fname . '}', $value, $template->body);
                 } else {
                     $template->body = $fldcheck;
                 }
             }
             if (isset($template->subject)) {
                 $fldcheck = EasyContactFormsBackOffice::fldTemplateReplace($template->subject, $fname, $value);
                 if (!$fldcheck) {
                     $template->subject = str_replace('{' . $fname . '}', $value, $template->body);
                 } else {
                     $template->subject = $fldcheck;
                 }
             }
         }
     }
     return $template;
 }
 /**
  * 	processEntry
  *
  * @param  $map
  * 
  *
  * @return
  * 
  */
 function processEntry($map)
 {
     $currentuser = isset($map['easycontactusr']) ? $map['easycontactusr'] : NULL;
     if (is_null($currentuser)) {
         return;
     }
     $newobjectmap = array();
     $newobjectmap['easycontactusr'] = $currentuser;
     $id = intval($map['oid']);
     if ($id == 0) {
         return;
     }
     $entry = EasyContactFormsClassLoader::getObject('CustomFormsEntries', TRUE, $id);
     $content = $entry->get('Content');
     $xml = simplexml_load_string($content);
     $userid = (string) $xml->attributes()->userid;
     $userid = empty($userid) ? NULL : intval($userid);
     if (empty($userid)) {
         $users = EasyContactFormsClassLoader::getObject('Users');
         $user = $users->getEmptyObject($newobjectmap);
         $siteuserid = $entry->get('SiteUser');
         $siteuserid = empty($siteuserid) ? NULL : $siteuserid;
         if (!is_null($siteuserid)) {
             $usrquery = "SELECT\n\t\t\t\t\t\t\tuser_login AS username,\n\t\t\t\t\t\t\tuser_email AS email,\n\t\t\t\t\t\t\tdisplay_name AS name\n\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t#wp__users\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\tID='{$siteuserid}'";
             $susr = EasyContactFormsDB::getObjects($usrquery);
             $susr = $susr[0];
             $susrname = !empty($susr->name) ? $susr->name : $susr->username;
             if (empty($susrname)) {
                 $user->set('Description', $susrname);
             }
             if (empty($susr->email)) {
                 $user->set('email', $susr->email);
             }
             $user->set('CMSId', $siteuserid);
         }
     } else {
         $user = EasyContactFormsClassLoader::getObject('Users', true, $userid);
         $user->user = $currentuser;
     }
     $user->save();
     $entry->set('Date', EasyContactFormsUtils::getDate($entry->get('Date'), false, true, true));
     $entry->set('Users', $user->get('id'));
     $entry->save();
     $form = EasyContactFormsClassLoader::getObject('CustomForms', true, $entry->get('CustomForms'));
     $form->set('TotalProcessedEntries', $form->get('TotalProcessedEntries') + 1);
     $form->save();
     unset($map['oid']);
     unset($map['n']);
     $mn = isset($map['a']) ? 'viewDetailed' : 'view';
     $map['m'] = $mn;
     EasyContactFormsRoot::processEvent($map);
 }
 /**
  * 	getEmptyObject. Overrides EasyContactFormsBase::getEmptyObject()
  *
  * 	creates and initializes a new CustomFormEntryFile
  *
  * @param array $map
  * 	request data
  * @param array $fields
  * 	a field array
  *
  * @return object
  * 	the initialized instance
  */
 function getEmptyObject($map, $fields = NULL)
 {
     $fields = (object) array();
     $fields->Date = EasyContactFormsUtils::getDate(NULL, TRUE);
     $fields->CustomFormsEntries = EasyContactFormsDB::getFirst('CustomFormsEntries');
     return parent::getEmptyObject($map, $fields);
 }