Example #1
0
    } else {
        $response = (object) array('status' => -1, 'status_explanation' => 'A user with provided email doesn\'t exist.');
    }
    header('Content-Type: application/json');
    echo json_encode($response, JSON_PRETTY_PRINT);
}, $f3->get('route_ttl'));
/**
 * Route: Find users by searching
 *
 * @example /user/reset-pass
 */
$f3->route('POST /find-users', function ($f3, $params) use($db) {
    $search = $f3->get('POST.search');
    // If user exists
    if ($user_id = authenticated()) {
        $response = User::getUsersByName($search, $user_id);
    } else {
        $result = (object) array('status' => -1, 'status_explanation' => 'Insufficient data provided.');
    }
    header('Content-Type: application/json');
    echo json_encode($response, JSON_PRETTY_PRINT);
}, $f3->get('route_ttl'));
/**
 * Route: Get user information by ID
 *
 * @example /user/@id
 */
$f3->route('POST /user/@id', function ($f3, $params) use($db) {
    $id = $f3->get('PARAMS.id');
    // If user sending request is authenticated
    if ($sender_id = authenticated()) {
Example #2
0
     } elseif (strpos($search_term, "@") !== FALSE) {
         //email type
         $search_type = "email";
     } else {
         $search_type = "name";
         //name
     }
     /**
      * based on the type of search, return the matched users
      *
      * */
     switch ($search_type) {
         case "name":
             require_once APPLICATION_PATH . MODEL_DIR . '/User.php';
             $user = new User("replicated");
             $result = $user->getUsersByName($search_term, $filters);
             break;
         case "email":
             require_once APPLICATION_PATH . MODEL_DIR . '/Email.php';
             $email = new Email("replicated");
             $result = $email->getUsersByEmail($search_term, $filters);
             break;
         case "presenter_id":
             require_once APPLICATION_PATH . MODEL_DIR . '/Presenter.php';
             $presenter = new Presenter("replicated");
             $result = $presenter->getPresenterBySequenceId($search_term, $filters);
             break;
         default:
             break;
     }
 }
Example #3
0
 /**
  * Search function for Parties
  * Provides limited fields to display in a list of
  * possible matches.
  * This function prepares a list of party ids
  * based on the search type, then sends then into
  * _getSearchResults to get the party objects
  *
  * See _getSearchResults for structure
  *
  * @param string $search_term
  * @param array $filters
  * @param string $search_type
  * @return array|bool
  */
 public function search($search_term, $filters, $search_type)
 {
     $sql = "SELECT p.id as party_id " . "FROM {$this->_table_name} p ";
     switch ($search_type) {
         case "party_name":
             $column_name = "name";
             $sql .= "WHERE p.{$column_name} " . "LIKE CONCAT('%', :st,'%') ";
             break;
         case "party_hostess_name":
             require_once APPLICATION_PATH . MODEL_DIR . '/User.php';
             $user = new User();
             $filters["presenter_only"] = "false";
             $filters["active_only"] = "false";
             $user_ids_string = '';
             if ($user_ids_first_name_array = $user->getUsersByName($search_term, $filters, "first", FALSE)) {
                 $user_ids_string = implode(',', $user_ids_first_name_array);
             }
             if ($user_ids_last_name_array = $user->getUsersByName($search_term, $filters, "last", FALSE)) {
                 if ($user_ids_string != '') {
                     $user_ids_string .= ",";
                 }
                 $user_ids_string .= implode(',', $user_ids_last_name_array);
             }
             $column_name = "hostess_id";
             if ($user_ids_string != '') {
                 $sql .= " WHERE p.{$column_name} " . " IN ({$user_ids_string}) ";
             } else {
                 return FALSE;
             }
             break;
         case "party_presenter_name":
             require_once APPLICATION_PATH . MODEL_DIR . '/User.php';
             require_once APPLICATION_PATH . MODEL_DIR . '/Presenter.php';
             $user = new User();
             $presenter = new Presenter();
             $filters["presenter_only"] = "false";
             $filters["active_only"] = "false";
             $user_ids_string = '';
             if ($user_ids_first_name_array = $user->getUsersByName($search_term, $filters, "first", FALSE)) {
                 $user_ids_string = implode(',', $user_ids_first_name_array);
             }
             if ($user_ids_last_name_array = $user->getUsersByName($search_term, $filters, "last", FALSE)) {
                 if ($user_ids_string != '') {
                     $user_ids_string .= ",";
                 }
                 $user_ids_string .= implode(',', $user_ids_last_name_array);
             }
             $presenter_ids_string = $presenter->convertUserIdsToPresenterIds($user_ids_string);
             $column_name = "presenter_id";
             if ($user_ids_string != '') {
                 $sql .= " WHERE p.{$column_name} " . " IN ({$presenter_ids_string}) ";
             } else {
                 return FALSE;
             }
             break;
         case "party_presenter_sequence_id":
             require_once APPLICATION_PATH . MODEL_DIR . '/Presenter.php';
             $presenter = new Presenter();
             $presenter_id = $presenter->getIdBySequenceId($search_term);
             $sql .= " WHERE p.presenter_id = {$presenter_id} ";
             break;
         case "party_id":
         default:
             $party_ids = array($search_term);
     }
     if ($filters["recent_only"] != "false") {
         $sql .= "AND DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= p.end_time ";
     }
     if (!isset($party_ids)) {
         $party_ids = array();
         $query = $this->_db->prepare($sql);
         $query->bindParam(':st', $search_term);
         $query->execute();
         while ($row = $query->fetch()) {
             $party_ids[] = $row['party_id'];
         }
     }
     $result = array();
     if (count($party_ids) > 0) {
         $results = $this->_getSearchResults($party_ids);
     }
     return $results;
 }