コード例 #1
0
ファイル: view.html.php プロジェクト: jomsocial/JSVoice
 function widget_change_data()
 {
     $type_id = JRequest::getInt('type');
     $this->assignRef('type_id', $type_id);
     $this->setLayout('default');
     require_once JPATH_SITE . DS . 'components' . DS . 'com_javoice' . DS . 'helpers' . DS . 'route.php';
     $helper_route = new JavoiceHelperRoute();
     $object = array();
     $k = 0;
     /*$object [$k] = new stdClass ( );
     		$object [$k]->id = '#jav-mainbox-' . $type_id . ' .jav-col1';
     		$object [$k]->attr = 'html';
     		$object [$k]->content = $this->show_form ( true, true );
     		$k ++;
     		*/
     $forums = array();
     $forums_text = JRequest::getString('forums');
     if ($forums_text) {
         $forums_arr = explode(',', $forums_text);
         foreach ($forums_arr as $value) {
             $forum = null;
             if (is_int(trim($value))) {
                 $forums[] = trim($value);
             } elseif ($value != '' && isset($type_id)) {
                 $forum = $helper_route->getForumsId(trim($value), $type_id);
                 if ($forum) {
                     $forums[] = $forum;
                 }
             }
         }
         if ($forums) {
             $forums_id = implode(',', $forums);
             JRequest::setVar('forums_id', $forums_id);
         } else {
             JRequest::setVar('forums_id', "no_forum");
         }
     }
     $object[$k] = new stdClass();
     $object[$k]->id = '#jav-mainbox-' . $type_id . ' .jav-list-items';
     $object[$k]->attr = 'html';
     $object[$k]->content = $this->get_top_popular();
     $k++;
     $helper = new JAVoiceHelpers();
     echo $helper->parse_JSON_new($object);
     exit;
 }
