/**
  * 	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;
 }
Esempio n. 2
0
/**
 * 	easycontactforms_admin_pointers
 *
 */
function easycontactforms_admin_pointers()
{
    require_once 'easy-contact-forms-root.php';
    $version = '1';
    $prefix = 'easycontactforms_admin_pointers' . $version . '_';
    $currentweek = time() - 7 * 24 * 60 * 60;
    $query = "SELECT\n\t\t\t\tCOUNT(CustomFormsEntries.id) AS Entries,\n\t\t\t\tCustomForms.Description,\n\t\t\t\tCustomFormsEntries.CustomForms\n\t\t\tFROM\n\t\t\t\t#wp__easycontactforms_customformsentries AS CustomFormsEntries\n\t\t\tINNER JOIN\n\t\t\t\t#wp__easycontactforms_customforms AS CustomForms\n\t\t\t\t\tON\n\t\t\t\t\t\tCustomFormsEntries.CustomForms=CustomForms.id\n\t\t\tWHERE\n\t\t\t\tCustomFormsEntries.Date>='{$currentweek}'\n\t\t\tGROUP BY CustomForms.Description,\n\t\t\t\tCustomFormsEntries.CustomForms\n\t\t\tORDER BY\n\t\t\t\tEntries DESC\n\t\t\tLIMIT 2";
    $entries = EasyContactFormsDB::getObjects($query);
    $entry = $entries[0];
    $fid = $entry->CustomForms;
    $time = time();
    $imgurl = admin_url('admin-ajax.php') . "?t=CustomFormEntryStatistics&m=getImage&oid={$fid}&ac=1&action=easy-contact-forms-submit&time={$time}";
    $new_pointer_content = '<h3>' . __('Contact Form Performance') . '</h3>';
    $new_pointer_content .= '<div style="width:300px;padding:0 15px;">';
    $new_pointer_content .= '<div style="padding:0px;width:150px;float:left;">';
    $new_pointer_content .= '<span style="font-size:10px;color:gray">Popular form</span>';
    $new_pointer_content .= '<h5 style="margin:0 0 4px 0;font-size:12px;">' . $entry->Description . '</h5>';
    $new_pointer_content .= '<a	href="admin.php?page=easy-contact-forms-main-page" style="display:block;height:50px;clear:both;width:150px;"><img src="' . $imgurl . '"></a>';
    $new_pointer_content .= '<span style="font-size:9px;font-family:Arial;">Submissions per day. Last 30 days</span><br>';
    $new_pointer_content .= '</div>';
    $new_pointer_content .= '<div id="easy-contact-forms-pointer" style="float:left;width:110px;padding-left:20px;"></div>';
    $new_pointer_content .= '<div style="clear:both;height:1px"></div>';
    $new_pointer_content .= '<table class="ufo-pointer-table">';
    $new_pointer_content .= '<tr><th>Form Entries</th><th>Last 7 days</th></tr>';
    foreach ($entries as $entry) {
        $new_pointer_content .= '<tr><td>' . $entry->Description . '</td><td>' . $entry->Entries . '</td></tr>';
    }
    $new_pointer_content .= '</table>';
    $new_pointer_content .= '<a href="admin.php?page=easy-contact-forms-main-page">Show full information</a>';
    $new_pointer_content .= '</div>';
    return array($prefix . 'new_items' => array('content' => $new_pointer_content, 'anchor_id' => '#toplevel_page_easy-contact-forms-main-page', 'edge' => 'left', 'align' => 'center', 'active' => true));
}
 /**
  * 	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();
 }
 /**
  * 	update. Overrides EasyContactFormsBase::update()
  *
  * 	updates an object with request data
  *
  * @param array $request
  * 	request data
  * @param int $id
  * 	object id
  */
 function update($request, $id)
 {
     $query = "SELECT\n\t\t\t\tUsers.Role,\n\t\t\t\tUsers.CMSId\n\t\t\tFROM\n\t\t\t\t#wp__easycontactforms_users AS Users\n\t\t\tWHERE\n\t\t\t\tUsers.id='{$id}'";
     $objs = EasyContactFormsDB::getObjects($query);
     $usr = $objs[0];
     global $current_user;
     $currentadmin = $usr->Role == 1 && isset($request->Role) && isset($current_user) && $current_user->ID == $usr->CMSId;
     if ($currentadmin) {
         $as = EasyContactFormsApplicationSettings::getInstance();
         $as->addMessage(EasyContactFormsT::get('CannotChangeCurrentUserRole'));
         $request->Role = 1;
     }
     $request = EasyContactFormsUtils::parseRequest($request, 'ContactType', 'int');
     $request = EasyContactFormsUtils::parseRequest($request, 'Birthday', 'date');
     $request = EasyContactFormsUtils::parseRequest($request, 'Role', 'int');
     $request = EasyContactFormsUtils::parseRequest($request, 'CMSId', 'int');
     parent::update($request, $id);
 }
 /**
  * 	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);
 }
 /**
  * 	updateTemplate
  *
  * @param  $cf
  * 
  *
  * @return
  * 
  */
 function updateTemplate($cf)
 {
     $query = "SELECT\n\t\t\t\tCustomFormFields.id,\n\t\t\t\tFieldSetListPosition.ListPosition AS FieldSetListPosition,\n\t\t\t\tIF(CustomFormFields.Type=1\n\t\t\t\t\tOR CustomFormFields.Type=2,\n\t\t\t\t\t1,\n\t\t\t\t\t0) AS Container\n\t\t\tFROM\n\t\t\t\t#wp__easycontactforms_customformfields AS CustomFormFields\n\t\t\tINNER JOIN\n\t\t\t\t#wp__easycontactforms_customformfieldtypes AS CustomFormFieldTypes\n\t\t\t\t\tON\n\t\t\t\t\t\tCustomFormFields.Type=CustomFormFieldTypes.id\n\t\t\t\tLEFT JOIN(\n\t\t\t\tSELECT\n\t\t\t\t\tCustomFormFields.id,\n\t\t\t\t\tCustomFormFields.ListPosition\n\t\t\t\tFROM\n\t\t\t\t\t#wp__easycontactforms_customformfields AS CustomFormFields) AS FieldSetListPosition\n\t\t\t\t\tON\n\t\t\t\t\t\tFieldSetListPosition.id=CustomFormFields.FieldSet\n\t\t\tWHERE\n\t\t\t\tCustomFormFields.CustomForms={$cf}\n\t\t\tORDER BY\n\t\t\t\tFieldSetListPosition,\n\t\t\t\tContainer DESC,\n\t\t\t\tCustomFormFields.ListPosition";
     $fields = EasyContactFormsDB::getObjects($query);
     $form = EasyContactFormsClassLoader::getObject('CustomForms', true, $cf);
     $stylespec = $form->getStyleSpec();
     $divmargin = $form->isEmpty('LineHeight') ? '' : "margin-top:{$form->get('LineHeight')}{$form->get('LineHeightUnit')};";
     $rows = array();
     $containertag = '';
     $containerbottom = '';
     $containercf = '';
     $containerbottominside = '';
     $iscontainer = false;
     $vjs = array();
     $items = array();
     foreach ($fields as $fld) {
         $fld = EasyContactFormsClassLoader::getObject('CustomFormFields', true, $fld->id);
         $phase = (object) array('index' => 8);
         include $fld->getTMPFileName('proc');
         $text = $fld->get('Template');
         $xml = simplexml_load_string($text);
         if (!$xml) {
             continue;
         }
         $entry = (object) array();
         $iscontainer = false;
         foreach ($xml->children() as $child) {
             $name = $child->getName();
             if ($name == 'Container') {
                 $iscontainer = true;
                 if (!$containertag == '') {
                     if (!empty($containerbottominside)) {
                         $rows[] = $containerbottominside;
                     }
                     $rows[] = "</{$containertag}>";
                     $rows = $form->templateHTML($rows, $stylespec, 6);
                     $rows = $form->templateHTML($rows, $stylespec, 2);
                     if (!empty($containerbottom)) {
                         $rows[] = $containerbottom;
                     }
                     if (!empty($containercf)) {
                         $rows[] = $containercf;
                     }
                 }
                 $containerbottom = '';
                 $containerbottominside = '';
                 $containertag = (string) $child->attributes()->containertag;
                 $containercf = (string) $child->attributes()->addcf == 'on' ? "<div style='clear:both;height:1px'></div>" : '';
             }
             $iscenter = $name == 'Container' || $name == 'Input' || $name == 'Validation';
             $positionname = $iscenter ? 'center' : $child->attributes()->position;
             $width = isset($child->attributes()->width) ? $child->attributes()->width : '';
             $rowclass = isset($child->attributes()->rowclass) ? $child->attributes()->rowclass : '';
             if (!isset($entry->{$positionname})) {
                 $entry->{$positionname} = (object) array();
                 $entry->{$positionname}->list = array();
                 $entry->{$positionname}->width = '';
                 $entry->{$positionname}->rowclass = '';
             }
             array_push($entry->{$positionname}->list, (string) $child);
             $entry->{$positionname}->width = $width;
             $entry->{$positionname}->rowclass = $rowclass;
         }
         if ($iscontainer) {
             if (isset($entry->top)) {
                 $rows[] = implode('', $entry->top->list);
             }
             if (isset($entry->bottom)) {
                 $containerbottom = implode('', $entry->bottom->list);
             }
             if (isset($entry->{'bottom-inside'})) {
                 $containerbottominside = implode('', $entry->{'bottom-inside'}->list);
             }
             $rows = $form->templateHTML($rows, $stylespec, 4);
             $rows[] = implode('', $entry->center->list);
             if (isset($entry->{'top-inside'})) {
                 $rows[] = implode('', $entry->{'top-inside'}->list);
             }
         } else {
             $fldid = $fld->get('id');
             $typeid = $fld->get('Type');
             $rowclass = empty($entry->center->rowclass) ? '' : ' ' . $entry->center->rowclass;
             $rows[] = "<div class='ufo-fieldtype-{$typeid} ufo-customform-row ufo-row-{$fldid}{$rowclass}' style='{$divmargin}{display-{$fldid}}'>";
             if (isset($entry->top)) {
                 $entry->top->width = $entry->center->width;
                 $rows = EasyContactFormsCustomForms::addRow($rows, $entry->top, isset($entry->left), isset($entry->right), $fldid, 1);
             }
             $entryleft = isset($entry->left) ? $entry->left : false;
             $entryright = isset($entry->right) ? $entry->right : false;
             $rows = EasyContactFormsCustomForms::addRow($rows, $entry->center, $entryleft, $entryright, $fldid, 2);
             if (isset($entry->bottom)) {
                 $entry->bottom->width = $entry->center->width;
                 $rows = EasyContactFormsCustomForms::addRow($rows, $entry->bottom, isset($entry->left), isset($entry->right), $fldid, 3);
             }
             $rows[] = '</div>';
         }
     }
     if (!empty($containerbottominside)) {
         $rows[] = $containerbottominside;
     }
     $rows = $form->templateHTML($rows, $stylespec, 6);
     $rows[] = "</{$containertag}>";
     $rows = $form->templateHTML($rows, $stylespec, 2);
     if (!empty($containerbottom)) {
         $rows[] = $containerbottom;
     }
     if (!empty($containercf)) {
         $rows[] = $containercf;
     }
     $rows = implode('', $rows);
     $html = array();
     $html[] = "<script type='text/javascript'>";
     $html[] = "if (typeof(ecfconfig) == 'undefined'){var ecfconfig={};}";
     $html[] = "ecfconfig[{$cf}]={};";
     if (!$form->isEmpty('FadingDelay')) {
         $html[] = "ecfconfig[{$cf}].fadeDelay='" . $form->get('FadingDelay') . "';";
     }
     if (!$form->isEmpty('MessageDelay')) {
         $html[] = "ecfconfig[{$cf}].messageDelay='" . $form->get('MessageDelay') . "';";
     }
     $ajaxurl = EasyContactFormsApplicationSettings::getInstance()->get('FixStatus0') ? home_url('wp-admin/admin-ajax.php') : admin_url('admin-ajax.php');
     $html[] = "var ufobaseurl =  '{$ajaxurl}';";
     $html[] = "if (typeof(ufoFormsConfig) == 'undefined') {var ufoFormsConfig = {};ufoFormsConfig.submits = [];ufoFormsConfig.resets = [];ufoFormsConfig.validations = [];}";
     $as = EasyContactFormsApplicationSettings::getInstance();
     if (!$as->isEmpty('PhoneRegEx')) {
         $html[] = "ufoFormsConfig.phonenumberre = /^" . $as->get('PhoneRegEx') . "/;";
     }
     $html[] = "</script>";
     $html[] = $form->loadStyle();
     $stylesheet = $form->getStyle();
     if (!empty($stylesheet)) {
         $html[] = "<style>{$stylesheet}</style>";
     }
     $formclass = array();
     $formclass[] = 'ufo-form';
     if (!$form->isEmpty('FormClass')) {
         $formclass[] = $form->get('FormClass');
     }
     $formclass = implode(' ', $formclass);
     $formclass = " class='{$formclass}'";
     $formstyle = array();
     if (!$form->isEmpty('FormStyle')) {
         $formstyle[] = $form->get('FormStyle');
     }
     if (!$form->isEmpty('Width')) {
         $formstyle[] = "width:{$form->get('Width')}{$form->get('WidthUnit')}";
     }
     if (sizeof($formstyle) != 0) {
         $formstyle = " style='" . implode(';', $formstyle) . "'";
     } else {
         $formstyle = '';
     }
     $html[] = "<div{$formclass}{$formstyle} id='ufo-form-id-{$cf}'>";
     $html[] = "<noscript><form method='POST'><input type='hidden' name='cf-no-script' value='1'></noscript>";
     $html[] = "<input type='hidden' value='ufo-form-id-{$cf}' name='hidden-{$cf}' id='ufo-form-hidden-{$cf}'>";
     $html[] = "<input type='hidden' value='{__pagename}' name='ufo-form-pagename' id='ufo-form-pagename'>";
     $html[] = "{preview}";
     $html[] = "<input type='hidden' value='{ufosignature}' name='ufo-sign' id='ufo-sign'>";
     $html = $form->templateHTML($html, $stylespec, 1);
     $html[] = $rows;
     $html = $form->templateHTML($html, $stylespec, 3);
     $html[] = "<div id='ufo-form-id-{$cf}-message'></div>";
     $html[] = "<noscript></form></noscript>";
     $html[] = "</div>";
     if (count($vjs) > 0) {
         $html[] = '<script type="text/javascript">' . implode('', $vjs) . '</script>';
     }
     $txt = implode('', $html);
     $html = array('HTML' => $txt, 'ShortCode' => '[easy_contact_forms fid=' . $cf . ']');
     EasyContactFormsDB::update($html, 'CustomForms', $cf);
 }
