LINUX.ORG.RU

Сообщения Razip

 

Ошибка при работе с Propel в PHP

Приветствую. Пытаюсь использовать эту библиотеку вне какого-нибудь фреймворка. Вот код:

require_once 'vendor/autoload.php';

require_once 'application/models/UserQuery.php';

var_dump(UserQuery::create()->findOneByIsEmailConfirmed(1));
При попытке получить записи выводится ошибка:
Fatal error: Uncaught exception 'Propel\Runtime\Exception\RuntimeException' with message 'No connection defined for database "default". Did you forget to define a connection or is it wrong written?' ...
Конфигурация propel.xml:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<config>
    <propel>
        <paths>
            <phpDir>application/models</phpDir>
        </paths>
        <database>
            <connections>
                <connection id="default">
                    <adapter>mysql</adapter>
                    <classname>Propel\Runtime\Connection\ConnectionWrapper</classname>
                    <dsn>mysql:host=localhost;dbname=typing</dsn>
                    <user>root</user>
                    <password></password>
                    <settings>
                        <charset>utf8</charset>
                    </settings>
                </connection>
            </connections>
        </database>
        <runtime>
            <defaultConnection>default</defaultConnection>
            <connection>default</connection>
        </runtime>
        <generator>
            <defaultConnection>default</defaultConnection>
            <connection>default</connection>
        </generator>
    </propel>
</config>
Заранее спасибо!

 

Razip
()

JS. Отправить число с плавающей точкой как параметр POST-запроса

Приветствую. Как такое осуществляется?

 

Razip
()

Помогите распарсить табулатуру

Приветствую. Есть такой момент в одной из песен - http://da.am/i/3228/ (я обвел его красным цветом). Какими пальцами это играется? Что значит цифра 5 впереди? Заранее спасибо.

 

Razip
()

Есть у кого аккаунт 4PDA?

Приветствую. Мне нужно скачать этот файл - http://4pda.ru/forum/dl/post/5741257/TWRP_2.8.4.0_G5S_(V2).img. Проблема в том, что не могу никак зарегистрироваться. Если кому не трудно - выложите его куда-нибудь. Заранее спасибо!

 

Razip
()

Делюсь велосипедом

По мотивам JS. Разыскивается библиотека всплывающих окон. Создал библиотеку (на чистом JS) для работы с модальными окнами под свои нужды. Подумал что кому-нибудь это может быть полезно.

В отличии от nanoModal, у меня не только окна перекрываются, но и оверлеи. В будущем планирую добавить фиксирование оверлея и другие плюшки.

https://github.com/Razip/ModalWindow

 

Razip
()

JS. Разыскивается библиотека всплывающих окон

Требования к окошкам: без jQuery, с оверлеем, могут перекрывать друг друга.

 

Razip
()

Возможно ли упрощение этого алгоритма?

Приветствую. Мне нужно определить длину слова в строке. Границы слова определяются по концами строки или по ближайшими пробелами по обе стороны от слова.

Мой алгоритм здесь - http://repl.it/7aL/3. Есть ли возможность упростить его?

 

Razip
()

JS. Неполная очистка текстового поля

Буду краток - http://jsfiddle.net/c7zd95oq/.

 

Razip
()

Apache2 CGI-файл не запускается

Браузер предлагает загрузить файл при переходе на http://cgi/cgi-bin/index.cgi.

Конфигурация из /etc/apache2/sites-available:

<VirtualHost *:80>
        ServerName cgi
        ServerAdmin webmaster@localhost

        ScriptAlias /cgi-bin /var/www/cgi/

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Буду благодарен за помощь.

 ,

Razip
()

Неправильная длина строки std::string в C++

#include <iostream>
#include <string>

using namespace std;

string getStringInEnglish()
{
	return "Masha was walking on the highway.";
}

string getStringInRussian()
{
	return "Шла Маша по шоссе.";
}

int main()
{
	//В строке всего 18 символов, а показывет 32
	cout << getStringInRussian().length() << endl;

	//Показывает правильно
	cout << getStringInEnglish().length() << endl;
	
	return 0;
}

 

Razip
()

Не могу подключить код из отдельного файла C++

Приветствую. Имею следующие файлы с исходным кодом:

index.cpp.

#include <iostream>
#include "text.h"

using namespace std;

int main()
{
	cout << getText();

	return 0;
}

text.h

#include <string>

using namespace std;

string getText();

text.cpp

string getText()
{
	return string("Клара у Карла украла кораллы. А Карл у Клары украл кларнет.");
}

При попытке скомпилировать выводится такая ошибка:

razip@elementaryOS:~/Документы/Проекты/Test$ g++ -o index index.cpp/tmp/cc4dT5qB.o: In function `main':
index.cpp:(.text+0x11): undefined reference to `getText()'
collect2: выполнение ld завершилось с кодом возврата 1

В чем проблема? Ногами не пинать, делаю первые шаги в C++.

 

Razip
()

JS. Проблема с конвертацией из JSON в массив

