/**
  * 	getListMemberEmails
  *
  * 	gets user data of people in the mailing list
  *
  * @param string $type
  * 	object type
  * @param int $oid
  * 	object id
  *
  * @return array
  * 	an array of contact data items
  */
 function getListMemberEmails($type, $oid)
 {
     $dbobjname = EasyContactFormsDB::getTableName($type . '_MailingLists');
     $query = "SELECT Contacts FROM {$dbobjname} WHERE {$type}='{$oid}'";
     $rs = EasyContactFormsDB::getObjects($query);
     $result = array();
     foreach ($rs as $item) {
         $user = $this->getSenderData($item->Contacts);
         if (!is_null($user)) {
             $result[$user->email] = $user->email;
         }
     }
     $dbobjname = EasyContactFormsDB::getTableName($type);
     $query = "SELECT ObjectOwner FROM {$dbobjname} WHERE id='{$oid}'";
     $ooid = EasyContactFormsDB::getValue($query);
     $user = $this->getSenderData($ooid);
     if (!is_null($user)) {
         $result[$user->email] = $user->email;
     }
     return $result;
 }
 /**
  * 	setOption
  *
  * @param  $group
  * 
  * @param  $name
  * 
  * @param  $value
  * 
  *
  * @return
  * 
  */
 function setOption($group, $name, $value)
 {
     $Description = $name;
     $OptionGroup = $group;
     $query = "SELECT\n\t\t\t\tOptions.id\n\t\t\tFROM\n\t\t\t\t#wp__easycontactforms_options AS Options\n\t\t\tWHERE\n\t\t\t\tOptions.Description LIKE '{$Description}'\n\t\t\t\tAND Options.OptionGroup LIKE '{$OptionGroup}'";
     $id = EasyContactFormsDB::getValue($query);
     if (!$id) {
         $option = EasyContactFormsClassLoader::getObject('Options', true);
         $option->set('Description', $Description);
         $option->set('OptionGroup', $OptionGroup);
     } else {
         $option = EasyContactFormsClassLoader::getObject('Options', true, $id);
     }
     $option->set('Value', $value);
     $option->save();
 }
 /**
  * 	getFirst
  *
  * 	selects a first record in an object table
  *
  * @param string $type
  * 	a type of object to look up
  * @param boolean $lp
  * 	indicates a way of object ordering
  *
  * @return int
  * 	a found object id
  */
 function getFirst($type, $lp = FALSE)
 {
     $orderby = $lp ? 'ListPosition' : 'Description';
     $tablename = EasyContactFormsDB::getTableName($type);
     $query = 'SELECT id FROM ' . $tablename . ' ORDER BY ' . $orderby . ' LIMIT 1';
     $result = EasyContactFormsDB::getValue($query);
     return $result;
 }
/**
 * 	Displays a EasyContactFormsUsers main view record
 *
 * @param object $view
 * 	the EasyContactFormsUsers main view object
 * @param object $obj
 * 	a db object
 * @param int $i
 * 	record index
 * @param array $map
 * 	request data
 */
