LINUX.ORG.RU

Сообщения Berdin

 

Angular and website search

Форум — Web-development

Всем привет. Когда-то я уже поднимал немного похожую тему. Есть выдача определенных статей, и справа имеем фильтр, поиск - как хотите так и называйте, там есть разные selects, checkboxes, в котором фильтрация должна быть к примеру по автору, рубрике и еще ряду критериев. Реализация должна быть асинхронной, то есть где-то выбрали что-то другое и весь фильтр отработал по новой. Концептуально пока в планах создать один объект, на нужные поля повесить модели которые являются свойствами этого объекта, и его изменения смотреть watchCollection ну а на back-end смотреть что пришло и формировать нужный sql запрос. Есть ли у кого идеи как лучше это сделать или есть статьи на похожие примеры и объяснения как это делать?

 , ,

Berdin
()

Symfony and sessions

Форум — Web-development

Уважаемые знатоки symfony и php. Поправьте меня пожалуйста, а то по мне кажется допускаю ошибку в логике приложения. Есть функция login, вернее вот кусок из неё что создает сессию

$session = new Session();
$session->start();
$session->set('user', 'тут id юзера после всех удачных проверок');

Для нормальной работы cookie с названием PHPSESSID в config.yml дописал -

framework:
    session:
        cookie_lifetime: 43200
        gc_maxlifetime: 43200

Есть некая функция check - которая проверяет может ли пользователь заходить на конкретный url,

$session = new Session();
$session->start();
$id = $session->get('user');
if(isset($id)){
            $user = $model->getUserInfo($id);
            $response->setContent(json_encode($user));
        }
Тут смотрю есть ли переменная сессии user ну и вытягиваю id и по id возвращаю необходимую инфу с базы. И еще есть функция logout:
$session = new Session();
        $session->start();
        $id  = $session->get('user');
        $session->clear();
        $session->invalidate();
        $response->headers->clearCookie('PHPSESSID');

Это лишь части кода, но можете сказать правильно ли я реализую вообщем это механизм или где стоит добавить лишние проверки или где что убрать?

 , ,

Berdin
()

Erlang

Форум — Development

Ребята вот почитав пару статей о нем интересно стало как много людей пишут на нем и что вообще пишут? Как на нем идет вообще коммерческая разработка?

 , ,

Berdin
()

Symfony gmail smtp

Форум — Web-development

Всем привет. Есть приложение на symfony 2.5 в нем для теста отправки email использую вариант gmail smtp - все работает, все прекрасно, но при развертывании всего этого на vps отправка email отказывается работать. В файле логов хоста нету ошибок, в папке app/logs тоже нету никаких ошибок, сам хостер в лице digital ocean говорит что у них нету ограничений никаких. Да и среда работы приложения одинакова LAMP без каких либо доп настроек для отправки email.

 

Berdin
()

Apache host configuration

Форум — Web-development

Господа разработчики и админы. Есть хост на Apache который смотрит в папку допустим public и в этой папке html файлы и папки css, js и так далее. Вот хост настроен так что смотрит в папку public и так как в ней есть файл index.html то при переходе по url попадаем на индексовую страницу, но при переходу по ссылке http://my.loc/js я вижу все файлы папки js . Подскажите , пожалуйста, что вписать в настройки хоста чтобы не попадать в папки js и css или вообще в этом хосте читать только index.html файл, так как приложения у меня на angular и по роутам само подтягивает нужные шаблоны, а точкой входа как раз и есть index.html.

 ,

Berdin
()

Angular application and google + sign in

Форум — Web-development

Всем привет. При регистрации потребовалась привязка google plus, вернее подтянуть данные о пользователе для дальнейшей регистрации, все бы ничего если бы просто пример вставленный в обычную html страницу работает, а вот все в точности в angular приложении валиться, хотя делаю все исключительно по документации, кто сталкивался с такой привязкой? кто может дать ссылку на толковый пример как это сделать так как обычный подход тут не прошел и нужно то ли кастомные директивы писать то ли еще что-то другое выдумывать.

 , , ,

Berdin
()

Heroku

Форум — Web-development

Всем привет. Читал и наслышан о том что многие используют этот сервис , может кто на пальцах объяснить в чем суть и плюсы этого сервиса, чем он будет полезен и так далее.

 ,

Berdin
()

JQuery и функция live

Форум — Web-development