Esempio n. 7
0
 /**
  * 	listObjects
  *
  * 	returns a list of subordinated objects in response to master/detail
  * 	request
  *
  * @param array $_ismap
  * 	request data
  *
  * @return string
  * 	a json-encoded array
  */
 function listObjects($_ismap)
 {
     $obj = EasyContactFormsClassLoader::getObject($_ismap['t']);
     if (!EasyContactFormsSecurityManager::roleObjectCheck($_ismap)) {
         return '{}';
     }
     $t_name = $obj->getTableName();
     $fields = $obj->getFieldNames();
     $mastervalue = intval($_ismap['oid']);
     $masterfield = $_ismap['fld'];
     $orderby = $_ismap['srt'];
     if (!in_array($masterfield, $fields)) {
         return '{}';
     }
     if (!in_array($orderby, $fields)) {
         return '{}';
     }
     $query = "SELECT id, Description FROM {$t_name} WHERE {$masterfield}='{$mastervalue}' ORDER BY {$orderby}";
     $array = EasyContactFormsDB::getObjects($query);
     echo json_encode($array);
 }
 /**
  * 	updateOrder
  *
  * @param  $map
  * 
  *
  * @return
  * 
  */
 function updateOrder($map)
 {
     $input = $map['a'];
     $input = explode(':', $input);
     $fsid = $input[0];
     $fsid = explode('-', $fsid);
     $fsid = $fsid[count($fsid) - 1];
     $fsid = intval($fsid);
     if ($fsid == 0) {
         return;
     }
     $input = explode('&', $input[1]);
     $ids = array();
     foreach ($input as $items) {
         $items = explode('[]=', $items);
         $id = $items[1];
         $ids[] = intval($id);
     }
     $sqlids = implode(',', $ids);
     $query = "SELECT\n\t\t\t\tCustomFormFields.id,\n\t\t\t\tCustomFormFields.CustomForms,\n\t\t\t\tCustomFormFields.ListPosition AS ListPosition\n\t\t\tFROM\n\t\t\t\t#wp__easycontactforms_customformfields AS CustomFormFields\n\t\t\tWHERE\n\t\t\t\tCustomFormFields.id IN (%s)\n\t\t\tORDER BY\n\t\t\t\tListPosition";
     $query = sprintf($query, $sqlids);
     $objects = EasyContactFormsDB::getObjects($query);
     $lp = array();
     for ($i = 0; $i < count($ids); $i++) {
         $lp[$ids[$i]] = $objects[$i]->ListPosition;
         $cf = $objects[$i]->CustomForms;
     }
     if (!isset($cf)) {
         return;
     }
     $cff = EasyContactFormsClassLoader::getObject('CustomFormFields');
     foreach ($lp as $id => $l) {
         $fields = array();
         $fields['ListPosition'] = $l;
         $fields['FieldSet'] = $fsid;
         $cff->update($fields, $id);
     }
     $cfo = EasyContactFormsClassLoader::getObject('CustomForms');
     $cfo->updateTemplate($cf);
 }
 /**
  * 	setSessionValue
  *
  * @param  $key
  * 
  * @param  $value
  * 
  * @param  $sid
  * 
  *
  * @return
  * 
  */
 function setSessionValue($key, $value, $sid = NULL)
 {
     if (is_array($sid) && isset($sid['sid'])) {
         $sessid = addslashes($sid['sid']);
         if ($sessid != $sid['sid']) {
             return NULL;
         }
         if (strlen($sessid) != 32) {
             return NULL;
         }
         $sid = $sessid;
     } else {
         return NULL;
     }
     $dbtable = EasyContactFormsDB::wptn('#wp__easycontactforms_sessions');
     $query = "SELECT id, value FROM {$dbtable} WHERE sid=%s";
     global $wpdb;
     $query = $wpdb->prepare($query, $sid);
     $row = EasyContactFormsDB::getObjects($query);
     if (count($row) == 0) {
         return NULL;
     }
     $row = $row[0];
     $rid = $row->id;
     $xml = simplexml_load_string($row->value);
     $xml->{$key} = $value;
     $svalue = $xml->asXML();
     $query = "UPDATE {$dbtable} SET value=%s  WHERE id=%d";
     global $wpdb;
     $query = $wpdb->prepare($query, $svalue, $rid);
     EasyContactFormsDB::query($query);
     return $sid;
 }