function getUsersMainViewRow($view, $obj, $i, $map)
{
    $obj->Description = array();
    $obj->Description[] = $obj->get('Name');
    $obj->Description[] = $obj->get('Description');
    $obj->Description = EasyContactFormsUtils::vImplode(' ', $obj->Description);
    $usrname = EasyContactFormsDB::getValue("SELECT display_name  FROM #wp__users WHERE ID = '" . $obj->get('CMSId') . "'");
    if ($usrname) {
        $obj->CMSId = $usrname;
    } else {
        $obj->CMSId = ' ';
    }
    ?>
  <tr class='ufohighlight <?php 
    EasyContactFormsIHTML::getTrSwapClassName($i);
    ?>
'>
    <td class='firstcolumn'>
      <input type='checkbox' id='<?php 
    echo $view->idJoin('cb', $obj->getId());
    ?>
' value='off' class='ufo-deletecb' onchange='this.value=(this.checked)?"on":"off";'/>
    </td>
    <td>
      <?php 
    echo $obj->get('id');
    ?>
    </td>
    <td>
      <a id='<?php 
    echo $obj->elId('Description', $obj->getId());
    ?>
' class='ufo-id-link' onclick='ufo.redirect({m:"show", oid:"<?php 
    echo $obj->get('id');
    ?>
", t:"Users"})' onmouseover='ufo.showInfo({t:"Users", m2:"getUserASList", oid:<?php 
    echo $obj->get('id');
    ?>
, m:"ajaxsuggest"}, this)'>
        <?php 
    echo $obj->Description;
    ?>
      </a>
    </td>
    <td>
      <a onclick='ufo.redirect({m:"show", oid:"<?php 
    echo $obj->get('ContactType');
    ?>
", t:"ContactTypes"})'>
        <?php 
    echo $obj->get('ContactTypeDescription');
    ?>
      </a>
    </td>
    <td>
      <?php 
    EasyContactFormsIHTML::echoDate($obj->get('Birthday'), EasyContactFormsApplicationSettings::getInstance()->getDateFormat('PHP'), 0);
    ?>
    </td>
    <td>
      <?php 
    echo $obj->get('RoleDescription');
    ?>
    </td>
    <td>
      <?php 
    echo $obj->CMSId;
    ?>
    </td>
    <td>
      <?php 
    $a = $obj->get('email');
    if (!empty($a)) {
        ?>
        <a href='mailto:<?php 
        echo $a;
        ?>
'><?php 
        echo $a;
        ?>
</a>
      <?php 
    } else {
        echo '&nbsp;';
    }
    ?>
    </td>
  </tr>
	<?php 
}
/**
 * 	Displays a EasyContactFormsCustomFormsEntries main view record
 *
 * @param object $view
 * 	the EasyContactFormsCustomFormsEntries main view object
 * @param object $obj
 * 	a db object
 * @param int $i
 * 	record index
 * @param array $map
 * 	request data
 */
function getCustomFormsEntriesMainViewRow($view, $obj, $i, $map)
{
    $usrname = EasyContactFormsDB::getValue("SELECT display_name  FROM #wp__users WHERE ID = '" . $obj->get('SiteUser') . "'");
    if ($usrname) {
        $obj->SiteUser = $usrname;
    } else {
        $obj->SiteUser = '******';
    }
    ?>
  <tr class='ufohighlight <?php 
    EasyContactFormsIHTML::getTrSwapClassName($i);
    ?>
'>
    <td class='firstcolumn'>
      <input type='checkbox' id='<?php 
    echo $view->idJoin('cb', $obj->getId());
    ?>
' value='off' class='ufo-deletecb' onchange='this.value=(this.checked)?"on":"off";'>
    </td>
    <td>
      <?php 
    $usr = $obj->get('Users');
    if (empty($usr)) {
        $cff = EasyContactFormsClassLoader::getObject('CustomFormFields');
        $cff->getSettingsFormButton('entry-add', EasyContactFormsT::get('CF_ProcessEntry'), "onclick='ufoCf.processEntry(" . $obj->get('id') . ", " . $view->jsconfig . ");'", 'icon_button_add');
    }
    ?>
    </td>
    <td>
      <a onclick='ufo.redirect({m:"show", oid:"<?php 
    echo $obj->get('id');
    ?>
", t:"CustomFormsEntries"})' onmouseover='ufo.showInfo({t:"CustomFormsEntries", m2:"getASList", oid:<?php 
    echo $obj->get('id');
    ?>
, m:"ajaxsuggest"}, this)'>
        <?php 
    EasyContactFormsIHTML::echoStr($obj->get('id'));
    ?>
      </a>
    </td>
    <td>
      <?php 
    EasyContactFormsIHTML::echoDate($obj->get('Date'), EasyContactFormsApplicationSettings::getInstance()->getDateFormat('PHP', TRUE), 0);
    ?>
    </td>
    <td>
      <a onclick='ufo.redirect({m:"show", oid:"<?php 
    echo $obj->get('CustomForms');
    ?>
", t:"CustomForms"})'>
        <?php 
    echo $obj->get('CustomFormsDescription');
    ?>
      </a>
    </td>
    <td>
      <?php 
    echo $obj->get('PageName');
    ?>
    </td>
    <td>
      <a onclick='ufo.redirect({m:"show", oid:"<?php 
    echo $obj->get('Users');
    ?>
