Example #1
0
function getTextContent($node)
{
    $textContent = "";
    $nodeType = gumbo_node_get_type($node);
    switch ($nodeType) {
        case GUMBO_NODE_ELEMENT:
            $tag = gumbo_element_get_tag_name($node);
            if (in_array($tag, ['script', 'style'])) {
                break;
            }
            $children = gumbo_element_get_children($node);
            foreach ($children as $child) {
                $textContent .= getTextContent($child);
            }
            break;
        case GUMBO_NODE_TEXT:
            $text = gumbo_text_get_text($node);
            $textContent .= strlen($text) ? $text : " ";
            break;
    }
    return $textContent;
}
 function makeEntryFromGND($gnd)
 {
     $target = 'http://d-nb.info/gnd/' . $gnd . '/about/lds';
     $response = file_get_contents($target);
     $RDF = new DOMDocument();
     $RDF->load($target);
     $nodePrefName = $RDF->getElementsByTagNameNS('http://d-nb.info/standards/elementset/gnd#', 'preferredNameForThePlaceOrGeographicName');
     $prefName = getTextContent($nodePrefName);
     $nodeVarName = $RDF->getElementsByTagNameNS('http://d-nb.info/standards/elementset/gnd#', 'variantNameForThePlaceOrGeographicName');
     $varNameString = getTextContent($nodeVarName);
     $varNameString = replaceArrowBrackets($varNameString);
     $varNames = explode('|', $varNameString);
     $nodeGeoData = $RDF->getElementsByTagNameNS('http://www.opengis.net/ont/geosparql#', 'asWKT');
     $geoDataString = getTextContent($nodeGeoData);
     preg_match('~ ([+-][0-9]{1,3}\\.[0-9]{1,10}) ([+-][0-9]{1,3}\\.[0-9]{1,10}) ~', $geoDataString, $matches);
     $long = '';
     $lat = '';
     if (isset($matches[1]) and isset($matches[2])) {
         $long = $matches[1];
         $lat = $matches[2];
     }
     $nodeSameAs = $RDF->getElementsByTagNameNS('http://www.w3.org/2002/07/owl#', 'sameAs');
     $sameAs = getAttributeFromNodeList($nodeSameAs, 'rdf:resource');
     preg_match('~http://sws.geonames.org/([0-9]{5,10})~', $sameAs, $matches);
     $geoNames = '';
     if (isset($matches[1])) {
         $geoNames = $matches[1];
     }
     $entry = new geoDataArchiveEntry();
     $entry->label = replaceArrowBrackets($prefName);
     $entry->lat = $lat;
     $entry->long = $long;
     $entry->gnd = $gnd;
     $entry->geoNames = $geoNames;
     $entry->altLabels = $varNames;
     return $entry;
 }
Example #3
0
/**
 * Функция которая возвращает массив информации
 * о просматриваемой страничка с типом $type
 * и $id
 * @param null $type
 * @param null $id
 * @return array
 */
function getContent($type = null, $id = null)
{
    /*Если параметры null, то выводим страничку по умолчанию*/
    if ($type == null) {
        $type = DEFAULT_PAGE;
    }
    if (isset($_POST['new_submit']) && $_POST['new_submit']) {
        $type = NEW_SUBMIT_TYPE;
    }
    $loginStatus = LOGIN_ALREADY;
    if (isset($_GET['unlogin']) && $_GET['unlogin']) {
        unlogin();
        $loginStatus = LOGIN_EXIT;
    }
    if ($_POST['submit']) {
        $loginStatus = login($_POST['login'], $_POST['password']);
    }
    /*Инициализируем информацию в зависимости от типа */
    $array = array();
    switch ($type) {
        /*Если тип страницы - текстовая*/
        case TEXT_TYPE:
            /*Если id не инициализирован выводим главную.
            		Иначе страницу с id*/
            if ($id == null) {
                $id = MAIN_PAGE_TEXT_ID;
            }
            /*Получаем текст из базы*/
            $page = getTextContent($id);
            $array['content'] = $page['text'];
            break;
        case CATALOG_TYPE:
            /*Если id не инициаизирован */
            if (!($id > 0)) {
                /*Выбираем первый попавшийся театр*/
                $sql = "SELECT id from theatures LIMIT 1";
                $res = mysql_query($sql);
                $row = mysql_fetch_array($res);
                $id = $row['id'];
            }
            /*Получаем спектали из базы*/
            $items = getCatalogItems($id);
            //$parent_item = get;
            /*Вставляем их в ш для красивого вывода*/
            $array['content'] = (include 'templates/content/item/items.php');
            break;
        case ITEM_TYPE:
            $item = getItem($id);
            $array['content'] = (include 'templates/content/item/item_big.php');
            break;
        case NEW_REG_TYPE:
            $array['content'] = (include 'templates/content/login/newreg.php');
            break;
        case NEW_SUBMIT_TYPE:
            //Если пароли совпадают
            if ($_POST['new_password1'] == $_POST['new_password2']) {
                if (addNewUser($_POST['new_login'], $_POST['new_password2'])) {
                    $array['content'] = 'Поздравляем вы зарегистерированы';
                } else {
                    $array['content'] = 'Такой пользователь уже есть';
                }
            } else {
                $array['content'] = 'Пароли не совпадают';
            }
            break;
        case ADD_CART_TYPE:
            addToCart($id);
            $cartItems = getCartItems();
            $sum = calculateCart();
            $array['content'] = (include 'templates/content/cart/cart.php');
            break;
        case CART_TYPE:
            $cartItems = getCartItems();
            $sum = calculateCart();
            $array['content'] = (include 'templates/content/cart/cart.php');
            break;
            /*Удаляем одну штуку*/
        /*Удаляем одну штуку*/
        case REMOVE_CART_TYPE:
            $cartItems = getCartItems();
            $sum = calculateCart();
            removeFromCart($id);
            $array['content'] = (include 'templates/content/cart/cart.php');
            break;
            /*Удаляем весь товар*/
        /*Удаляем весь товар*/
        case REMOVE_ITEM_CART_TYPE:
            $cartItems = getCartItems();
            $sum = calculateCart();
            removeFromCart($id, CART_REMOVE_ALL);
            $array['content'] = (include 'templates/content/cart/cart.php');
            break;
        case CLEAR_CART_TYPE:
            $cartItems = getCartItems();
            $sum = calculateCart();
            clearCart();
            $array['content'] = (include 'templates/content/cart/cart.php');
            break;
    }
    $user = getCurrentUser();
    $array['theatures'] = getCatalogCategories();
    $items = getCatalogCategories();
    $array['leftPanel'] = (include 'templates/content/catalog/catalogCategories.php');
    $array['rightPanel'] = (include 'templates/content/login/login.php');
    $array['banner_word'] = 'Театры';
    $array['title'] = 'Сайт';
    return $array;
}