Всем привет. Скинули мне готовую верстку и там всплывающим окном реализована форма с помощью плагина boxer . Вот надо эту форму мне обработать, но в чем проблема там этот плагин как-то меняет и добавляет элементы DOM после загрузки страницы, сначала пробовал классической выборкой полей - возвращаются пустые строки в итоге, пусть даже если поля заполнены. Вычитал про метод live на кнопку Отправить в форме привязал его, только правда не live а on так как live убрали с новых версий библиотеки. Вот смог повесить и заставляю срабатывать обработки для события click на кнопке формы, но при попытке получить значения полей все так же получаю пустые строки, как это можно правильно реализовать?

 , ,

Berdin
()

Django forms and textarea

Форум — Web-development

Ребята очень давно не писал на django, а когда писал то использовал его не на полную катушку. Есть форма в html , для неё обработчик начал писать:

class ContactForm(forms.Form):
    name = forms.CharField(max_length=255)
    email = forms.EmailField(max_length=255)
    phone = forms.CharField(max_length=255)
    text = forms.Textarea()
    file = forms.FileInput()

далее сама view:

def get_form(request):
    if request.method == 'POST':
        form = ContactForm(request.POST)
        if form.is_valid():
            name = form.cleaned_data['name']
            email = form.cleaned_data['email']
            phone = form.cleaned_data['phone']
            text = form.cleaned_data['text']
            print name
            print email
            print phone
            print(text)
            return HttpResponseRedirect('/success')
        else:
            return HttpResponseRedirect('/')

и получаю в итоге ошибку:

KeyError at /form/

'text'
Хотя значение для textarea приходит, это видно в debug режиме который и выдает эту ошибку, не пойму почему тогда код выкидывает ошибку, плюс еще с загрузкой файла придется заморочиться. Код просто в режиме разработки еще, но почему-то проблемы только с textarea.

 , ,

Berdin
()

Symfony send email

Форум — Web-development

Пишу отправку писем с symfony, все настроил нормально отправляет email, решил отправлять по шаблону, и вот с чем столкнулся:

$mailer = $this->get('mailer');
        $message = $mailer->createMessage()
            ->setSubject('Test mail from symfony')
            ->setFrom("sender@gmail.com")
            ->setTo("recipient@gmail.com")
            ->setBody(
                $this->renderView('Emails/test.html.twig')
            );

        $mailer->send($message);
И вот получаю такой вот еррор
Template name "Emails/test.html.twig" is not valid (format is "bundle:section:template.format.engine").

в config.yml все в этом плане тоже нормально

templating:
        engines: ['twig','php']
        #assets_version: SomeVersionScheme

Да и права доступа в норме на директории Сам шаблон лежит в директории моего Bundle а именно Resources/views/Emails/test.html.twig Можете подсказать как это все дело заставить работать?

 , ,

Berdin
()

Django and MySQL

Форум — Web-development

Всем привет. Разворачиваю django на MacOS , установил сам django из под оси, у меня есть vagrant на нём работает стек LAMP, дабы не заморачиваться с установкой MySQL на мак, решил подключиться к базе что на виртуалке этой висит, но в чем суть при команде python manage.py migrate начала вызвать ошибку, ну я через pip поставил python-mysql, но все так же не работает команда. Код конфига такой:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'testDB',
        'USER': 'root',
        'PASSWORD': 'mypass',
        'HOST': '192.168.33.10',
        'PORT':''
    }
}
И консоль выдает эту ошибку:
    __import__(name)
  File "/Library/Python/2.7/site-packages/django/db/backends/mysql/base.py", line 18, in <module>
    raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
Хотя модуль ставил, не подскажите как это правильно все сделать?

 , ,

Berdin
()

Less/More directive Angular

Форум — Web-development

Всем привет. Возникла задача на проекте для ряда разных блоков информации сделать отображение контента less/more я поискал немного в интернете нашел на stack описание как это делать, но кто-то стыкался уже с готовыми решениями или может дать совет как быстрее написать такую директиву?

 , ,

Berdin
()

Symfony and CORS

Форум — Web-development

Всем привет. Вопрос вот такого плана. Есть API которое пишется на Symfony 2.5 и там в файле .htaccess в папке web вот такой вот конфиг:

<IfModule mod_headers.c>
    Header always set Access-Control-Allow-Origin: "http://project.loc"
    Header always set Access-Control-Allow-Methods "OPTIONS, POST, GET, PUT, DELETE"
    Header always set Access-Control-Allow-Headers "origin, x-requested-with, content-type"
    Header always set Access-Control-Allow-Credentials "true"
</IfModule>