Esempio n. 10
0
 /**
  * 	getFileDownloadLink
  *
  * 	builds a file download link
  *
  * @param string $doctype
  * 	object type
  * @param string $docfield
  * 	object field
  * @param int $docid
  * 	object id
  * @param  $open
  * 
  *
  * @return string
  * 	file uri
  */
 function getFileDownloadLink($doctype, $docfield, $docid, $open = FALSE)
 {
     $query = "SELECT\n\t\t\t\tid,\n\t\t\t\tName,\n\t\t\t\tWebdir\n\t\t\tFROM\n\t\t\t\t#wp__easycontactforms_files\n\t\t\tWHERE\n\t\t\t\tDocid='{$docid}'\n\t\t\t\tAND Docfield='{$docfield}'\n\t\t\t\tAND Doctype='{$doctype}'";
     $filedata = EasyContactFormsDB::getObjects($query);
     if (sizeof($filedata) == 0) {
         return FALSE;
     }
     $filedata = $filedata[0];
     $ds = DIRECTORY_SEPARATOR;
     if ($filedata->Webdir) {
         return EASYCONTACTFORMS__FILE_DONWLOAD . '/' . EASYCONTACTFORMS__fileFolder . '/' . $doctype . '/' . $docid . '/' . $docfield . '/' . $filedata->Name;
     } else {
         if ($open) {
             $md5 = md5(EasyContactFormsSecurityManager::getServerPwd() . $filedata->id);
             return EASYCONTACTFORMS__engineRoot . '&m=download&oid=' . $filedata->id . '&token=' . $md5;
         } else {
             return EASYCONTACTFORMS__engineRoot . '&m=download&oid=' . $filedata->id;
         }
     }
 }
 /**
  * 	update. Overrides EasyContactFormsBase::update()
  *
  * 	updates an object with request data
  *
  * @param array $request
  * 	request data
  * @param int $id
  * 	object id
  */
 function update($request, $id)
 {
     $query = "SELECT\n\t\t\t\tUsers.Role,\n\t\t\t\tUsers.CMSId\n\t\t\tFROM\n\t\t\t\t#wp__easycontactforms_users AS Users\n\t\t\tWHERE\n\t\t\t\tUsers.id='{$id}'";
     $objs = EasyContactFormsDB::getObjects($query);
     $usr = $objs[0];
     global $current_user;
     $currentadmin = $usr->Role == 1 && isset($request->Role) && isset($current_user) && $current_user->ID == $usr->CMSId;
     if ($currentadmin) {
         $as = EasyContactFormsApplicationSettings::getInstance();
         $as->addMessage(EasyContactFormsT::get('CannotChangeCurrentUserRole'));
         $request->Role = 1;
     }
     $request = EasyContactFormsUtils::parseRequest($request, 'ContactType', 'int');
     $request = EasyContactFormsUtils::parseRequest($request, 'Birthday', 'date');
     $request = EasyContactFormsUtils::parseRequest($request, 'Role', 'int');
     $request = EasyContactFormsUtils::parseRequest($request, 'CMSId', 'int');
     if (isset($this->user)) {
         require_once 'easy-contact-forms-backoffice.php';
         $bo = new EasyContactFormsBackOffice();
         $request = $bo->processHistory($request, $this->type, $id, $this->user->id);
     }
     parent::update($request, $id);
 }
