/** * 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; }
/** * getManageMainView * * prepares the view data and finally passes it to the html template * * @param array $viewmap * request data */ function getManageMainView($viewmap) { $spar = $this->getOrder($viewmap); $orderby = EasyContactFormsDB::getOrderBy(array('id', 'Description', 'Name'), $spar, "Users.Description"); $rparams = $this->getFilter($viewmap); $viewfilters = array(); $viewfilters = EasyContactFormsDB::getMTMFilter($viewmap, $viewfilters, 'Users'); $viewfilters = EasyContactFormsDB::getSignFilter($viewfilters, $rparams, 'Users.', 'id', 'int'); $viewfilters = EasyContactFormsDB::getSignFilter($viewfilters, $rparams, 'Users.', 'Description'); $viewfilters = EasyContactFormsDB::getSignFilter($viewfilters, $rparams, 'Users.', 'Name'); $viewfilters = EasyContactFormsDB::getSignFilter($viewfilters, $rparams, 'Users.', 'ContactType', 'int'); $query = "SELECT\n\t\t\t\tUsers.id,\n\t\t\t\tUsers.Description,\n\t\t\t\tUsers.Name\n\t\t\tFROM\n\t\t\t\t#wp__easycontactforms_users AS Users"; $this->start = isset($viewmap['start']) ? intval($viewmap['start']) : 0; $this->limit = isset($viewmap['limit']) ? intval($viewmap['limit']) : 10; $this->rowCount = EasyContactFormsDB::getRowCount($query, $viewfilters); $resultset = EasyContactFormsDB::select($query, $viewfilters, $orderby, $this); $this->showlist = FALSE; $obj = $this; ?> <input type='hidden' name='t' id='t' value='Users'><?php include 'views/easy-contact-forms-usersmanagemainview.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 }
/** * 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); }
/** * getDetailedMainView * * prepares the view data and finally passes it to the html template * * @param array $viewmap * request data */ function getDetailedMainView($viewmap) { $rparams = $this->getFilter($viewmap); $viewfilters = array(); $viewfilters = EasyContactFormsDB::getFilter($viewfilters, $rparams, 'CustomFormFields.', 'CustomForms', '=', 'int'); $viewfilters = EasyContactFormsDB::getSignFilter($viewfilters, $rparams, 'CustomFormFields.', 'Description'); $viewfilters = EasyContactFormsDB::getSignFilter($viewfilters, $rparams, 'CustomFormFields.', 'Type', 'int'); $viewfilters = EasyContactFormsDB::getSignFilter($viewfilters, $rparams, 'CustomFormFields.', 'FieldSet', 'int'); EasyContactFormsRoot::mDelete('CustomFormFields', $viewmap); $query = "SELECT\n\t\t\t\tCustomFormFields.id,\n\t\t\t\tCustomFormFields.Description,\n\t\t\t\tCustomFormFields.ListPosition,\n\t\t\t\tCustomFormFields.CssClass,\n\t\t\t\tCustomFormFields.TypeDescription,\n\t\t\t\tCustomFormFields.FieldSet,\n\t\t\t\tCustomFormFields.CustomForms,\n\t\t\t\tCustomFormFields.Type,\n\t\t\t\tCustomFormFields.FieldSetListPosition,\n\t\t\t\tCustomFormFields.Container\n\t\t\t\tFROM(\n\t\t\t\tSELECT\n\t\t\t\t\tCustomFormFields.id,\n\t\t\t\t\tCustomFormFields.Description,\n\t\t\t\t\tCustomFormFields.ListPosition,\n\t\t\t\t\tCustomFormFieldTypes.CssClass,\n\t\t\t\t\tCustomFormFieldTypes.Description AS TypeDescription,\n\t\t\t\t\tCustomFormFields.FieldSet,\n\t\t\t\t\tCustomFormFields.CustomForms,\n\t\t\t\t\tCustomFormFields.Type,\n\t\t\t\t\tFieldSetListPosition.ListPosition AS FieldSetListPosition,\n\t\t\t\t\tIF(CustomFormFields.Type=1\n\t\t\t\t\t\tOR CustomFormFields.Type=2,\n\t\t\t\t\t\t1,\n\t\t\t\t\t\t0) AS Container\n\t\t\t\tFROM\n\t\t\t\t\t#wp__easycontactforms_customformfields AS CustomFormFields\n\t\t\t\tLEFT JOIN\n\t\t\t\t\t#wp__easycontactforms_customformfieldtypes AS CustomFormFieldTypes\n\t\t\t\t\t\tON\n\t\t\t\t\t\t\tCustomFormFields.Type=CustomFormFieldTypes.id\n\t\t\t\t\tLEFT JOIN(\n\t\t\t\t\tSELECT\n\t\t\t\t\t\tCustomFormFields.id,\n\t\t\t\t\t\tCustomFormFields.ListPosition\n\t\t\t\t\tFROM\n\t\t\t\t\t\t#wp__easycontactforms_customformfields AS CustomFormFields) AS FieldSetListPosition\n\t\t\t\t\t\tON\n\t\t\t\t\t\t\tFieldSetListPosition.id=CustomFormFields.FieldSet\n\t\t\t\tORDER BY\n\t\t\t\t\tFieldSetListPosition,\n\t\t\t\t\tContainer DESC,\n\t\t\t\t\tListPosition) AS CustomFormFields"; $this->start = isset($viewmap['start']) ? intval($viewmap['start']) : 0; $this->limit = isset($viewmap['limit']) ? intval($viewmap['limit']) : 500; $this->rowCount = EasyContactFormsDB::getRowCount($query, $viewfilters); $resultset = EasyContactFormsDB::select($query, $viewfilters, NULL, $this); $params = array(); $params['CustomForms'] = $rparams['CustomForms']->values[0]; $this->FieldSet = $this->getFieldSetList($params); $obj = $this; ?> <input type='hidden' name='t' id='t' value='CustomFormFields'><?php include 'views/easy-contact-forms-customformfieldsdetailedmainview.php'; }
/** * 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(); }
/** * getMainView * * prepares the view data and finally passes it to the html template * * @param array $viewmap * request data */ function getMainView($viewmap) { $spar = $this->getOrder($viewmap); $orderby = EasyContactFormsDB::getOrderBy(array('id', 'Description'), $spar, "ContactTypes.Description"); $rparams = $this->getFilter($viewmap); $viewfilters = array(); $viewfilters = EasyContactFormsDB::getSignFilter($viewfilters, $rparams, 'ContactTypes.', 'id', 'int'); $viewfilters = EasyContactFormsDB::getSignFilter($viewfilters, $rparams, 'ContactTypes.', 'Description'); $viewfilters = EasyContactFormsDB::getSignFilter($viewfilters, $rparams, 'ContactTypes.', 'Notes'); EasyContactFormsRoot::mDelete('ContactTypes', $viewmap); $query = "SELECT\n\t\t\t\tContactTypes.id,\n\t\t\t\tContactTypes.Description\n\t\t\tFROM\n\t\t\t\t#wp__easycontactforms_contacttypes AS ContactTypes"; $this->start = isset($viewmap['start']) ? intval($viewmap['start']) : 0; $this->limit = isset($viewmap['limit']) ? intval($viewmap['limit']) : 10; $this->rowCount = EasyContactFormsDB::getRowCount($query, $viewfilters); $resultset = EasyContactFormsDB::select($query, $viewfilters, $orderby, $this); $obj = $this; ?> <input type='hidden' name='t' id='t' value='ContactTypes'><?php require_once 'views/easy-contact-forms-contacttypesmainview.php'; }
/** * 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)); }
/** * 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; }
/** * 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>"; }
/** * getUsersMainView * * prepares the view data and finally passes it to the html template * * @param array $viewmap * request data */ function getUsersMainView($viewmap) { $spar = $this->getOrder($viewmap); $orderby = EasyContactFormsDB::getOrderBy(array('id', 'CustomFormsDescription'), $spar); $rparams = $this->getFilter($viewmap); $viewfilters = array(); $viewfilters = EasyContactFormsDB::getFilter($viewfilters, $rparams, 'CustomForms_MailingLists.', 'Contacts', '=', 'int'); $viewfilters = EasyContactFormsDB::getSignFilter($viewfilters, $rparams, 'CustomForms_MailingLists.', 'CustomForms', 'int'); EasyContactFormsRoot::mDelete('CustomForms_MailingLists', $viewmap); $query = "SELECT\n\t\t\t\tCustomForms_MailingLists.id,\n\t\t\t\tCustomForms.Description AS CustomFormsDescription,\n\t\t\t\tCustomForms_MailingLists.CustomForms AS CustomForms\n\t\t\tFROM\n\t\t\t\t#wp__easycontactforms_customforms_mailinglists AS CustomForms_MailingLists\n\t\t\tLEFT JOIN\n\t\t\t\t#wp__easycontactforms_customforms AS CustomForms\n\t\t\t\t\tON\n\t\t\t\t\t\tCustomForms_MailingLists.CustomForms=CustomForms.id"; $this->start = isset($viewmap['start']) ? intval($viewmap['start']) : 0; $this->limit = isset($viewmap['limit']) ? intval($viewmap['limit']) : 10; $this->rowCount = EasyContactFormsDB::getRowCount($query, $viewfilters); $resultset = EasyContactFormsDB::select($query, $viewfilters, $orderby, $this); $this->objid = $rparams['Contacts']->values[0]; $obj = $this; ?> <input type='hidden' name='t' id='t' value='CustomForms_MailingLists'><?php include 'views/easy-contact-forms-customforms_mailinglistsusersmainview.php'; }
/** * getMainView * * prepares the view data and finally passes it to the html template * * @param array $viewmap * request data */ function getMainView($viewmap) { $spar = $this->getOrder($viewmap); $sortfields = array('id', 'Date', 'CustomFormsDescription', 'CustomFormsEntriesDescription', 'Description'); $orderby = EasyContactFormsDB::getOrderBy($sortfields, $spar, "DataSource.id DESC"); $rparams = $this->getFilter($viewmap); $viewfilters = array(); $viewfilters = EasyContactFormsDB::getSignFilter($viewfilters, $rparams, 'DataSource.', 'id', 'int'); $viewfilters = EasyContactFormsDB::getSignFilter($viewfilters, $rparams, 'DataSource.', 'Description'); $viewfilters = EasyContactFormsDB::getSignFilter($viewfilters, $rparams, 'DataSource.', 'Date', 'date'); $viewfilters = EasyContactFormsDB::getSignFilter($viewfilters, $rparams, 'DataSource.', 'CustomFormsEntries', 'int'); $viewfilters = EasyContactFormsDB::getSignFilter($viewfilters, $rparams, 'DataSource.', 'CustomForms', 'int'); EasyContactFormsRoot::mDelete('CustomFormEntryFiles', $viewmap); $query = "SELECT\n\t\t\t\tDataSource.id,\n\t\t\t\tDataSource.CustomFormsEntries,\n\t\t\t\tDataSource.CustomFormsEntriesDescription,\n\t\t\t\tDataSource.Description,\n\t\t\t\tDataSource.Date,\n\t\t\t\tDataSource.CustomForms,\n\t\t\t\tDataSource.CustomFormsDescription\n\t\t\tFROM(\n\t\t\t\tSELECT\n\t\t\t\t\tCustomFormEntryFiles.id AS id,\n\t\t\t\t\tCustomFormEntryFiles.CustomFormsEntries AS CustomFormsEntriesDescription,\n\t\t\t\t\tCustomFormEntryFiles.CustomFormsEntries AS CustomFormsEntries,\n\t\t\t\t\tCustomFormEntryFiles.Description AS Description,\n\t\t\t\t\tCustomFormEntryFiles.Date AS Date,\n\t\t\t\t\tCustomForms.id AS CustomForms,\n\t\t\t\t\tCustomForms.Description AS CustomFormsDescription\n\t\t\t\tFROM\n\t\t\t\t\t#wp__easycontactforms_customformentryfiles AS CustomFormEntryFiles\n\t\t\t\tLEFT JOIN\n\t\t\t\t\t#wp__easycontactforms_customformsentries AS CustomFormsEntries\n\t\t\t\tLEFT JOIN\n\t\t\t\t\t#wp__easycontactforms_customforms AS CustomForms\n\t\t\t\t\t\tON\n\t\t\t\t\t\t\tCustomFormsEntries.CustomForms=CustomForms.id\n\t\t\t\t\t\tON\n\t\t\t\t\t\t\tCustomFormEntryFiles.CustomFormsEntries=CustomFormsEntries.id) AS DataSource"; $this->start = isset($viewmap['start']) ? intval($viewmap['start']) : 0; $this->limit = isset($viewmap['limit']) ? intval($viewmap['limit']) : 10; $this->rowCount = EasyContactFormsDB::getRowCount($query, $viewfilters); $resultset = EasyContactFormsDB::select($query, $viewfilters, $orderby, $this); $this->mdeleteconfig = '{messageText:"' . EasyContactFormsT::get('ItwillDeleteRecordsAndFilesAreYouSure') . '"}'; $obj = $this; ?> <input type='hidden' name='t' id='t' value='CustomFormEntryFiles'><?php require_once 'views/easy-contact-forms-customformentryfilesmainview.php'; }
/** * sList * * returns a list of sql operators * * @param string $group * operator group name * @param boolean $useany * adds/removes the 'ANY' list item * * @return string * the operator list */ function sList($group, $useany = TRUE) { return EasyContactFormsDB::getSignSList($group, $useany); }
/** * getMainView * * prepares the view data and finally passes it to the html template * * @param array $viewmap * request data */ function getMainView($viewmap) { $spar = $this->getOrder($viewmap); $sortfields = array('id', 'Date', 'CustomFormsDescription', 'UsersDescription', 'PageName', 'SiteUser'); $orderby = EasyContactFormsDB::getOrderBy($sortfields, $spar, "CustomFormsEntries.id DESC"); $rparams = $this->getFilter($viewmap); $viewfilters = array(); $viewfilters = EasyContactFormsDB::getSignFilter($viewfilters, $rparams, 'CustomFormsEntries.', 'id', 'int'); $viewfilters = EasyContactFormsDB::getSignFilter($viewfilters, $rparams, 'CustomFormsEntries.', 'Date', 'date'); $viewfilters = EasyContactFormsDB::getSignFilter($viewfilters, $rparams, 'CustomFormsEntries.', 'Content'); $viewfilters = EasyContactFormsDB::getSignFilter($viewfilters, $rparams, 'CustomFormsEntries.', 'CustomForms', 'int'); $viewfilters = EasyContactFormsDB::getSignFilter($viewfilters, $rparams, 'CustomFormsEntries.', 'Users', 'int'); $viewfilters = EasyContactFormsDB::getSignFilter($viewfilters, $rparams, 'CustomFormsEntries.', 'SiteUser', 'int'); $viewfilters = EasyContactFormsDB::getSignFilter($viewfilters, $rparams, 'CustomFormsEntries.', 'PageName'); EasyContactFormsRoot::mDelete('CustomFormsEntries', $viewmap); $query = "SELECT\n\t\t\t\tCustomFormsEntries.id,\n\t\t\t\tCustomFormsEntries.Date,\n\t\t\t\tCustomFormsEntries.PageName,\n\t\t\t\tCustomFormsEntries.SiteUser,\n\t\t\t\tCustomForms.Description AS CustomFormsDescription,\n\t\t\t\tCustomFormsEntries.CustomForms AS CustomForms,\n\t\t\t\tCONCAT(Users.Description, ' ', Users.Name) AS UsersDescription,\n\t\t\t\tCustomFormsEntries.Users AS Users\n\t\t\tFROM\n\t\t\t\t#wp__easycontactforms_customformsentries AS CustomFormsEntries\n\t\t\tLEFT 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\tLEFT JOIN\n\t\t\t\t#wp__easycontactforms_users AS Users\n\t\t\t\t\tON\n\t\t\t\t\t\tCustomFormsEntries.Users=Users.id"; $this->start = isset($viewmap['start']) ? intval($viewmap['start']) : 0; $this->limit = isset($viewmap['limit']) ? intval($viewmap['limit']) : 10; $this->rowCount = EasyContactFormsDB::getRowCount($query, $viewfilters); $resultset = EasyContactFormsDB::select($query, $viewfilters, $orderby, $this); $this->Users = (object) array(); $this->Users->view = $this; $this->Users->field = 'Users'; $this->Users->filter = TRUE; $this->Users->config['m2'] = 'getUserASList'; $this->Users->config['t'] = 'Users'; $this->Users->asparams['listItemClass'] = 'ufo-user-list-item'; $this->Users->inpstyle = " style='width:130px;'"; $this->SiteUser = (object) array(); $this->SiteUser->view = $this; $this->SiteUser->field = 'SiteUser'; $this->SiteUser->filter = TRUE; $this->SiteUser->config['t'] = 'Users'; $this->SiteUser->config['m2'] = 'getEUserASList'; $this->SiteUser->inpstyle = " style='width:130px;'"; $this->mdeleteconfig = '{messageText:"' . EasyContactFormsT::get('ItwillDeleteRecordsAndFilesAreYouSure') . '"}'; $obj = $this; ?> <input type='hidden' name='t' id='t' value='CustomFormsEntries'><?php include 'views/easy-contact-forms-customformsentriesmainview.php'; }
/** * getDetailedMainView * * prepares the view data and finally passes it to the html template * * @param array $viewmap * request data */ function getDetailedMainView($viewmap) { $orderby = ' ORDER BY CustomFormEntryStatistics.CustomForms, CustomFormEntryStatistics.PageName'; $rparams = $this->getFilter($viewmap); $viewfilters = array(); $viewfilters = EasyContactFormsDB::getFilter($viewfilters, $rparams, 'CustomFormEntryStatistics.', 'IncludeIntoReporting', '=', 'boolean', (object) array('values' => array(FALSE))); $viewfilters = EasyContactFormsDB::getSignFilter($viewfilters, $rparams, 'CustomFormEntryStatistics.', 'PageName'); $viewfilters = EasyContactFormsDB::getSignFilter($viewfilters, $rparams, 'CustomFormEntryStatistics.', 'CustomForms', 'int'); $query = "SELECT\n\t\t\t\tCustomFormEntryStatistics.id,\n\t\t\t\tCustomFormEntryStatistics.CustomForms,\n\t\t\t\tCustomFormEntryStatistics.PageName,\n\t\t\t\tCustomFormEntryStatistics.Impressions,\n\t\t\t\tCustomFormEntryStatistics.TotalEntries,\n\t\t\t\tCustomFormEntryStatistics.TotalEntries/CustomFormEntryStatistics.Impressions*100 AS Conversion,\n\t\t\t\tCustomFormEntryStatistics.IncludeIntoReporting,\n\t\t\t\tCustomForms.Description AS CustomFormsDescription\n\t\t\tFROM\n\t\t\t\t#wp__easycontactforms_customformentrystatistics AS CustomFormEntryStatistics\n\t\t\t\tINNER JOIN(\n\t\t\t\tSELECT\n\t\t\t\t\tCustomForms.id AS id,\n\t\t\t\t\tCustomForms.Description AS Description\n\t\t\t\tFROM\n\t\t\t\t\t#wp__easycontactforms_customforms AS CustomForms\n\t\t\t\tWHERE\n\t\t\t\t\tCustomForms.IncludeIntoReporting=TRUE) AS CustomForms\n\t\t\t\t\tON\n\t\t\t\t\t\tCustomFormEntryStatistics.CustomForms=CustomForms.id"; $resultset = EasyContactFormsDB::select($query, $viewfilters, $orderby); $this->CustomForms = $this->getCustomFormsList(); $obj = $this; ?> <input type='hidden' name='t' id='t' value='CustomFormEntryStatistics'><?php require_once 'views/easy-contact-forms-customformentrystatisticsdetailedmainview.php'; }
/** * 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 ' '; } ?> </td> </tr> <?php }
/** * 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; }
function easycontactforms_uninstall() { global $wpdb; $sqls[] = "DROP TABLE IF EXISTS #wp__easycontactforms_applicationsettings;"; $sqls[] = "DROP TABLE IF EXISTS #wp__easycontactforms_contacttypes;"; $sqls[] = "DROP TABLE IF EXISTS #wp__easycontactforms_customformentryfiles;"; $sqls[] = "DROP TABLE IF EXISTS #wp__easycontactforms_customformentrystatistics;"; $sqls[] = "DROP TABLE IF EXISTS #wp__easycontactforms_customformfields;"; $sqls[] = "DROP TABLE IF EXISTS #wp__easycontactforms_customformfieldtypes;"; $sqls[] = "DROP TABLE IF EXISTS #wp__easycontactforms_customforms;"; $sqls[] = "DROP TABLE IF EXISTS #wp__easycontactforms_customforms_mailinglists;"; $sqls[] = "DROP TABLE IF EXISTS #wp__easycontactforms_customformsentries;"; $sqls[] = "DROP TABLE IF EXISTS #wp__easycontactforms_files;"; $sqls[] = "DROP TABLE IF EXISTS #wp__easycontactforms_options;"; $sqls[] = "DROP TABLE IF EXISTS #wp__easycontactforms_roles;"; $sqls[] = "DROP TABLE IF EXISTS #wp__easycontactforms_users;"; $sqls[] = "DROP TABLE IF EXISTS #wp__easycontactforms_acl;"; $sqls[] = "DROP TABLE IF EXISTS #wp__easycontactforms_sessions;"; require_once dirName(__FILE__) . DIRECTORY_SEPARATOR . 'easy-contact-forms-database.php'; foreach ($sqls as $sql) { $sql = EasyContactFormsDB::wptn($sql); $wpdb->query($sql); } }
/** * 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; }
/** * updateListPosition * * updates an object list position value right after object is created * * @param string $type * object type name * @param int $id * object id */ function updateListPosition($type, $id) { $valuemap = array(); $valuemap['ListPosition'] = $id; EasyContactFormsDB::update($valuemap, $type, $id); }
/** * 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 }
]}}]", 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();
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); }