", t:"Users"})'>
        <?php 
    echo $obj->get('UsersDescription');
    ?>
      </a>
    </td>
    <td>
      <?php 
    echo $obj->SiteUser;
    ?>
    </td>
  </tr>
	<?php 
}
Esempio n. 6
0
 /**
  * 	moveRow
  *
  * 	moves a row up and down
  *
  * @param string $mrtype
  * 	a type of object to move
  * @param array $viewmap
  * 	request values
  * @param array $mrfilters
  * 	optional filter values
  * @param string $alias
  * 	an alias to use when building a query
  */
 function moveRow($mrtype, $viewmap, $mrfilters = array(), $alias = '')
 {
     if (!isset($viewmap['a'])) {
         return;
     }
     $a = json_decode(stripslashes($viewmap['a']));
     if (!isset($a->m) || $a->m != 'moveRow') {
         return;
     }
     $mrrowid = intval($a->lpi);
     $mr_direction = intval($a->lpd);
     $lpsort = isset($a->srt) ? $a->srt : 'ASC';
     $sort_direction = $lpsort == 'DESC' ? -1 : 1;
     if ($mr_direction == $sort_direction) {
         $func_name = "MAX";
         $mrsign = "<";
     } else {
         $func_name = "MIN";
         $mrsign = ">";
     }
     $obj = EasyContactFormsClassLoader::getObject($mrtype);
     $t_name = $obj->getTableName();
     $query = "SELECT ListPosition FROM {$t_name} WHERE id = '{$mrrowid}'";
     $l_pos = EasyContactFormsDB::getValue($query);
     $dot = $alias == '' ? '' : '.';
     $as = $alias == '' ? '' : 'AS';
     $mrfilters['fnames'][] = $alias . $dot . "ListPosition {$mrsign} :_l_pos";
     $mrfilters['fvalues'][':_l_pos'] = $l_pos;
     $query = "SELECT {$func_name}(ListPosition) AS lp FROM {$t_name} {$as} {$alias}";
     $rs = EasyContactFormsDB::select($query, $mrfilters);
     if (count($rs) > 0 && !empty($rs[0]->lp)) {
         $c_pos = $rs[0]->lp;
         $query = "SELECT id FROM {$t_name} WHERE ListPosition = {$c_pos}";
         $c_oid = EasyContactFormsDB::getValue($query);
         $valuemap['ListPosition'] = $c_pos;
         EasyContactFormsDB::update($valuemap, $obj->type, $mrrowid);
         $valuemap = array();
         $valuemap['ListPosition'] = $l_pos;
         EasyContactFormsDB::update($valuemap, $obj->type, $c_oid);
     }
 }
    /**
     * 	getUserStatistics
     *
     *
     * @return
     * 
     */
    function getUserStatistics()
    {
        $users = EasyContactFormsDB::getValue('SELECT COUNT(Users.id) AS Count FROM #wp__easycontactforms_users AS Users');
        $wpusers = EasyContactFormsDB::getValue('SELECT COUNT(Users.ID) AS Count FROM #wp__users AS Users');
        $query = "SELECT\n\t\t\t\tCOUNT(Users.id) AS Count\n\t\t\tFROM\n\t\t\t\t#wp__easycontactforms_users AS Users\n\t\t\tWHERE\n\t\t\t\tUsers.CMSId<>0";
        $regusers = EasyContactFormsDB::getValue($query);
        ?>

		
<table class='ufo-userstatistics'>
  <tr>
    <td>
      <?php 
        echo EasyContactFormsT::get('SiteUserCount');
        ?>
    </td>
    <td>
      <?php 
        echo $wpusers;
        ?>
    </td>
  </tr>
  <tr>
    <td>
      <?php 
        echo EasyContactFormsT::get('EasyContactUserCount');
        ?>
    </td>
    <td>
      <?php 
        echo $users;
        ?>
    </td>
  </tr>
  <tr>
    <td>
      <?php 
        echo EasyContactFormsT::get('SiteUserCountInEasyContactCount');
        ?>
    </td>
    <td>
      <?php 
        echo $regusers;
        ?>
    </td>
  </tr>
</table>

		<?php 
    }
 /**
  * 	getSid
  *
  *
  * @return
  * 
  */
 function getSid()
 {
     if (rand(1, 10) == 9) {
         $nDaysAgo = 3;
         $query = "DELETE FROM `#wp__easycontactforms_sessions` WHERE opentime < '" . date("Y-m-d H:i:s", time() - 24 * 60 * 60 * $nDaysAgo) . "'";
         EasyContactFormsDB::query($query);
     }
     $pwd = EasyContactFormsSecurityManager::getServerPwd();
     $maxid = EasyContactFormsDB::getValue('SELECT MAX(id) FROM #wp__easycontactforms_sessions');
     $sid = md5($maxid + 10 . $pwd);
     $query = 'INSERT INTO #wp__easycontactforms_sessions(sid, value) VALUES (\'' . $sid . '\', \'<data />\')';
     EasyContactFormsDB::query($query);
     return $sid;
 }
 /**
  * 	processHistory
  *
  * 	performs status/comment/history processing
  *
  * @param array $fieldvalues
  * 	request field data
  * @param string $type
  * 	object type
  * @param int $oid
  * 	object id
  * @param int $uid
  * 	current user id
  */
 function processHistory($fieldvalues, $type, $oid, $uid)
 {
     $object = EasyContactFormsClassLoader::getObject($type, TRUE, $oid);
     $is_st_changed = isset($fieldvalues->Status) && $fieldvalues->Status != $object->get('Status');
     $not_on_sn_chng_var = $type . '_NotifyOnStatusChange';
     $not_on_st_change = EasyContactFormsApplicationSettings::getInstance()->get($not_on_sn_chng_var);
     $is_n_comment = isset($fieldvalues->Comment) && !empty($fieldvalues->Comment);
     $not_on_new_comment_var = $type . '_NotifyOnNewComment';
     $not_on_new_comment = EasyContactFormsApplicationSettings::getInstance()->get($not_on_new_comment_var);
     $send_message = $is_n_comment && $not_on_new_comment || $is_st_changed && $not_on_st_change;
     if (!$is_st_changed && !$is_n_comment) {
         return $fieldvalues;
     }
     $type_status_map = array();
     $objname = EasyContactFormsDB::getTableName($type_status_map[$type]);
     $status = '';
     if (isset($objname)) {
         $sid = $is_st_changed ? intval($fieldvalues->Status) : $object->get('Status');
         $status = EasyContactFormsDB::getValue("SELECT Description FROM {$objname} WHERE id='{$sid}'");
         $status .= ' -- ';
     }
     $user = EasyContactFormsDB::getValue("SELECT CONCAT(Description,' ',Name) FROM #wp__easycontactforms_users WHERE id='{$uid}'");
     $text = (object) array('body' => '', 'subject' => '');
     $comment = '';
     $delimeter = '-- ' . $user . ' -- ' . $status . date(EasyContactFormsT::get('DateTimeFormat')) . ' --<br/>';
     if ($is_n_comment) {
         $comment = $fieldvalues->Comment;
         unset($fieldvalues->Comment);
         $text->body = $comment;
         $stemplate = EasyContactFormsApplicationSettings::getInstance()->get('NewCommentSubject');
         $text->subject = sprintf($stemplate, $type, $object->get('Description'), $status);
     }
     if ($is_st_changed) {
         $stemplate = EasyContactFormsApplicationSettings::getInstance()->get('StatusChangeSubject');
         $text->subject = sprintf($stemplate, $type, $object->get('Description'), $status);
     }
     $history = $delimeter . $text->body . '<br/>' . $object->get('History');
     $fieldvalues->History = $history;
     if ($send_message) {
         $this->sendNotification($uid, $type, $oid, $text);
     }
     return $fieldvalues;
 }
 /**
  * 	increase
  *
  * @param  $fieldname
  * 
  * @param  $formid
  * 
  * @param  $pagename
  * 
  *
  * @return
  * 
  */
 function increase($fieldname, $formid, $pagename)
 {
     $query = "SELECT\n\t\t\t\tCustomFormEntryStatistics.id\n\t\t\tFROM\n\t\t\t\t#wp__easycontactforms_customformentrystatistics AS CustomFormEntryStatistics\n\t\t\tWHERE\n\t\t\t\tCustomFormEntryStatistics.CustomForms=%d\n\t\t\t\tAND CustomFormEntryStatistics.PageName LIKE %s";
     global $wpdb;
     $query = $wpdb->prepare($query, $formid, $pagename);
     $objid = EasyContactFormsDB::getValue($query);
     if (!$objid) {
         $obj = EasyContactFormsClassLoader::getObject($this->type, true);
         $obj->set('PageName', $pagename);
         $obj->set('CustomForms', $formid);
     } else {
         $obj = EasyContactFormsClassLoader::getObject($this->type, true, $objid);
     }
     $obj->set($fieldname, $obj->get($fieldname) + 1);
     $obj->save();
 }