Esempio n. 12
0
 /**
  * 	getFormDescription
  *
  * 	Returns a page header
  *
  * @param int $id
  * 	object id
  * @param string $query
  * 	query to execute
  * @param string $format
  * 	format to apply
  * @param string $spanclass
  * 	span class to apply
  *
  * @return string
  * 	html text
  */
 function getFormDescription($id, $query, $format = NULL, $spanclass = NULL)
 {
     $query = sprintf($query, $id);
     $result = EasyContactFormsDB::getObjects($query);
     $result = (array) $result[0];
     if (!isset($format)) {
         $format = array();
         foreach ($result as $item) {
             $format[] = '%s';
         }
         $format = implode('&nbsp;', $format);
     }
     $text = vsprintf($format, $result);
     $spanclass = isset($spanclass) ? " class = '{$spanclass}'" : '';
     return "<span{$spanclass}>{$text}</span>";
 }
 /**
  * 	getList
  *
  * 	performs an actual query to a database
  *
  * @param string $listquery
  * 	a query to execute
  * @param array $params
  * 	an optional list of query parameters
  *
  * @return array
  * 	an array containing object records
  */
 function getList($listquery, $params = NULL)
 {
     $listquery = EasyContactFormsDB::getQueryText($listquery, $params);
     if (!isset($this->rsholder[$listquery])) {
         $rslist = EasyContactFormsDB::getObjects($listquery);
         if (EasyContactFormsDB::err()) {
             return NULL;
         }
         $this->rsholder[$listquery] = $rslist;
     } else {
         $rslist = $this->rsholder[$listquery];
     }
     return $rslist;
 }
 /**
  * 	cDelete
  *
  * 	executes a part of cascade delete operation
  *
  * @param string $query
  * 	a select query to perform
  * @param string $type
  * 	a type of objects being deleted
  */
 function cDelete($query, $type)
 {
     $delids = EasyContactFormsDB::getObjects($query);
     $delobj = EasyContactFormsClassLoader::getObject($type);
     foreach ($delids as $delrow) {
         $delobj->delete($delrow->id);
     }
 }
    /**
     * 	getFormStatistics
     *
     *
     * @return
     * 
     */
    function getFormStatistics()
    {
        $query = "SELECT\n\t\t\t\tCustomForms.id,\n\t\t\t\tCustomForms.Description,\n\t\t\t\tCustomForms.Impressions,\n\t\t\t\tCustomForms.TotalEntries,\n\t\t\t\tCustomForms.TotalProcessedEntries\n\t\t\tFROM\n\t\t\t\t#wp__easycontactforms_customforms AS CustomForms\n\t\t\tWHERE\n\t\t\t\tCustomForms.IncludeIntoReporting=TRUE";
        $objs = EasyContactFormsDB::getObjects($query);
        ?>

		
<table class='ufo-formstatistics vtable'>
  <tr>
    <th>
      <?php 
        echo EasyContactFormsT::get('CustomForm');
        ?>
    </th>
    <th>
      <?php 
        echo EasyContactFormsT::get('Impressions');
        ?>
    </th>
    <th>
      <?php 
        echo EasyContactFormsT::get('TotalEntries');
        ?>
    </th>
    <th>
      <?php 
        echo EasyContactFormsT::get('Conversion1');
        ?>
    </th>
    <th>
      <?php 
        echo EasyContactFormsT::get('TotalProcessedEntries');
        ?>
    </th>
    <th>
      <?php 
        echo EasyContactFormsT::get('Conversion2');
        ?>
    </th>
  </tr>
  <?php 
        foreach ($objs as $obj) {
            ?>
    <tr>
      <td>
        <a onclick='ufo.redirect({m:"show", oid:<?php 
            echo $obj->id;
            ?>
, t:"CustomForms"})'><?php 
            echo $obj->Description;
            ?>
