+38 (067) 901-63-22

Корзина

0 товара(ов) на сумму
0 грн.

2009 — К2®, Рудюк Сергей Анатольевич

Правила для прав

В процессе работы с системой, мы пришли к такой схеме определения прав:

Различаем 2 глобальные ситуации:

1. Ни одной записи в правах нет.

2. Есть права.

Теперь, что получаем:

1.а. Если я супер админ, то получаю все права ко всем сайтам

1.б. Если я админ *, то я получаю права к тем сайтам, которые перечислены в пользователях.

1.в. Остальные пользователи - только просмотр.

2. а. Если я супер-админ, то я вижу все и могу менять все.

2. б. Если я админ, то я могу изменять то, что написано в правах.

02.11.09, 23:33

Переменные окружения Postgresql для Корпорации 2

При работе в Postgresql системой Корпорация 2 формируются пользовательские переменные окружения. Поэтому, в конфигурационном файле postgresql.conf должна быть прописана строчка:

custom_variable_classes = 'usrvar'

Системой Корпорация 2, устанавливаются такие переменные окружения:

usrvar.myuserid='; # id пользователя

usrvar.myusername='; # Имя пользователя

usrvar.myroleid='; # id пользователя

usrvar.myrolename='; # Имя прав

usrvar.magid='; # id магазина

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

select set_var('myusername', 'rudjuk');

Чтоб сосчитать:

select get_var('myusername');

02.11.09, 23:33

Перевод всех сайтов системы Корпорация 2 на базу данных Postgresql

Мы начали перевод всех сайтов, работающих на системе Корпорация 2 на работу с базой данных Postgresql. Этим предполагается повысить пропускную способность сайтов, а так же повысить масштабируемость системы в целом.

Проекты, которые будут переведены на Postgresql в первую очередь (те, которые уже работают на компонентах 2):

1. Энергия С.В.О.

2. Аквалюкс, Классик-люкс.

3. Citygroup.

4. SendAll.

5. VOtpuske.

6. Инспекция Держтехнагляда.

Проекты, которые будут переделаны с компонент 1 на компоненты 2:

1. Алерта.

2. Имидж.

3. Имрад.

4. Кулиса.

5. Lightnight.

6. Makeit.

7. Richire.

Проекты, которые будут переведены из других систем или представлений:

1. Casadaconfraria (переводится из статического вида в динамический).

2. Сайт Корпорации 2: corp2.net (Переводится из системы Битрикс в систему Корпорация 2).

02.11.09, 23:32

Поддержка PostgreSQL в Корпорации 2

Итак, в качестве основной базы данных мы будем использовать - PostgreSQL. Но, при этом, все равно тестироваться и работать должно будет в MySQL и Firebird.

Поэтому, в необходимо приходить к стандартам, которые устроит как MySQL так и PostgreSQL.

Рассмотрим для примера запрос:

select MK.KARTA_ID, MK.P_BALANS, MK.P_VLASN, MK.P_ZALOG, MK.P_UGON,

MK.MARKA_ID MARKA_ID,MK.VID_ID, MK.ZAV_NOMER ZAV_NOMER, MK.DVIG_NOMER DVIG_NOMER, MK.NSHAS, MK.YEAR_PROD, MK.SER_SVID SER_SVID, MK.DATA_SVID, MK.SER_ZNAK, MK.DATE_NUM, MK.KOD_F, MK.KOD_USER, MK.OLD_ID, MK.DATA_EDIT, MK.DATE_INSERT, MK.DATE_DELETE, MK.IS_DELETED, MK.DATE_COMPILE, MK.DATE_UPDATE, MK.ID_REGION_KOD ID_REGION_KOD, MK.ID_RAJON ID_RAJON, MK.ID_VID, MK.ID_KOD_F, MK.NAME_ORG NAME_ORG, MK.NAME_VID NAME_VID, MK.UPPER_ZAV_NOMER, MK.UPPER_DVIG_NOMER, MK.UPPER_NSHAS, MK.UPPER_SER_SVID, MK.UPPER_SER_ZNAK, MK.DATA_SPISAN, MK.ADDR_ORG, MK.P_REG, MK.DATA_FIRST_REG, MK.D_OLDSVID, MK.N_OLDSVID, MK.YEAR_SVID, MK.YEAR_NUM, MK.YEAR_SPISAN, MK.YEAR_FIRST_REG,MK.YEAR_

