Skip to content

Instantly share code, notes, and snippets.

View luostary's full-sized avatar

luostary

View GitHub Profile
@luostary
luostary / CheefroomController.php
Created March 28, 2017 13:39
Часть модуля "Кабинет Руководителя". Только контроллер и представление. В контроллере прошу не смотреть на запросы. Я знаю про AR. Но тут в тот момент было рациональнее сделать так.
<?php
class ChiefroomController extends Controller
{
public $_metaTitle = 'Личный кабинет сотрудника';
const IS_OPEN = TRUE;
public $asUsers = array();
/**
* @var ASubordinate
*/
@luostary
luostary / ProtocolAccess.php
Created March 23, 2017 14:19
Компонент определяющий доступ к действиям над модулем "ПРОТОКОЛ"
<?php
/**
* Class ProtocolAccess
*/
class ProtocolAccess extends CComponent {
private
$view = false, # Просмотр протокола
$list = false, # Просмотр списка протоколов
$editTask = false, # Редактировать задачу через протокол
$detachTask = false, # Открепить задачу от протокола
@luostary
luostary / ProtocolController.php
Created March 23, 2017 07:03
Контроллер для модуля "Протоколов". Реализация доступа через метод accessRules. Методы на просмотр списка протоколов, карточки протокола. И еще несколько методов, которые планировалось перенести модели (Работа с запросами)
<?php
/**
* Created by PhpStorm.
* User: ilv.semenov
* Date: 16.08.16
* Time: 09:23
*/
Yii::import('application.modules.document.models.protocol.BProtocol');
class ProtocolController extends Controller
{
@luostary
luostary / KipController.php
Created March 23, 2017 06:57
Ajax Контроллер с методами управления задачей (для модуля постановки задач) и выводом в json. Использование try-catch, транзакций
<?php
/**
* ajax Контроллер
* Created by PhpStorm.
* User: sys.admin154
* Date: 02.08.16
* Time: 12:02
*/
class KipController extends Controller {
/**
@luostary
luostary / ChiefRoomGrep.php
Last active March 28, 2017 13:26
Обновление сводной таблицы показателей производительности сотрудников для кабинета руководителя. Эта синхронизация использовалась в Cron раз в 15 минут. Типичный пример денормализации данных.
<?php
/**
* Created by PhpStorm.
* User: ilv.semenov
* Date: 16.09.15
* Time: 10:51
* Сбор показателей для Кабинета руководителя
*/
class ChiefRoomGrep extends CComponent{
const IS_OPEN = true;
@luostary
luostary / RewriteASubordinate.php
Last active March 28, 2017 13:30
Применение Nested Set Древовидной структуры для сотрудников. Обновление справочника пользователей с учетом субординации
<?php
/**
* Created by PhpStorm.
* User: ilv.semenov
* Date: 10.09.15
* Time: 11:46
* Синхронизация пользоватетелей из тбл AUser в тбл ASubordinate
* c расстановкой по правилам подчиненности (Nested Set)
*/
class RewriteASubordinate extends CComponent{
@luostary
luostary / ImportIpmSprPkr.php
Created March 23, 2017 06:47
Синхронизация данных их mssql. Синхронизация ПКР в mysql. Использование транзакций mysql.
<?php
/**
* Импорт проектов корпоративного развития из MSSQL
* User: ilv.semenov
* Date: 28.01.16
* Time: 17:07
*/
class ImportIpmSprPKR extends CComponent {
private static $_init = NULL;
/*
@luostary
luostary / Image Prototype
Last active March 28, 2017 13:28
Прототип класса для рисования геометрических фигур
<?php
/**
* Created by PhpStorm.
* User: sys.admin154
* Date: 21.02.17
* Time: 16:00
*/
$shapes = [
['type' => 'circle', 'params' => []],
['type' => 'square', 'params' => []],