</a>
      </td>
      <td>
        <?php 
            echo $obj->Impressions;
            ?>
      </td>
      <td>
        <?php 
            echo $obj->TotalEntries;
            ?>
      </td>
      <td>
        <?php 
            $conv1 = $obj->Impressions == 0 ? 0 : $obj->TotalEntries / $obj->Impressions * 100;
            echo sprintf('%01.2f', $conv1) . '%';
            ?>
      </td>
      <td>
        <?php 
            echo $obj->TotalProcessedEntries;
            ?>
      </td>
      <td>
        <?php 
            $conv2 = $obj->TotalEntries == 0 ? 0 : $obj->TotalProcessedEntries / $obj->TotalEntries * 100;
            echo sprintf('%01.2f', $conv2) . '%';
            ?>
      </td>
    </tr>
  <?php 
        }
        ?>
</table>

		<?php 
    }
]}}]", viewTarget:"CustomFormEntryFilesDiv", t:"CustomFormEntryFiles", m:"viewDetailed"}, [{property:"CustomFormsEntries", value:{values:[<?php 
echo $obj->get('id');
?>
]}}])' class='ufo-eval'>
        <div id='CustomFormEntryFilesDiv' class='innerview'></div>
      </div>
    </div>
  </div>
  <div>
    <div class='ufo-float-left'>
      <?php 