OLDSVID, MK.DATA_BALANS, MK.REGION_BALANS, MK.RAJON_BALANS, R.REGION_NAME, MO.KOD_EDRPO, MO.N_PASSP from MTP_KARTA MK

left join TBLREGIONS R

on MK.ID_REGION_KOD=R.ID_REGION_KOD

left join MTP_ORG MO

on (MK.ID_KOD_F=MO.ID_KOD_F)

and (MK.ID_REGION_KOD=MO.ID_REGION_KOD)

where (MK.MARKA_ID<>') and (MK.DATA_SPISAN is null)

and(MK.NAME_ORG like '%трактор%')

order by MARKA_ID

limit 0, 50

Данный запрос прекрасно работает в MySQL, но совершенно не работает в PostgreSQL.

Чтоб работаело и там и там нужно писать на подобии:

select MK.KARTA_ID, MK.P_BALANS, MK.P_VLASN, MK.P_ZALOG, MK.P_UGON,

MK.MARKA_ID as MARKA_ID,

MK.VID_ID,

MK.ZAV_NOMER as ZAV_NOMER,

MK.DVIG_NOMER as DVIG_NOMER, MK.NSHAS, MK.YEAR_PROD,

MK.SER_SVID as SER_SVID, MK.DATA_SVID, MK.SER_ZNAK, MK.DATE_NUM, MK.KOD_F, MK.KOD_USER, MK.OLD_ID, MK.DATA_EDIT, MK.DATE_INSERT, MK.DATE_DELETE, MK.IS_DELETED, MK.DATE_COMPILE,

MK.DATE_UPDATE, MK.ID_REGION_KOD as ID_REGION_KOD,

MK.ID_RAJON as ID_RAJON, MK.ID_VID, MK.ID_KOD_F,

MK.NAME_ORG as NAME_ORG,

MK.NAME_VID as NAME_VID, MK.UPPER_ZAV_NOMER,

MK.UPPER_DVIG_NOMER, MK.UPPER_NSHAS, MK.UPPER_SER_SVID, MK.UPPER_SER_ZNAK, MK.DATA_SPISAN, MK.ADDR_ORG, MK.P_REG, MK.DATA_FIRST_REG, MK.D_OLDSVID, MK.N_OLDSVID, MK.YEAR_SVID, MK.YEAR_NUM, MK.YEAR_SPISAN, MK.YEAR_FIRST_REG,MK.YEAR_OLDSVID, MK.DATA_BALANS, MK.REGION_BALANS, MK.RAJON_BALANS, R.REGION_NAME, MO.KOD_EDRPO, MO.N_PASSP

from MTP_KARTA MK

left join TBLREGIONS R

on MK.ID_REGION_KOD=R.ID_REGION_KOD

left join MTP_ORG MO

on (MK.ID_KOD_F=MO.ID_KOD_F)

and (MK.ID_REGION_KOD=MO.ID_REGION_KOD)

where (MK.MARKA_ID<>') and (MK.DATA_SPISAN is null)

and(MK.NAME_ORG like '%трактор%')

order by MARKA_ID

limit 50 offset 10

В чем отличие ?

1. Псевдоним поля задается через as: MK.ZAV_NOMER as ZAV_NOMER

2. В Limit указывается

не: limit 10,50

а: limit 50 offset 10

Такие конструкции работают как в mysql, так и в postgresql. У меня есть подозрение, что они есть стандартом SQL, т.е. вероятность срабатывания и в других серверах высокая.

02.11.09, 23:31

Поддержка языков в системе Корпорация

Поддержка языков в системе Корпорация реализуется в соответствии со стандартом ISO 639-1.

Вот таблица языков и их префиксов:

Выберите интересующий Вас раздел:

язык ↓ ISO 639-1 ↓ ISO 639-2 ↓ ISO 639-3 ↓ ГОСТ 7.75–97 ↓ цифровой код ↓

Абазинский — — abq аба 005

Абхазский ab abk abk абх 010

Авадхи — awa awa авд 012

Аварский av ava ava ава 014

Авестийский ae ave ave аве 016

Адангме — ada ada ада 018

Адыгейский — ady ady ады 020

Азербайджанский az aze aze азе 025

Аймара ay aym aym айм 026

Акан ak aka aka ака 027

Аккадский — akk akk акк 028

Албанский sq alb/sqi sqi алб 030

Алеутский — ale ale але 033

Алтайский — alt alt алт 035

Амхарский am amh amh амх 040

Английский en eng eng анг 045

Арабский ar ara ara ара 050

Аравакский — arw arw арв 051

Арамейский — arc arc аре 052

Арапахо — arp arp арп 053

Армянский hy/am arm/hye hye/axm/xcl/am арм 055

Ассамский as asm asm аса 060

Ассирийский — — aii асе 065

Афарский aa aar aar афа 068

Африкаанс af afr afr афр 070

Африхили — afh afh афх 073

Ахвахский — — akv ахв 074

Ачехский — ace ace аче 076

Ачоли — ach ach ачо 077

Балийский — ban ban бал 078

Баса — bas bas бас 084

Баскский eu baq/eus eus бак 085

Башкирский ba bak bak баш 086

Беджа — bej bej бед 087

Белорусский be bel bel бел 090

Бемба — bem bem бем 097

Бенгальский bn ben ben бен 100

Бикольский — bik bik бик 103

Бини — bin bin бин 104

Бирманский my bur/mya mya бир 105

Бислама bi bis bis бис 107

Болгарский bg bul bul бол 115

Брауи — bra bra бра 117

Бретонский br bre bre бре 120

Бугийский — bug bug буг 123

Бурятский — bua bua бур 125

Бходжпури — bho bho бхо 126

Ваи — vai vai ваи 127

Валлийский cy cym/wel cym вал 130

Варай — war war вар 131

Вашо — was was ваш 132

Венгерский hu hun hun вен 133

Венда ve ven ven вед 134

Вепсский — — vep веп 135

Воламо — wal wal воа 136

Волапюк vo vol vol вол 137

Волоф wo wol wol воф 138

Вьетнамский vi vie vie вье 140

Га — gaa gaa гаа 142

Гавайский — haw haw гав 143

Гагаузский — — gag гаг 145

Гайо — gay gay гай 146

Галисийский gl glg glg гал 147

Ганда lg lug lug ган 148

Гереро hz her her гер 149

Геэз — gez gez гез 151

Гилбертский — gil gil гил 152

Нидерландский (Голландский) nl dut/nld nld нид 495

Гонди — gon gon гон 153

Готский — got got гот 154

Гребо — grb grb грб 155

Греческий (новогреческий) el ell/gre ell гре 157

Грузинский ka geo/kat kat гру 158

Гуджарати gu guj guj гуд 165

Гаэльский gd gla gla гэл 170

Дакота — dak dak дак 173

Даргинский — — dag дат 175

Датский da dan dan дат 178

Делавэрский — del del дел 179

Дзонг-кэ dz dzo dzo дзо 183

Дивехи (Мальдивский) dv div div див 180

Динка — din din дин 181

Диула (Дьюла) — dyu dyu диу 182

Догри — doi doi дои 184

Древнегреческий — grc grc дрг 186

Древнеегипетский — egy egy дре 187

Дуала — dua dua дуа 190

Дунганский — — dng дун 191

Еврейско-арабский — jrb jrb еар 192

Еврейско-персидский — jpr jpr епе 193

Зенагский — zen zen зен 194

Зулу zu zul zul зул 195

Зуньи — zun zun зун 196

Ибанский — iba iba иба 197

Иврит he heb heb ивр 198

Игбо ig ibo ibo ибо 199

Идиш yi yid yid иди 202

Илоко — ilo ilo ило 203

Ингушский — inh inh инг 205

Индонезийский id ind ind инд 210

Интерлингва ia ina ina ина 215

Интерлингве ie ile ile ине 216

Инуктитут iu iku iku инк 217

Инупиак ik ipk ipk инп 218

Ирландский ga gle gle ирл 220

Исландский is ice/isl isl исл 225

Испанский es esl/spa spa исп 230

Итальянский it ita ita ита 235

Ительменский — — itl ите 240

Йоруба yo yor yor йор 245

Кабардино-черкесский — kbd kbd каа 250

Кабильский — kab kab каб 251

Кави — kaw kaw кат 252

Каддо — cad cad кад 254

Казахский kk kaz kaz каз 255

Каннада kn kan kan кан 265

Калмыцкий kl kal kal кал 260

Камба — kam kam кам 263

Канури kr kau kau кау 267

Караимский — — kdr каи 270

Каракалпакский — kaa kaa кал 275

Карачаево-балкарский — krc krc као 280

Карельский — krl krl кас 285

Кариб — car car кар 288

Каталанский ca cat cat кат 290

Качинский — kac kac кач 293

Кашмири ks kas kas каш 294

Кечуа qu que que кеч 300

Кикуйю ki kik kik кик 302

Киньяма kj kua kua кия 303

Киргизский — — kyr кир/кыр 305

Китайский zh chi/zho zho кит 315

Коми kv kom kom кои 320

Конго kg kon kon кон 326

Конкани — kok kok кок 327

Коптский — cop cop коп 328

Корейский ko kor kor коо 330

Корнский kw cor cor кор 332

Корсиканский co cos cos кос 334

Корякский — — kpy коя 335

Коса xh xho xho коа 340

Кпелле — kpe kpe кпе 341

Крик — mus mus крк 344

Крымско-татарский — crh crh кры 347

Кумыкский — kum kum кум 349

Курдский ku kur kur кур 350

Кусайе — — ksg кус 353

Кутенаи — kut kut кут 354

Кхаси — kha kha кха 357

Кхмерский km khm khm кхм 360

Ладино — lad lad лад 363

Лакский — — lbe лак 370

Ламба — lam lam лам 373

Лаосский lo lao lao лао 375

Латинский la lat lat лат 380

Латышский lv lav lav лаш 385

Лахнда — lah lah лах 387

Лезгинский — lez lez лез 390

Лингала ln lin lin лин 395

Литовский lt lit lit лит 400

Лози — loz loz лоз 402

Луба-катанга lu lub lub луб 404

Луисеньо — lui lui луи 406

Лунда — lun lun лун 407

Луо (Кения и Танзания) — luo luo луо 408

Люксембургский lb ltz ltz люк 409

Магахи — mag mag маг 410

Мадурский — mad mad мал 411

Майтхили — mai mai май 412

Макассарский — mak mak мак 414

Македонский — mac/mke mke маа 415

Малагасийский mg mlg mlg млг 418

Малайский ms may/msa msa маз 420

Малаялам — mal mal мал 425

Мальтийский mt mlt mlt млт 430

Мандинго — man man май 432

Манипури — mni mni мни 433

Маори mi mao/mri mri мао 437

Маратхи mr mar mar мар 440

Марвари — mwr mwr мвр 443

Марийский (черемисский) — chm chm мач 445

Маршалльский mh mah mah маш 446

Масаи — mas mas мас 447

Менде — men men мен 451

Микмак — mic mic мик 452

Минангкабау — min min мин 453

Моей[1] — mos mos мое 466

Мокшанский — mdf mdf мок 455

Молдавский mo mol mol мол 460

Монго — lol lol мог 462

Монгольский mn mon mon мои 463

Мохаук — moh moh мох 467

Навахо nv nav nav нав 470

Нанайский (гольдский) — — gld нан 471

Науру na nau nau нау 472

Ндебеле северный nd nde nde нде 473

Ндебеле южный nr nbl nbl нбл 474

Ндунга ng ndo ndo нду 475

Неварский — new new нев 478

Неидентифицированный — und und унд 480

Немецкий de deu/ger deu нем 481

Ненецкий (юрако-самоедский) — — yrk нен 482

Непальский ne nep nep неп 485

Нзима — nzi nzi нзи 487

Нивхский (гиляцкий) — — niv нив 490

Нидерландский средневековый — dum dum нис 496

Ниуэ — niu niu ниу 498

Ногайский — nog nog ног 505

Норвежский no nor nor нор 506

Ньоро — nyo nyo ньо 508

Ньямвези — nym nym ням 509

Ньянджа ny nya nya нян 510

Ньянколе — nyn nyn нья 512

Нюнорск (новонорвежский) nn nno nno нно 513

Оджибве oj oji oji одж 515

Окситанский oc oci oci оке 517

Оромо om orm orm орм 522

Оседжи — osa osa осе 523

Осетинский os oss oss ост 524

Палау — pau pau пал 526

Пали pi pli pli пли 527

Пампанга — pam pam пам 528

Пангасинан — pag pag паг 529

Пенджабский pa pan pan пан 530

Папьяменто — pap pap пап 533

Персидский язык fa fas/per fas пер 535

Пехлевийский — pal pal пех 537

Польский pl pol pol пол 540

Понапе — pon pon пон 542

Португальский pt por por пор 545

Пушту ps pus pus пуш 550

Пьемонтский roa pms

Раджастхани — raj raj рад 555

Разных семей языки — mul mul мул 556

Раротонга — rar rar рар 557

Ретороманский rm roh roh рет 560

Руанда rw kin kin кин 304

Румынский ro ron/rum ron рум 565

Рунди rn run run рун 567

Русский ru rus rus рус 570

Самаритянский арамейский — sam sam сам 577

Самоанский sm smo smo смо 578

Санго sg sag sag саг 579

02.11.09, 23:31

Функция для запрета доступа не администраторам

Для того, чтоб нельзя было отредактировать содержимое без авторизации, введя только точный URL на страницу редактирования, в Корпорации 2 была введена ф-ция check_admin.

Пример её использования:

if ($GLOBALS["c"]->check_admin()){

$_GET["edit"]=true;

$GLOBALS["c"]->ins_comp('fckeditor');

}

02.11.09, 23:30

Корпорация 2. Начало изучения (для программистов).

На сервере, все проекты находятся в папке /d2/c/.

/d2/c/corp2 - тестовая версия Корпорации 2.

/d2/c/corp2_stable - последняя стабильная версия Корпорации 2.

/d2/c/projs - различные проекты, созданные с помощью системы Корпорация 2.

Во многих каталогах находится файл desc - это описание каталогов или компонент.

/d2/c/projs/desc - описание проектов, которые находятся в каталоге proj.

/d2/c/corp2/corp2/includes/main/desc - основные принципы работы системы Корпорация2.

/d2/c/corp2/corp2/components/desc - перечень компонент системы Корпорация 2 и краткое описание их назначения.

Самый основной файл, загружающий все компоненты:

/d2/c/corp2/corp2/includes/main/corp_runner.php

Переводы компонент находятся в папке lang (в ней они сгруппированы по обозначению языка, например: ua, ru, en).

Компоненты

Стандартные компоненты находятся по адресу:

/d2/c/corp2/corp2/components/

Каждая компонента находится в своём каталоге.

И состоит из 2-х частей:

main_class.php - программная часть компоненты. Класс, который делает всю работу.

main.php - шаблон компоненты. В нём задаются в основном свойства для класса, объявленного в файле main_class.php.

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

02.11.09, 23:30

Настройка языка в Корпорации 2 CMS

За настройку основных параметров в системе Корпорация 2 отвечает файл config_main.php

Пример содержимого файла:

$this->site_name="Наш сайт";

$this->site_url="http://corp2.net/";

$this->lang_adm='ua';

$this->langs=array('ua');

$this->lang='ua';

?>

За язык по умолчанию отвечает переменная:

$this->lang='ua';

За список возможных языков на сайте:

$this->langs=array('ua');

За язык по умолчанию административной части:

$this->lang_adm='ua';

02.11.09, 23:29

Наши новые работы

Мы выпустили несколько новых работ.

1. Сайт спортивных клубов Sportlife: http://sportlife.net.ua/

Данный сайт был полностью переделан из системы Joomla в систему Корпорация 2. Теперь, на нём показывается информация не по 1 клубу, а по всей сети спортклубов Sportlife.

За счет применения нашей системы, администраторам сайтов стало гораздо легче редактировать его. Вся работа производится в публичной части и отпала необходимость входа в админ-часть, как было в Joomla. Кроме того, на сайте появилось облако тегов и динамические слайд-шоу. Данные слайд-шоу теперь могут редактировать сами администраторы сайта, постоянно пополняя на них информацию и удаляя при необходимости.

2. Сайт Leg-Magic. http://leg-magic.org.ua/

Данный сайт переделан из статического состояния в систему Корпорация 2. Теперь, администраторы сайта могут в любой момент менять информацию на нём.

3. Сайт компании Элком-Сервис: http://dohodtut.com/

Не большой, но красивый интернет-магазин.

4. "Інспекція державного технічного нагляда ": http://idtn.corp2.net/

Огромное комплексное программное решение на базе системы Корпорация 2.

В данном случае, сайт - это лишь верхушка айсберга. В данном проекте реализованы все возможности системы Корпорация. Это возможности разграничения прав доступа между пользователями, прикладная система для учета всей сельско-хозяйственной техники в Украине, веб-система для учета всей сельско-хозяйственной техники в Украине. Распределенная база данных на более 500 узлов и много, много другого.

02.11.09, 23:28

Linux Ubuntu 9.10

Уже традиционно, 29 октября вышла очередная версия Linux Ubuntu 9.10. Так, что качайте, обновляйтесь. Это уже стабильная версия и ею можно пользоваться.

02.11.09, 23:27