Solved

What is setUserData?

Posted on 2016-08-02
4
39 Views
Last Modified: 2016-08-02
Here's the function:

protected function generateSearchSql(array $fields,array $searchterms, array $select = null, $where = null, $orderby = 'hits desc', $strict = true){
	  
	$ud = setUserData();
	$the_client_code=$ud['filter']['clientcode'];
    
    if($select === null){
        $select = $fields;
    }

    $selectsql = pfsql::getSelect($select);

    $sql = "
    select a.* from
    (
        $selectsql

        , (";

    $firstterm = true;
    foreach($searchterms as $term){
        if($firstterm) $firstterm = false;
        else if($strict) $sql .= ") * (";
        else $sql .= ") + (";


        $first = true;
        //Search each field for each term
        foreach($fields as $field) {
            //Prepend plus
            if($first) $first = false;
            else $sql .= " + ";

            $sql .= " (case when $field like ('%$term%') then 1 else 0 end) ";

        }
    }

    if($where){
        $wheresql = $where;
    }

    $sql .= ") as hits from 
        account (nolock)
            join patient (nolock) on patient.accountid = account.accountid
            join practice (nolock) on account.practiceid = practice.PracticeID
            join client (nolock) on practice.clientid = client.clientid
			LEFT JOIN (SELECT TOP 1 ChargeGroup.AccountID, ChargeGroup.encountercode FROM ChargeGroup (nolock) 
			where 
			ChargeGroup.encountercode='$term'
			AND
			ChargeGroup.clientcode=$the_client_code) b 
			ON Account.AccountID=b.AccountID
        $wheresql
        ) a
    where hits > 0
    order by ". ($orderby ? "$orderby" :" hits desc "). "
    ";
	//echo $sql;
    return $sql;

  }

Open in new window


At the very top is setUserData. What is that? There's no function called that anywhere in the code. I'm missing something...

What is it?
0
Comment
Question by:brucegust
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 

Author Comment

by:brucegust
ID: 41739180
Not sure if it makes any difference, but I'm working in Code Igniter.
0
 
LVL 56

Assisted Solution

by:Julian Hansen
Julian Hansen earned 250 total points
ID: 41739195
That is a custom function it must be defined somewhere in the code base.
0
 
LVL 31

Accepted Solution

by:
Marco Gasi earned 250 total points
ID: 41739199
In CodeIgniter, userdata() ia method to access values stored in the $_SESSION array, but it doesn't exist a method setUserData(). So I think setUserData() is a custom function created by the author of the code to manage some common session related actions. You should go through included scripts in current page to find it.
0
 

Author Comment

by:brucegust
ID: 41739205
Found it!

It was in the helpers directory.

Thanks!

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/***********************
setUserData returns the appropriate userdata object based on whether the
current logged in user is spoofing another user or not.

Usage
$userdata = setUserData();


@PMT


**********************/
if ( ! function_exists('setUserData'))
{
    function &setUserData(){    
     if(isset($_SESSION['userdata'])){
      if(isset($_SESSION['spoof']['userdata'])){
        return $_SESSION['spoof']['userdata'];
      }else{
        return $_SESSION['userdata'];
      }
    }else{
      $_SESSION['userdata'] = false;
      return $_SESSION['userdata'];
    }
    
    
    }
    
    }

Open in new window

0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Part of the Global Positioning System A geocode (https://developers.google.com/maps/documentation/geocoding/) is the major subset of a GPS coordinate (http://en.wikipedia.org/wiki/Global_Positioning_System), the other parts being the altitude and t…
3 proven steps to speed up Magento powered sites. The article focus is on optimizing time to first byte (TTFB), full page caching and configuring server for optimal performance.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to dynamically set the form action using jQuery.

735 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question