echo EasyContactFormsIHTML::getButton(array('label' => EasyContactFormsT::get('OK'), 'events' => " onclick='ufo.save({$obj->jsconfig})'", 'iclass' => " class='icon_button_save' ", 'bclass' => "button internalimage"));
?>
    </div>
    <div class='ufo-float-left'>
      <?php 
echo EasyContactFormsIHTML::getButton(array('label' => EasyContactFormsT::get('Back'), 'events' => " onclick='ufo.back()'", 'iclass' => " class='icon_button_back' ", 'bclass' => "button internalimage"));
?>
    </div>
    <div class='ufo-float-left'>
      <?php 
$query = "SELECT Options.Value FROM #wp__easycontactforms_options AS Options WHERE Options.Description = 'customformsentries_main_form_buttons'";
$plugs = EasyContactFormsDB::getObjects($query);
foreach ($plugs as $plug) {
    include ABSPATH . $plug->Value;
}
?>
    </div>
    <div style='clear:left'></div>
  </div><?php 
EasyContactFormsLayout::getFormBodyFooter();
 /**
  * 	getImage
  *
  * @param  $map
  * 
  *
  * @return
  * 
  */
 function getImage($map)
 {
     $daycount = 30;
     $fid = intval($map['oid']);
     $dayseconds = 24 * 60 * 60;
     $currentmonth = strtotime(date('Y-m-d', time())) - $daycount * $dayseconds;
     $query = "SELECT\n\t\t\t\tCustomFormsEntries.Date AS Date\n\t\t\tFROM\n\t\t\t\t#wp__easycontactforms_customformsentries AS CustomFormsEntries\n\t\t\tWHERE\n\t\t\t\tCustomFormsEntries.Date>='{$currentmonth}'\n\t\t\t\tAND CustomFormsEntries.CustomForms='{$fid}'\n\t\t\tORDER BY\n\t\t\t\tDate";
     $dates = EasyContactFormsDB::getObjects($query);
     $countarray = array();
     for ($i = 1; $i < $daycount + 1; $i++) {
         $countarray[$currentmonth + $dayseconds * $i] = 0;
     }
     foreach ($dates as $date) {
         $daydate = strtotime(date('Y-m-d', $date->Date));
         if (!isset($countarray[$daydate])) {
             continue;
         }
         $countarray[$daydate]++;
     }
     $iwidth = isset($map['a']) ? 150 : 150;
     $iheight = isset($map['a']) ? 30 : 50;
     $data = $countarray;
     $im = imagecreatetruecolor($iwidth, $iheight);
     $white = imagecolorallocate($im, 255, 255, 255);
     $green = imagecolorallocate($im, 0, 127, 0);
     $gray = imagecolorallocate($im, 220, 220, 220);
     $red = imagecolorallocate($im, 255, 220, 220);
     imagefilledrectangle($im, 0, 0, $iwidth, $iheight, $white);
     $max = max($data);
     $hcoef = $iheight / $max;
     $counter = 0;
     foreach ($data as $day => $entries) {
         $barwidth = $iwidth / $daycount;
         $barheight = $entries * $hcoef;
         $ypos = $iheight - $barheight;
         $xpos = $counter * $barwidth;
         if (date('D', $day) == 'Sun') {
             imagefilledrectangle($im, $xpos, 0, $xpos + $barwidth, $iheight, $red);
             imageline($im, $xpos, 0, $xpos, $iheight, $gray);
         }
         imagefilledrectangle($im, $xpos, $ypos, $xpos + $barwidth - 2, $iheight, $green);
         $counter++;
     }
     imagerectangle($im, 0, 0, $iwidth - 1, $iheight - 1, $gray);
     imagepng($im);
     imagedestroy($im);
 }