Esempio n. 11
0
 /**
  * 	webdirUpload
  *
  * 	takes a file from a temporary folder, registers it in the file
  * 	manager
  * 	places the file to a web directory for direct download and makes a
  * 	thumbnail
  * 	copy if it is necessary
  *
  * @param array $_uldmap
  * 	request data
  */
 function webdirUpload($_uldmap)
 {
     $filerequestid = $_uldmap['t'] . '_' . $_uldmap['fld'] . '_' . $_uldmap['oid'];
     if ($_FILES[$filerequestid]['error'] != UPLOAD_ERR_OK) {
         return FALSE;
     }
     $oowner = $_uldmap['easycontactusr']->id;
     $filename = $_FILES[$filerequestid]['name'];
     $tmpname = $_FILES[$filerequestid]['tmp_name'];
     $filesize = $_FILES[$filerequestid]['size'];
     $filetype = mysql_real_escape_string($_FILES[$filerequestid]['type']);
     $id = intval($_uldmap['oid']);
     $Type = mysql_real_escape_string($_uldmap['t']);
     $fieldname = mysql_real_escape_string($_uldmap['fld']);
     $filename = mysql_real_escape_string($filename);
     $ds = DIRECTORY_SEPARATOR;
     $targdir = EASYCONTACTFORMS__fileUploadDir . $ds . $Type . $ds . $id . $ds . $fieldname;
     $query = "SELECT Name FROM #wp__easycontactforms_files WHERE Doctype='{$Type}' AND Docid='{$id}' AND Docfield='{$fieldname}'";
     $name = EasyContactFormsDB::getValue($query);
     $filepath = $targdir . $ds . $name;
     if (is_file($filepath)) {
         unlink($filepath);
     }
     $filepath = $targdir . $ds . $filename;
     $query = "DELETE FROM #wp__easycontactforms_files WHERE Doctype='{$Type}' AND Docid='{$id}' AND Docfield='{$fieldname}'";
     EasyContactFormsDB::query($query);
     $valuemap = array();
     $valuemap['Count'] = '0';
     $valuemap['Docfield'] = $fieldname;
     $valuemap['Doctype'] = $Type;
     $valuemap['Docid'] = $id;
     $valuemap['Name'] = $filename;
     $valuemap['Size'] = $filesize;
     $valuemap['Type'] = $filetype;
     $valuemap['Protected'] = 0;
     $valuemap['Webdir'] = 1;
     $valuemap['Storagename'] = $filename;
     $valuemap['ObjectOwner'] = $oowner;
     $isid = EasyContactFormsDB::insert($valuemap, 'Files');
     if ($Type == 'Files') {
         $valuemap = array();
         $valuemap['Docid'] = $isid;
         EasyContactFormsDB::update($valuemap, 'Files', $isid);
     }
     if (!is_dir($targdir)) {
         EasyContactFormsUtils::createFolder($targdir);
     }
     move_uploaded_file($tmpname, $filepath);
     if (isset($_uldmap['thumbnailx']) && intval($_uldmap['thumbnailx']) != 0) {
         $newfieldname = 'thumb' . $fieldname;
         $newfilename = 'thumb' . $filename;
         $newtargdir = EASYCONTACTFORMS__fileUploadDir . $ds . $Type . $ds . $id . $ds . $newfieldname;
         $query = "SELECT Name FROM #wp__easycontactforms_files WHERE Doctype='{$Type}' AND Docid='{$id}' AND Docfield='thumb{$fieldname}'";
         $name = EasyContactFormsDB::getValue($query);
         if (is_file($newtargdir . $ds . $name)) {
             unlink($newtargdir . $ds . $name);
         }
         EasyContactFormsUtils::createFolder($newtargdir);
         EasyContactFormsFiles::imgResize($filepath, $newtargdir . $ds . $newfilename, $_uldmap['thumbnailx'], $_uldmap['thumbnaily'], 0xffffff, 80);
         $query = "DELETE FROM #wp__easycontactforms_files WHERE Doctype='{$Type}' AND Docid='{$id}' AND Docfield='{$newfieldname}'";
         EasyContactFormsDB::query($query);
         $valuemap = array();
         $valuemap['Count'] = '0';
         $valuemap['Docfield'] = $newfieldname;
         $valuemap['Doctype'] = $Type;
         $valuemap['Docid'] = $id;
         $valuemap['Name'] = $newfilename;
         $valuemap['Size'] = filesize($newtargdir . $ds . $newfilename);
         $valuemap['Type'] = $filetype;
         $valuemap['Protected'] = 0;
         $valuemap['Webdir'] = 1;
         $valuemap['Storagename'] = $newfilename;
         $valuemap['ObjectOwner'] = $oowner;
         EasyContactFormsDB::insert($valuemap, 'Files');
     }
     if (isset($_uldmap['resizex']) && intval($_uldmap['resizex']) != 0) {
         EasyContactFormsFiles::imgResize($filepath, $filepath, $_uldmap['resizex'], $_uldmap['resizey'], 0xffffff, 80);
         $valuemap = array();
         $valuemap['Size'] = filesize($filepath);
         EasyContactFormsDB::update($valuemap, 'Files', $isid);
     }
     echo json_encode(array('success' => 'TRUE'));
     return TRUE;
 }
 /**
  * 	getValue
  *
  * 	Returns a field value of an object with given id
  *
  * @param string $fldName
  * 	field name
  * @param int $id
  * 	object id
  *
  * @return arbitrary
  * 	the value
  */
 function getValue($fldName, $id)
 {
     $tablename = $this->getTableName();
     $id = intval($id);
     return EasyContactFormsDB::getValue("SELECT {$fldName} FROM {$tablename} WHERE id='{$id}';");
 }
 /**
  * 	installTemplate
  *
  * @param  $map
  * 
  *
  * @return
  * 
  */
 function installTemplate($map)
 {
     $args = $map['a'];
     if (function_exists('gzinflate')) {
         $args['inflate'] = true;
     }
     $apiresponse = EasyContactFormsRoot::api('form-template-install', $args);
     if (is_wp_error($apiresponse)) {
         $this->processAPIError($apiresponse->get_error_message());
     } else {
         if ($apiresponse->error == 1) {
             $this->processAPIError($apiresponse->text);
         }
     }
     $tpl = $apiresponse->text;
     $tpl = base64_decode($tpl);
     if (function_exists('gzinflate')) {
         $tpl = gzinflate($tpl);
     }
     $tpl = unserialize($tpl);
     if (!$tpl) {
         $this->processAPIError('Wrong response from the API');
     }
     $tplfields = array();
     $tplfields[] = 'NotificationText';
     $tplfields[] = 'NotificationSubject';
     $tplfields[] = 'ConfirmationText';
     $tplfields[] = 'ConfirmationSubject';
     $tplfields[] = 'ReplyToNameTemplate';
     $form = EasyContactFormsClassLoader::getObject('CustomForms', true);
     $formid = $form->get('id');
     $form->setData($tpl->form);
     $form->set('id', $formid);
     $form->save();
     $tplfieldvalues = array();
     foreach ($tplfields as $fld) {
         $tplfieldvalues[$fld] = $form->get($fld);
     }
     $mapping = array();
     foreach ($tpl->c as $fld) {
         $oldfldid = $fld->id;
         $field = EasyContactFormsClassLoader::getObject('CustomFormFields', true);
         $fieldid = $field->get('id');
         $mapping[$oldfldid] = $fieldid;
         $field->setData($fld);
         $field->set('id', $fieldid);
         $field->set('CustomForms', $formid);
         $field->set('FieldSet', $fieldid);
         $field->save();
         $field->updateTemplate();
     }
     foreach ($tpl->f as $fld) {
         $oldfldid = $fld->id;
         $field = EasyContactFormsClassLoader::getObject('CustomFormFields', true);
         $fieldid = $field->get('id');
         $field->setData($fld);
         $field->set('id', $fieldid);
         $field->set('CustomForms', $formid);
         $field->set('FieldSet', $mapping[$fld->FieldSet]);
         $field->save();
         $field->updateTemplate();
         foreach ($tplfieldvalues as $name => $value) {
             $tplfieldvalues[$name] = $this->getTemplateTag($field->get('Description'), $fieldid, $value, $oldfldid);
         }
     }
     foreach ($tplfieldvalues as $name => $value) {
         $form->set($name, $value);
     }
     $currentuser = get_current_user_id();
     $query = "SELECT Users.id FROM #wp__easycontactforms_users AS Users WHERE Users.CMSId = '{$currentuser}'";
     $userid = EasyContactFormsDB::getValue($query);
     if (!is_null($userid)) {
         $form->set('ObjectOwner', $userid);
     }
     $form->save();
     $response = (object) array();
     $response->error = 0;
     $response->message = 'The template is installed';
     $response = json_encode($response);
     echo $response;
 }
 /**
  * 	updates field settings
  *
  * @param array $map
  * 	request data
  */
 function updateFieldData($map)
 {
     $values = $map["a"];
     $values = json_decode(stripslashes($values));
     $form = $values[0];
     $objid = intval($form->oid);
     $data = $form->a;
     $fld = EasyContactFormsClassLoader::getObject('CustomFormFields', true, $objid);
     $flds = array();
     $type = $fld->get('Type');
     $query = "SELECT\n\t\t\t\tCustomFormFieldTypes.Settings\n\t\t\tFROM\n\t\t\t\t#wp__easycontactforms_customformfieldtypes AS CustomFormFieldTypes\n\t\t\tWHERE\n\t\t\t\tCustomFormFieldTypes.id={$type}";
     $typesettings = EasyContactFormsDB::getValue($query);
     $fieldsettings = $fld->get('Settings');
     $typexml = simplexml_load_string($typesettings);
     $fldxml = new EasyContactFormsSimpleXML($fieldsettings);
     foreach ($typexml->children() as $item) {
         $name = $item->getName();
         if (isset($data->{$name})) {
             $value = $data->{$name};
             $value = str_replace('&', '&amp;', $value);
             $value = str_replace(chr(39), '&#39;', $value);
             unset($fldxml->{$name});
             $fldxml->addCDATA($name, $value);
             if ($name == 'Label') {
                 $flds['Description'] = $value;
             }
         } else {
             $typeval = (string) $typexml->{$name};
             if (!isset($fldxml->{$name}) && !empty($typeval)) {
                 $fldxml->{$name} = $typeval;
             }
         }
     }
     $options = array();
     foreach ($data as $key => $value) {
         if (!EasyContactFormsUtils::beginsWith($key, 'ufo-fieldform-option-li')) {
             continue;
         }
         $options[$key] = $value;
     }
     if (sizeof($options) > 0) {
         unset($fldxml->Options);
         $fldxml->Options['type'] = 'items';
         foreach ($options as $key => $value) {
             $value = htmlspecialchars($value, ENT_QUOTES);
             $option = $fldxml->Options->addChild('option', $value);
             $oid = explode('-', $key);
             $oid = $oid[count($oid) - 1];
             $option['index'] = $oid;
             $dname = "ufo-fieldform-option-default-{$oid}";
             if ($data->{$dname} == 'on') {
                 $option['default'] = 'true';
             }
         }
     }
     $phase = (object) array('index' => 2);
     include $fld->getTMPFileName('proc');
     $xml = $fldxml->asXML();
     $flds['Settings'] = $xml;
     parent::update($flds, $objid);
     $fld->set('Settings', $xml);
     $fld->updateTemplate();
 }