var chapters = JSON.parse('["<p align=\"left\">***</p>\n<p align=\"left\">&nbsp;</p>\n<p align=\"left\">Шли навстречу Толя с Колей,</p>\n<p align=\"left\">Сто бутылок волоча.</p>\n<p align=\"left\">Говорят, они искали</p>\n<p align=\"left\">Старика Хоттабыча!</p>\n<p align=\"left\">&nbsp;</p>\n<p align=\"left\">***</p>\n<p align=\"left\">&nbsp;</p>\n<p align=\"left\">Любят маленькие детки</p>\n<p align=\"left\">Всевозможные конфетки.</p>\n<p align=\"left\">Кто грызет, а кто глотает,</p>\n<p align=\"left\">Кто за щечкою катает.</p>\n<p align=\"left\">&nbsp;</p>\n<p align=\"left\">***</p>\n<p align=\"left\">&nbsp;</p>\n<p align=\"left\">По-геройски Лена с ленью</p>\n<p align=\"left\">Воевала целый день,</p>\n<p align=\"left\">Но, к большому огорченью,</p>\n<p align=\"left\">Победила Лену лень.</p>"]');

Есть такие данные в JSON, при конвертации возникает следующая ошибка:

SyntaxError: JSON.parse: expected ',' or ']' after array element at line 1 column 13 of the JSON data

Буду благодарен за помощь.

 ,

Razip
()

Очередной вопрос по регулярному выражению

^[^,][-,_\w\d]+[^,]$

Такое регулярное выражение не учитывает один момент: «слова» из разрешенного набора символов могут отделяться двумя и более запятыми, что в свою очередь нарушает логику программы (в дальнейшем эти данные разделяются по «,» на массив, и если не сделать проверку, то он будет содержать пустые элементы).

 

Razip
()

Регулярное выражение для поиска запрещенных символов

Приветствую. Мне необходимо выражение, которое возвращает первое совпадение по запрещенным символам. Пытался сделать следующим образом:

[^,._/-/&\w\d]
Но проблема в том, что в онлайн-тестировщике регулярных выражений работает, а в проекте — нет. Вот и хочу спросить: является ли оно валидным и грешить на фреймворк?

 

Razip
()

Авторизация в Symfony2

Приветствую. Я новичек в Symfony2 и мне требуется помощь с авторизацией, т.к. после рефакторинга она не работает. Я не знаю как это сделано в других проектах, но в том, с которым мне пришлось работать сделано следующим образом.

1) Модель User (от Propel), которая реализует UserInterface интерфейс.

2) AccountController со следующими методами (я показываю лишь два).

    public function authenticationAction(Request $request)
    {
        $session = $request->getSession();

        // get the login error if there is one
        if ($request->attributes->has(SecurityContextInterface::AUTHENTICATION_ERROR)) {
            $error = $request->attributes->get(SecurityContextInterface::AUTHENTICATION_ERROR);
        } else {
            $error = $session->get(SecurityContextInterface::AUTHENTICATION_ERROR);
            $session->remove(SecurityContextInterface::AUTHENTICATION_ERROR);
        }

        $loginForm = $this->createForm(new AccountLoginType(), new AccountLogin(), [
            'action' => $this->generateUrl('account_authorization')
        ])->handleRequest($request);

        return $this->render('noxaeternaMainBundle:Account:login.html.twig', [
            'loginForm' => $loginForm->createView(),
            'error' => $error
        ]);
    }

    public function authorizationAction(Request $request) {
        $loginForm = $this->createForm(new AccountLoginType(), new AccountLogin(), [
            'action' => $this->generateUrl('account_authorization')
        ])->handleRequest($request);

        if ($request->getMethod() === 'POST' && $loginForm->isValid()) {
            $name = $loginForm->getData()->getName();

            $user = UserQuery::create()->findOneByName($name);

            if (is_null($user)) {
                return $this->render('noxaeternaMainBundle:Account:login.html.twig', [
                    'loginForm' => $loginForm->createView(),
                    'error' => 'Пользователя с таким именем не существует.'
                ]);
            }

            $encryptionService = $this->get('encryption_service');

            $passwordHash = $encryptionService->calculateMd5($encryptionService->encrypt(
                $loginForm->getData()->getPassword(),
                $user->getSalt()
            ));

            if ($user->getPasswordHash() !== $passwordHash) {
                return $this->render('noxaeternaMainBundle:Account:login.html.twig', [
                    'loginForm' => $loginForm->createView(),
                    'error' => 'Пароли не совпадают.'
                ]);
            }

            $sessionKey = new SessionKey();

            $sessionKey->setUserId($user->getId())
                ->setKey(md5(uniqid($name, true)))
                ->setCreationTime(new \DateTime())
                ->setIsExpired($loginForm->getData()->getRememberMe() ? 1 : 0)
                ->save();

            $response = new Response();

            $response->headers->setCookie(new Cookie('NOXUID', $sessionKey->getKey()));
            $response->send();

            return $this->redirect($this->generateUrl('index'));
        }

        return $this->render('noxaeternaMainBundle:Account:login.html.twig', [
            'loginForm' => $loginForm->createView()
        ]);
    }
