/** * 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; }
/** * 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); }
/** * 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; }
/** * 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); }
/** * 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(' ', $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); }