コード例 #2
0
ファイル: router.php プロジェクト: jomsocial/JSVoice
function JavoiceParseRoute($segments)
{
    $vars = array();
    $helper = new JavoiceHelperRoute();
    $app = JFactory::getApplication();
    //Get the active menu item
    $menu = $app->getMenu();
    $item = $menu->getActive();
    // Count route segments
    $count = count($segments);
    //print_r($segments);exit;
    if (!isset($item)) {
        $vars['view'] = $segments[0];
        if (!is_dir(JPATH_SITE . '/components/com_javoice/views/' . $vars['view'])) {
            $vars['view'] = 'items';
            $type_id = $helper->getTypeId($segments[0]);
            $vars['type'] = $type_id;
            if ($count == 2) {
                $temp = explode(':', $segments[$count - 1]);
                if (intval(@$temp[0])) {
                    //Item detail
                    $vars['cid'] = (int) $temp[0];
                    $vars['layout'] = 'item';
                } else {
                    // Forums or Status
                    if ($forums_id = $helper->getForumsId($temp[0], $type_id)) {
                        $vars['forums'] = $forums_id;
                    } elseif ($status_id = $helper->getStatusId($temp[0], $type_id)) {
                        $vars['status'] = $status_id;
                    } elseif ($segments[1] == 'latest') {
                        $vars['order'] = 'create_date desc';
                    } else {
                        $vars['layout'] = $segments[$count - 1];
                    }
                }
            } elseif ($count == 3) {
                if ($forums_id = $helper->getForumsId($segments[$count - 2], $type_id)) {
                    $vars['forums'] = $forums_id;
                }
                if ($status_id = $helper->getStatusId($segments[$count - 1], $type_id)) {
                    $vars['status'] = $status_id;
                } elseif ($segments[$count - 1] == 'latest') {
                    $vars['order'] = 'create_date desc';
                } else {
                    $temp = explode(':', $segments[$count - 1]);
                    if (intval(@$temp[0])) {
                        //Item detail
                        $vars['cid'] = (int) $temp[0];
                        $vars['layout'] = 'item';
                    }
                }
            } elseif ($count == 4) {
                $vars['view'] = $segments[$count - 4];
                $type_id = $helper->getTypeId($segments[$count - 3]);
                $vars['type'] = $type_id;
                if ($forums_id = $helper->getForumsId($segments[$count - 2], $type_id)) {
                    $vars['forums'] = $forums_id;
                }
                if ($status_id = $helper->getStatusId($segments[$count - 1], $type_id)) {
                    $vars['status'] = $status_id;
                } elseif ($segments[$count - 1] == 'latest') {
                    $vars['order'] = 'create_date desc';
                } else {
                    $temp = explode(':', $segments[$count - 1]);
                    if (intval(@$temp[0])) {
                        //Item detail
                        $vars['cid'] = (int) $temp[0];
                        $vars['layout'] = 'item';
                    }
                }
            }
            return $vars;
        }
        if ($vars['view'] == 'items') {
            $type_id = $helper->getTypeId($segments[1]);
            $vars['type'] = $type_id;
            if ($count == 3) {
                $temp = explode(':', $segments[$count - 1]);
                if (intval(@$temp[0])) {
                    //Item detail
                    $vars['cid'] = (int) $temp[0];
                    $vars['layout'] = 'item';
                } else {
                    // Forums or Status
                    if ($forums_id = $helper->getForumsId($temp[0], $type_id)) {
                        $vars['forums'] = $forums_id;
                    } elseif ($status_id = $helper->getStatusId($temp[0], $type_id)) {
                        $vars['status'] = $status_id;
                    } elseif ($segments[2] == 'latest') {
                        $vars['order'] = 'create_date desc';
                    } else {
                        $vars['layout'] = $segments[$count - 1];
                    }
                }
            } elseif ($count == 4) {
                if ($forums_id = $helper->getForumsId($segments[2], $type_id)) {
                    $vars['forums'] = $forums_id;
                }
                if ($status_id = $helper->getStatusId($segments[3], $type_id)) {
                    $vars['status'] = $status_id;
                } elseif ($segments[3] == 'latest') {
                    $vars['order'] = 'create_date desc';
                } else {
                    $temp = explode(':', $segments[$count - 1]);
                    if (intval(@$temp[0])) {
                        //Item detail
                        $vars['cid'] = (int) $temp[0];
                        $vars['layout'] = 'item';
                    }
                }
            }
        } elseif ($vars['view'] == 'users') {
            $vars['view'] = 'users';
            $temp = explode(':', $segments[1]);
            if (intval(@$temp[0])) {
                //Item detail
                $vars['uid'] = (int) $temp[0];
            } else {
                $vars['uid'] = $helper->getUserId($segments[1]);
            }
        } elseif ($vars['view'] == 'feeds') {
            $vars['view'] = 'feeds';
            if (isset($segments[1])) {
                $vars['layout'] = $segments[1];
            }
            if (isset($segments[2])) {
                $vars['alias'] = str_replace(":", "-", $segments[2]);
            }
        }
        //print_r($vars);exit;
        return $vars;
    }
    if ($item->query['view'] == 'items' && $segments[0] != 'users' && $segments[0] != 'feeds') {
        $type_id = $helper->getTypeId($segments[0]);
        $vars['type'] = $type_id;
        if ($count == 2) {
            //$temp = split(':', $segments[1]);
            $temp = explode(':', $segments[1]);
            if (intval(@$temp[0])) {
                //Item detail
                $vars['cid'] = (int) $temp[0];
                $vars['layout'] = 'item';
            } else {
                // Forums or Status
                if ($forums_id = $helper->getForumsId($segments[$count - 1], $type_id)) {
                    $vars['forums'] = $forums_id;
                } elseif ($status_id = $helper->getStatusId($segments[$count - 1], $type_id)) {
                    $vars['status'] = $status_id;
                } elseif ($segments[1] == 'latest') {
                    $vars['order'] = 'create_date desc';
                } else {
                    $vars['layout'] = $segments[$count - 1];
                }
            }
        } elseif ($count == 3) {
            $temp = explode(':', $segments[$count - 1]);
            if (intval(@$temp[0])) {
                //Item detail
                $vars['cid'] = (int) $temp[0];
                $vars['layout'] = 'item';
            }
            if ($forums_id = $helper->getForumsId($segments[1], $type_id)) {
                $vars['forums'] = $forums_id;
            }
            if ($status_id = $helper->getStatusId($segments[2], $type_id)) {
                $vars['status'] = $status_id;
            } elseif ($segments[2] == 'latest') {
                $vars['order'] = 'create_date desc';
            } elseif (!intval(@$temp[0])) {
                $vars['layout'] = $segments[$count - 1];
            }
        }
    } elseif (isset($item->query['view']) && $item->query['view'] == 'users' || $segments[0] == 'users') {
        $vars['view'] = 'users';
        if (isset($segments[1])) {
            $temp = explode(':', $segments[1]);
            if (intval(@$temp[0])) {
                //Item detail
                $vars['uid'] = (int) $temp[0];
            } else {
                $vars['uid'] = (int) $helper->getUserId($segments[1]);
            }
        }
        if (!isset($vars['uid'])) {
            $vars['uid'] = 999999999999.0;
        }
    } elseif (isset($item->query['view']) && $item->query['view'] == 'feeds' || $segments[0] == 'feeds') {
        $vars['view'] = 'feeds';
        if (isset($segments[1])) {
            $vars['layout'] = $segments[1];
        }
        if (isset($segments[2])) {
            $segments[2] = str_replace(":", "-", $segments[2]);
            $vars['alias'] = $segments[2];
        }
    }
    return $vars;
}