Exemplo n.º 1
0
/**
 * Make URL from specified parameters. If you need more parameters than default
 * action and section add them as array pair of param and value.
 *
 * @param string $action
 * @param string $section
 * @return string
 * @example url_Make( "action", "section", array("param", "value"), array("param2", "value2") );
 * @author Mladen Mijatov
 */
function url_Make($action = '', $section = '')
{
    global $url_rewrite, $url_add_extension, $url_language_optional, $language;
    $arguments = array();
    // make sure we have all parameters
    if (!empty($section)) {
        $arguments['section'] = $section;
    } else {
        $arguments['section'] = 'home';
    }
    if (!empty($action)) {
        $arguments['action'] = $action;
    } else {
        $arguments['action'] = '_default';
    }
    // get additional arguments
    if (func_num_args() > 2) {
        $tmp = array_slice(func_get_args(), 2);
        foreach ($tmp as $param) {
            if (is_array($param)) {
                $arguments[$param[0]] = $param[1];
            }
        }
    }
    $result = url_MakeFromArray($arguments);
    return $result;
}
Exemplo n.º 2
0
 /**
  * Prints language menu using OL
  *
  * @param array $global_params
  */
 private function printMenus($tag_params)
 {
     global $action, $section;
     // check if we were asked to get languages from specific module
     if (isset($tag_params['from_module']) && class_exists($tag_params['from_module'])) {
         $module = call_user_func(array($tag_params['from_module'], 'getInstance'));
         $list = $module->language->getLanguages(true);
     } else {
         $list = MainLanguageHandler::getInstance()->getLanguages(true);
     }
     $template = $this->loadTemplate($tag_params, 'list_item.xml');
     // prepare params
     $params = $_REQUEST;
     $link_params = array();
     foreach ($params as $key => $value) {
         if (!in_array($key, $this->invalid_params)) {
             $link_params[$key] = escape_chars($value);
         }
     }
     // print language list
     if (count($list) > 0) {
         foreach ($list as $short => $long) {
             $link_params['language'] = $short;
             $link = url_MakeFromArray($link_params);
             $params = array('short_name' => $short, 'long_name' => $long, 'url' => $link);
             $template->restoreXML();
             $template->setLocalParams($params);
             $template->parse();
         }
     }
 }
Exemplo n.º 3
0
 /**
  * Register new referral
  *
  * @return boolean
  */
 private function createReferral()
 {
     $result = false;
     $manager = AffiliatesManager::getInstance();
     $referrals_manager = AffiliateReferralsManager::getInstance();
     // prepare data
     $uid = fix_chars($_REQUEST['affiliate']);
     $referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null;
     $base_url = url_GetBaseURL();
     $landing = url_MakeFromArray($_REQUEST);
     $landing = mb_substr($landing, 0, mb_strlen($base_url));
     // get affiliate
     $affiliate = $manager->getSingleItem($manager->getFieldNames(), array('uid' => $uid));
     // if affiliate code is not valid, assign to default affiliate
     if (!is_object($affiliate)) {
         $affiliate = $manager->getSingleItem($manager->getFieldNames(), array('default' => 1));
     }
     // if affiliate exists, update
     if (is_object($affiliate) && !is_null($referer)) {
         $referral_data = array('url' => $referer, 'landing' => $landing, 'affiliate' => $affiliate->id, 'conversion' => 0);
         $referrals_manager->insertData($data);
         $id = $referrals_manager->getInsertedID();
         $_SESSION['referral_id'] = $id;
         // increase referrals counter
         $manager->updateData(array('clicks' => '`clicks` + 1'), array('id' => $affiliate->id));
         $result = true;
     }
     return result;
 }
Exemplo n.º 4
0
 /**
  * Page switcher tag handler
  *
  * @param array $tag_params
  * @param array $children
  */
 public function tag_PageSwitch($tag_params, $children)
 {
     // create template handler
     $template = $this->loadTemplate($tag_params, 'page_switch.xml');
     $template->registerTagHandler('_pages', $this, 'tag_Pages');
     // calculate number of total pages
     $total_pages = ceil($this->total_items / $this->per_page);
     if ($total_pages == 0) {
         $total_pages = 1;
     }
     // prepare param arrays
     $params_first = array_merge($this->url_params, array($this->param_name => 1));
     $params_last = array_merge($this->url_params, array($this->param_name => $total_pages));
     $params_next = array_merge($this->url_params, array($this->param_name => $this->current_page + 1));
     $params_previous = array_merge($this->url_params, array($this->param_name => $this->current_page - 1));
     // create links for pages
     if ($this->current_page > 1) {
         $link_first = url_MakeFromArray($params_first);
         $link_previous = url_MakeFromArray($params_previous);
     } else {
         $link_first = 'javascript: void(0);';
         $link_previous = 'javascript: void(0);';
     }
     if ($this->current_page < $total_pages) {
         $link_last = url_MakeFromArray($params_last);
         $link_next = url_MakeFromArray($params_next);
     } else {
         $link_last = 'javascript: void(0);';
         $link_next = 'javascript: void(0);';
     }
     // prepare template params
     $params = array('total_pages' => $total_pages, 'items_per_page' => $this->per_page, 'total_items' => $this->total_items, 'current_page' => $this->current_page, 'link_next' => $link_next, 'link_previous' => $link_previous, 'link_first' => $link_first, 'link_last' => $link_last);
     // parse template
     $template->setLocalParams($params);
     $template->restoreXML();
     $template->parse();
 }