И вот есть у меня приложение на angular которое общается с этой  API и уже наработан механизм отправки cookie с приложения на API, для чего и прописаны эти конфиги, но у меня также с этой API общается другое приложение, но ему сейчас выбивает ошибку 
Origin http://admin.loc is not allowed by Access-Control-Allow-Origin.

Что вполне понятно из-за строки

Header always set Access-Control-Allow-Origin: "http://project.loc"
но поставить
Header always set Access-Control-Allow-Origin: "*"
Я не могу, так последняя строка конфига не допускает этого и валиться первое приложение, вернее его запросы к API, можете подсказать как правильно поправить конфиг чтобы оба приложения работали нормально.

 , ,

Berdin
()

Авторизация в AngularJS приложении

Форум — Web-development

Я уже поднимал этот вопрос тут. Но есть еще пару моментов над которыми я еще ломаю голову, в плане правильной реализации. Еще раз опишу структуру приложения. Есть отдельно api и отдельно front-end где за все отвечает полностью angular, то есть за формирование routes и т.д. С сервером он общается для запроса того или иного набора данных. Вот нужно написать авторизацию для этой связки. Естественно есть страницы которые может видеть одна группа пользователей, а другая нет, ну и на оборот. Для routes использую ngRoute. Естественно с коробки не существует в angular проверки прав пользователей и это надо писать самому. Перечитал ряд статей и реализовал посредством cookie,но есть одно но. Теперь хочу написать механизм который будет при каждом изменении роута смотреть какие группы пользователей могут его видеть и отдавать или нет нужную страницу. Есть мысль написать это на back-end в виде функции check которая будет проверять можно ли юзеру смотреть страницу или нет, и уже отдавать какой-то ответ, но если это делать при каждом изменении страницы, то я думаю это будет лишняя нагрузка на сервер, плюс в то же время надо для каждого авторизованного пользователя в правом верхнем углу отображать его логин и еще ряд информации , можно и как-то реализовать сервис который для каждого пользователя в rootScope будет создать объект user, к примеру, и давать ему определенные свойства и для каждого пользователя это будет свой объект, просто это поможет избежать лишних запросов на back-end и в механизме проверять объект с rootScope что будет явно быстрее и не будет создавать такую нагрузку на сервер. Но я пока не вижу возможности реализации уникального объекта user для каждого пользователя, ведь это не сессии в конце концов которые можно создавать на стороне сервера и они дают уникальность для каждого клиента. Можете скажем так оценить направление идеи или может подсказать что-то более рациональные ну и поправить меня где нужно?

 , , ,

Berdin
()

Проблема с cookie

Форум — Web-development

Всем привет. Поднимал я тут уже ранее вопрос о то как с помощью cookie делать авторизацию в приложении где angular висит отдельно от сервера на котором api и общается с api . Начал реализацию этого механизма посредством cookie и вот столкнулся с проблемой такой, со страницы логина отправляю логин и пароль, на стороне сервера делаю необходимые проверки и в случае когда все проверки проходят делаю вот что

$response->headers->setCookie(new Cookie('user', 'TestCookie'));

На стороне ангулара в инспекторе смотрю что потом приходит с сервера

Access-Control-Allow-Headers:origin, x-requested-with, content-type
Access-Control-Allow-Methods:OPTIONS, POST, GET, PUT, DELETE
Access-Control-Allow-Origin:*
Cache-Control:no-cache
Connection:Keep-Alive
Content-Encoding:gzip
Content-Type:text/html; charset=UTF-8
Date:Wed, 07 Jan 2015 10:33:53 GMT
Keep-Alive:timeout=5, max=99
Server:Apache/2.4.7 (Ubuntu)
Set-Cookie:user=TestCookie; path=/; httponly
Transfer-Encoding:chunked
Vary:Accept-Encoding
X-Debug-Token:253bbd
X-Debug-Token-Link:/app_dev.php/_profiler/253bbd
X-Powered-By:PHP/5.5.9-1ubuntu4.5

Вроде все нормально и сервер присвоил cookie, но далее переходя на другую страницу с которой отправляется запрос на ту же api я смотрю в инспекторе что cookie не дописываются к запросу, в инспекторе смотрю на request