3) Конфигурация security.yml.
security:
    encoders:
#        Symfony\Component\Security\Core\User\User: plaintext
        noxaeterna\MainBundle\Model\User:
            id: encryption_service

    role_hierarchy:
        ROLE_ADMIN:       ROLE_USER
        ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]

    providers:
        main:
            id: nox_user_provider

    firewalls:
        dev:
            pattern:  ^/(_(profiler|wdt)|css|images|js)/
            security: false

        login:
            pattern:  ^/account/login$
            security: false

        secured_area:
            pattern:    ^/
            form_login:
                check_path: account_authentication
                login_path: account_authorization
                use_referer: true
            logout:
                path:   account_logout
                target: /
            remember_me:
                key:      "%secret%"
                lifetime: 31536000 # 365 days in seconds
                path:     ^/
                domain:   ~ # Defaults to the current domain from $_SERVER
            anonymous: ~
            #http_basic:
            #    realm: "Secured Demo Area"

    access_control:
        - { path: ^/account/login/$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/profile/change/(password|name)/$, roles: IS_AUTHENTICATED_REMEMBERED }
        - { path: ^/(blog|gallery|library)/add/, roles: IS_AUTHENTICATED_REMEMBERED }
        - { path: ^/(blog|gallery|library)/(post|image|book)/\d+/edit/$, roles: IS_AUTHENTICATED_REMEMBERED }
        - { path: ^/profile/$, roles: IS_AUTHENTICATED_REMEMBERED}
Собственно проблема в том, что при отправки данных на authorizationAction не происходит авторизация и остается токен анонимного пользователя.

Заранее спасибо!

 ,

Razip
()

Пропиетарный драйвер AMD

Видеокарта — ASUS EAH5750 FORMULA, ОС — Elementary (Luna). Пытаюсь поставить fglrx-14.10, до этого стоял fglrx какой-то версии, но видимо из-за обновлений перестал работать (раньше все работало нормально).

Не работают: контекстовое меню при нажатии ПКМ, изменились рамки вокруг окон, верхняя часть окна (где расположены кнопки для скрытия, закрытия окна и т.д.), курсор (заменился каким-то иксом).

Через amd-driver-installer-14.10-x86.x86_64.run собирал драйвер с опциями --force --buildpkg Ubuntu/precise (Luna базирована на Ubuntu 12.04). После сборки появились три пакета:

fglrx_14.100-0ubuntu1_amd64.deb
fglrx-amdcccle_14.100-0ubuntu1_amd64.deb
fglrx-dev_14.100-0ubuntu1_amd64.deb
Установил каждый через dpkg -i и перезагрузил компьютер. Проблема не решилась.

http://pastebin.com/9rp8Ac4R — лог Xorg.

Есть у кого какие мысли? Спасибо.

 ,

Razip
()

Mod rewrite конфигурация

Приветствую. Имеется такая конфигурация:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d

RewriteRule ^(.*)$ $1  [L]
RewriteRule ^(.*)$ index.php?r=$1 [L]

Это используется для одной точки входа + маршрутизации (все передается в «r» HTTP-GET переменную (эту переменную разбирает парсер машрута)).

Все бы ничего, но даже ссылки к статическим файлам вроде css/js будут разбираться таким парсером. Как сделать исключение, при котором не будет перенаправления к парсеру для тех URL, которые соответствуют следующему регулярному выражению:

\.(css|js|png|jpg|jpeg|gif)$

?

Спасибо всем откликнувшимся.

 ,

Razip
()

PHP и константа __DIR__

Приветствую. Суть вот в чем:

1) Имеются классы «A» и «B».

2) Файл с «A» лежит в корне, а файл с «B» лежит в каталоге classes.

3) «A» расширяет класс «B».

4) В классе «B» есть конструктор, который содержит вывод константы __DIR__.

Т.к. в классе «A» отсутствует конструктор, наследуется конструктор от класса B, но, выводит:

/var/www/classes
Вместо:
/var/www/

Почему так происходит? Что происходит если конструктор не переопределен в классе A? Просто вызывается конструктор родителя? Если это так, то каким образом я могу получать значение константы __DIR__ текущего файла? Спасибо!

 

Razip
()

Apache2 не видит файлов

Когда открываю localhost, показывается:

Index of /
[ICO]	Name	Last modified	Size	Description
Apache/2.4.9 (Ubuntu) Server at 127.0.0.1 Port 80

Хотя каталог /var/www/ не пуст.

 

Razip
()

PhpStorm Git ошибка при слиянии веток

Приветствую. Выполняю слияние двух веток: локальной test и удаленной test. Разрешил все конфликты, пытаюсь добавить в коммит и выгрузить, но возникает ошибка:

Error executing git commit --only -F /tmp/git-commit-msg-9038756113056988315.txt — system/Application.php

Буду благодарен за помощь.

 ,

Razip
()

RSS подписка на новые темы