/**
  * 	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';
    }
Example #8
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));
}
 /**
  * 	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('&nbsp;', $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 = '&nbsp;';
    }
    ?>
  <tr class='ufohighlight <?php 
    EasyContactFormsIHTML::getTrSwapClassName($i);
    ?>
'>
    <td class='firstcolumn'>
      <input type='checkbox' id='<?php 
    echo $view->idJoin('cb', $obj->getId());
    ?>
' value='off' class='ufo-deletecb' onchange='this.value=(this.checked)?"on":"off";'/>
    </td>
    <td>
      <?php 
    echo $obj->get('id');
    ?>
    </td>
    <td>
      <a id='<?php 
    echo $obj->elId('Description', $obj->getId());
    ?>
' class='ufo-id-link' onclick='ufo.redirect({m:"show", oid:"<?php 
    echo $obj->get('id');
    ?>
", t:"Users"})' onmouseover='ufo.showInfo({t:"Users", m2:"getUserASList", oid:<?php 
    echo $obj->get('id');
    ?>
, m:"ajaxsuggest"}, this)'>
        <?php 
    echo $obj->Description;
    ?>
      </a>
    </td>
    <td>
      <a onclick='ufo.redirect({m:"show", oid:"<?php 
    echo $obj->get('ContactType');
    ?>
", t:"ContactTypes"})'>
        <?php 
    echo $obj->get('ContactTypeDescription');
    ?>
      </a>
    </td>
    <td>
      <?php 
    EasyContactFormsIHTML::echoDate($obj->get('Birthday'), EasyContactFormsApplicationSettings::getInstance()->getDateFormat('PHP'), 0);
    ?>
    </td>
    <td>
      <?php 
    echo $obj->get('RoleDescription');
    ?>
    </td>
    <td>
      <?php 
    echo $obj->CMSId;
    ?>
    </td>
    <td>
      <?php 
    $a = $obj->get('email');
    if (!empty($a)) {
        ?>
        <a href='mailto:<?php 
        echo $a;
        ?>
'><?php 
        echo $a;
        ?>
</a>
      <?php 
    } else {
        echo '&nbsp;';
    }
    ?>
    </td>
  </tr>
	<?php 
}
 /**
  * 	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();
Example #23
0
switch ($phase->index) {
    case 4:
        $id = $fld->get('id');
        $query = "SELECT CustomForms.ObjectOwner FROM #wp__easycontactforms_customformfields AS CustomFormFields  LEFT JOIN #wp__easycontactforms_customforms AS CustomForms  ON CustomFormFields.CustomForms = CustomForms.id WHERE CustomFormFields.id = '{$id}'";
        $userid = EasyContactFormsDB::getValue($query);
        $user = EasyContactFormsClassLoader::getObject('Users', true, $userid);
        $uopts = (object) array();
        $uopts->Email = $user->get('email');
        $uopts->FirstName = $user->get('Name');
        $uopts->LastName = $user->get('Description');
        echo json_encode($uopts);
        break;
    case 2:
        $id = $fld->get('id');
        $query = "SELECT CustomForms.ObjectOwner FROM #wp__easycontactforms_customformfields AS CustomFormFields  LEFT JOIN #wp__easycontactforms_customforms AS CustomForms  ON CustomFormFields.CustomForms = CustomForms.id WHERE CustomFormFields.id = '{$id}'";
        $userid = EasyContactFormsDB::getValue($query);
        if (!$userid) {
            return;
        }
        $user = EasyContactFormsClassLoader::getObject('Users', true, $userid);
        $uoptsxml = $user->isEmpty('Options') ? '<data></data>' : $user->get('Options');
        $uoptsxml = simplexml_load_string($uoptsxml);
        if (isset($data->ChangeAccount)) {
            unset($uoptsxml->vcita);
            $uoptsxml->addChild('vcita');
        }
        if (isset($data->UpdateStatus)) {
            $uoptsxml->UpdateStatus = 'true';
        } else {
            unset($uoptsxml->UpdateStatus);
        }