Esempio n. 15
0
switch ($phase->index) {
    case 4:
        $id = $fld->get('id');
        $query = "SELECT CustomForms.ObjectOwner FROM #wp__easycontactforms_customformfields AS CustomFormFields  LEFT JOIN #wp__easycontactforms_customforms AS CustomForms  ON CustomFormFields.CustomForms = CustomForms.id WHERE CustomFormFields.id = '{$id}'";
        $userid = EasyContactFormsDB::getValue($query);
        $user = EasyContactFormsClassLoader::getObject('Users', true, $userid);
        $uopts = (object) array();
        $uopts->Email = $user->get('email');
        $uopts->FirstName = $user->get('Name');
        $uopts->LastName = $user->get('Description');
        echo json_encode($uopts);
        break;
    case 2:
        $id = $fld->get('id');
        $query = "SELECT CustomForms.ObjectOwner FROM #wp__easycontactforms_customformfields AS CustomFormFields  LEFT JOIN #wp__easycontactforms_customforms AS CustomForms  ON CustomFormFields.CustomForms = CustomForms.id WHERE CustomFormFields.id = '{$id}'";
        $userid = EasyContactFormsDB::getValue($query);
        if (!$userid) {
            return;
        }
        $user = EasyContactFormsClassLoader::getObject('Users', true, $userid);
        $uoptsxml = $user->isEmpty('Options') ? '<data></data>' : $user->get('Options');
        $uoptsxml = simplexml_load_string($uoptsxml);
        if (isset($data->ChangeAccount)) {
            unset($uoptsxml->vcita);
            $uoptsxml->addChild('vcita');
        }
        if (isset($data->UpdateStatus)) {
            $uoptsxml->UpdateStatus = 'true';
        } else {
            unset($uoptsxml->UpdateStatus);
        }