GET /app_dev.php/category HTTP/1.1
Host: api.loc
Connection: keep-alive
Accept: application/json, text/plain, */*
Origin: http://project.loc
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36
Referer: http://project.loc/add
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,ru;q=0.6,uk;q=0.4

И как видно что у запроса не приписаны cookie но они должны там быть. Так как это запрос к серверу с того же ангуларовского приложения после присвоения cookie. Не может ли быть виной эта строка кода в приложении ?

.config(['$httpProvider', function($httpProvider) {
    $httpProvider.defaults.useXDomain = true;
    delete $httpProvider.defaults.headers.common['X-Requested-With'];
}
]);

Просто не знаю в какую сторону копать в поисках причины.

 , ,

Berdin
()

AngularJS атворизация в приложении

Форум — Web-development

Пишу приложение где за работу с темплейтами полностью отвечает angular, и общение с сервером ведет посредством API, вот нужно писать авторизацию пользователей, почитав пару источников начитался о ряде разных методов , один запомнился более всего - посредством access token-строки , но может у общества есть советы как сделать это проще, все ровно сессии нужно хранить на стороне сервера, хотя есть еще html5 web storage,в принципе мне нужна стандартная авторизация и уже отдача тех или иных страниц пользователям которые прошли процедуру авторизации, и запрет просмотра этих страниц тем кто не авторизован.

 , ,

Berdin
()

Нужна помощь с регулярным выражением

Форум — Web-development

Ребята помогите, пожалуйста, набросать регулярное выражение такого плана: допустим есть строка вида 'ang' нужно чтобы нашло из списка слов что есть для проверки в совпадение попали слова ang, Angular, anGular, ну и так далее - тут вопрос в регистро зависимости строки, строка 'ang' может быть произвольной.

 ,

Berdin
()

Apache host config for file downloading

Форум — Admin

Всем привет. Вообщем стоит задача реализовать ссылки на загрузку файлов с сервера, для загрузки создал отдельный хост, версия apache 2.4,

DocumentRoot /home/uploaded/

        <Directory "/home/uploaded/">
                Options FollowSymLinks Indexes
                Require all granted
                AllowOverride All
        </Directory>
Захожу на хост ну мне естественно показывает директорию и при нажатии на файл , если это к примеру изображение, его открывает браузер в новой вкладке, а хотелось бы чтобы при нажатии на файл его скачивало с хоста, не подскажите какую команду в конфигурацию добавить чтобы это работало на скачивание при нажатии на файл?

 , ,

Berdin
()

SQL query

Форум — Web-development

Всем привет. Есть одна задача которую хотелось бы реализовать чисто sql запросом, но я почему-то столкнулся с проблемой в реализации. Есть таблица категорий - в ней поля id, name, есть таблица юзеров , и есть таблица подписок - ну там понятно id, category_id, user_id - думаю понятно в таблице храниться инфо какой пользователь на какие категории подписался. И вот есть задача в представлении в общей выдаче под каждым юзером выдать в отдельных блоках названия категорий на которые он подписан, не знаю как правильно с запросе вытянуть для каждого юзера в одну строку через запятую, к примеру, названия всех категорий на которые он подписан. Не хочется на стороне сервера потом идти в цикле и делать доп. выборку для каждого юзера, хотелось бы это сделать посредством sql. Может кто привести правильный пример запроса для моего случая?

 , ,

Berdin
()

Angular and routeProvider

Форум — Web-development

Ребята банальная штука, но почему-то ломает мне мозг пол дня. Не могу засечь где допустил ошибку, все дела как обычно, добавлял страницу для закрытия поста, имея такой коняги

$routeProvider.when('/', {
        templateUrl: 'Posts.html',
        controller: 'postCtrl'
    }).when('/close/:postId', {
        templateUrl: 'closePost.html',
        controller: 'closePostCtrl'
    }).otherwise({
        redirectTo: '/'
    });
    $locationProvider.html5Mode(true);
ну и контроллер пока пуст , так чисто для проверки его работоспособности
postApp.controller('closePostCtrl', ['$scope', function($scope){

    console.log("test");
}]);

А ссылки в основном шаблоне на страницу close формируются след. образом

<a href="/close/{{post.id}}">Close</a>
post как результат ng-repeat И вот в чем проблема, все ведь делаю правильно, но при нажатии по ссылке кидает на ту что надо страницу но на ней только серый background - стили подтягиваются походу, но когда я делаю page reload на ней ней же, мне в консоль выкатывает кучу ошибок плана
[Error] SyntaxError: Unexpected token '<'
И главное что с файлами все нормально, когда в routeProvider вместо close/:postId пишу просто close и меняю ссылки в шаблонах то все работает и мне нормально отдает страницу, вот и не пойму где ошибку допустил, может кто заметит что не так сделал, да подскажет.

 , ,

Berdin
()

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