экран 17экран 18дополнительно
фонд № Р-6979, «Колчанова Елена Иосифовна (р. 1938) - журналист, член Союза журналистов России»
опись № 3, «Дел постоянного хранения (цветные позитивы) »
дело «№ 1, Фотография Савиных В.П., лётчика-космонавта СССР, Героя Советского Союза, подаренная Колчановой Е.И. коллективом музея К.Э. Циолковского, авиации и космонавтики г. Кирова»
17 экран
номер ед.хр. 1
том ед.хр. 0
номер ед. уч.
заголовок
Фотография Савиных В.П., лётчика-космонавта СССР, Героя Советского Союза, подаренная Колчановой Е.И. коллективом музея К.Э. Циолковского, авиации и космонавтики г. Кирова
Рубрика
    № по старой описи
    производственный №
    даты документов 1981-01-011981-12-31 (/)
    неточная дата
    том описи
    количество листов 1
    категория
    тип документации

    составлено: 2013-11-21 14:07:06 составитель:

      * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

      экран 17экран 18дополнительно
      фонд № Р-6979, «Колчанова Елена Иосифовна (р. 1938) - журналист, член Союза журналистов России»
      опись № 3, «Дел постоянного хранения (цветные позитивы) »
      дело «№ 10, Открытие персональной выставки "Русский пейзаж" в музее К.Э. Циолковского, авиации и космонавтики: (слева направо) Маренина Майя Витальевна, старший научный сотрудник музея, куратор выставки; Кунавин Юрий Николаевич (в центре); Колчанова Е.И., выпускающий редактор газеты "Кировская правда"»
      17 экран
      номер ед.хр. 10
      том ед.хр. 0
      номер ед. уч.
      заголовок
      Открытие персональной выставки "Русский пейзаж" в музее К.Э. Циолковского, авиации и космонавтики: (слева направо) Маренина Майя Витальевна, старший научный сотрудник музея, куратор выставки; Кунавин Юрий Николаевич (в центре); Колчанова Е.И., выпускающий редактор газеты "Кировская правда"
      Рубрика
        № по старой описи
        производственный №
        даты документов 2004-03-092004-03-09 (/)
        неточная дата
        том описи
        количество листов 1
        категория
        тип документации

        составлено: 2013-11-21 14:22:32 составитель:

          * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

          экран 17экран 18дополнительно
          фонд № Р-6979, «Колчанова Елена Иосифовна (р. 1938) - журналист, член Союза журналистов России»
          опись № 3, «Дел постоянного хранения (цветные позитивы) »
          дело «№ 11, Колчанова Е.И. (справа) в музее истории Кировского машиностроительного завода им. I Мая с Петуховой Зинаидой Васильевной, председателем Совета ветеранов»
          17 экран
          номер ед.хр. 11
          том ед.хр. 0
          номер ед. уч.
          заголовок
          Колчанова Е.И. (справа) в музее истории Кировского машиностроительного завода им. I Мая с Петуховой Зинаидой Васильевной, председателем Совета ветеранов
          Рубрика
            № по старой описи
            производственный №
            даты документов 2004-01-012004-12-31 (/)
            неточная дата *
            том описи
            количество листов 1
            категория
            тип документации

            составлено: 2013-11-21 15:18:10 составитель:

              * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

              экран 17экран 18дополнительно
              фонд № Р-6979, «Колчанова Елена Иосифовна (р. 1938) - журналист, член Союза журналистов России»
              опись № 3, «Дел постоянного хранения (цветные позитивы) »
              дело «№ 12, Победители Кировского областного журналистского конкурса. Колчанова Е.И. в 1-ом ряду 4-ая справа»
              17 экран
              номер ед.хр. 12
              том ед.хр. 0
              номер ед. уч.
              заголовок
              Победители Кировского областного журналистского конкурса. Колчанова Е.И. в 1-ом ряду 4-ая справа
              Рубрика
                № по старой описи
                производственный №
                даты документов 2005-01-012005-12-31 (/)
                неточная дата
                том описи
                количество листов 1
                категория
                тип документации

                составлено: 2013-11-21 14:23:56 составитель:

                  * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

                  экран 17экран 18дополнительно
                  фонд № Р-6979, «Колчанова Елена Иосифовна (р. 1938) - журналист, член Союза журналистов России»
                  опись № 3, «Дел постоянного хранения (цветные позитивы) »
                  дело «№ 13, Колчанова Е.И. (слева) и Котряхов Александр Иванович, начальник печатного цеха Государственного издательско-полиграфического предприятия "Вятка", в рабочей обстановке»
                  17 экран
                  номер ед.хр. 13
                  том ед.хр. 0
                  номер ед. уч.
                  заголовок
                  Колчанова Е.И. (слева) и Котряхов Александр Иванович, начальник печатного цеха Государственного издательско-полиграфического предприятия "Вятка", в рабочей обстановке
                  Рубрика
                    № по старой описи
                    производственный №
                    даты документов 2006-01-012006-12-31 (/)
                    неточная дата
                    том описи
                    количество листов 1
                    категория
                    тип документации

                    составлено: 2013-11-21 15:19:31 составитель:

                      * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

                      экран 17экран 18дополнительно
                      фонд № Р-6979, «Колчанова Елена Иосифовна (р. 1938) - журналист, член Союза журналистов России»
                      опись № 3, «Дел постоянного хранения (цветные позитивы) »
                      дело «№ 14, Колчанова Е.И. и Карачаров Юрий Григорьевич во время шествия к мемориальному комплексу "Вечный огонь"»
                      17 экран
                      номер ед.хр. 14
                      том ед.хр. 0
                      номер ед. уч.
                      заголовок
                      Колчанова Е.И. и Карачаров Юрий Григорьевич во время шествия к мемориальному комплексу "Вечный огонь"
                      Рубрика
                        № по старой описи
                        производственный №
                        даты документов 2010-05-092010-05-09 (/)
                        неточная дата
                        том описи
                        количество листов 1
                        категория
                        тип документации

                        составлено: 2013-11-21 15:13:40 составитель:

                          * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

                          экран 17экран 18дополнительно
                          фонд № Р-6979, «Колчанова Елена Иосифовна (р. 1938) - журналист, член Союза журналистов России»
                          опись № 3, «Дел постоянного хранения (цветные позитивы) »
                          дело «№ 15, Председатели ветеранских организаций Кировской области на открытии мемориального комплекса в память об эвакуированных в период Великой Отечественной войны 1941-1945 гг. гражданах СССР, захороненных в г. Котельниче. 4-ая справа Колчанова Е.И.»
                          17 экран
                          номер ед.хр. 15
                          том ед.хр. 0
                          номер ед. уч.
                          заголовок
                          Председатели ветеранских организаций Кировской области на открытии мемориального комплекса в память об эвакуированных в период Великой Отечественной войны 1941-1945 гг. гражданах СССР, захороненных в г. Котельниче. 4-ая справа Колчанова Е.И.
                          Рубрика
                            № по старой описи
                            производственный №
                            даты документов 2010-07-172010-07-17 (/)
                            неточная дата
                            том описи
                            количество листов 1
                            категория
                            тип документации

                            составлено: 2013-11-21 15:16:23 составитель:

                              * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

                              экран 17экран 18дополнительно
                              фонд № Р-6979, «Колчанова Елена Иосифовна (р. 1938) - журналист, член Союза журналистов России»
                              опись № 3, «Дел постоянного хранения (цветные позитивы) »
                              дело «№ 16, Колчанова Е.И. во время вручения почётного адреса от редакции газеты "Кировская правда" Колчанову Аркадию Михайловичу, народному художнику РСФСР»
                              17 экран
                              номер ед.хр. 16
                              том ед.хр. 0
                              номер ед. уч.
                              заголовок
                              Колчанова Е.И. во время вручения почётного адреса от редакции газеты "Кировская правда" Колчанову Аркадию Михайловичу, народному художнику РСФСР
                              Рубрика
                                № по старой описи
                                производственный №
                                даты документов 1995-10-061995-10-06 (/)
                                неточная дата *
                                том описи
                                количество листов 1
                                категория
                                тип документации

                                составлено: 2013-11-21 15:21:54 составитель:

                                  * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

                                  экран 17экран 18дополнительно
                                  фонд № Р-6979, «Колчанова Елена Иосифовна (р. 1938) - журналист, член Союза журналистов России»
                                  опись № 3, «Дел постоянного хранения (цветные позитивы) »
                                  дело «№ 17, Встреча ветеранов комсомола с Тяжельниковым Евгением Михайловичем, первым секретарём ЦК ВЛКСМ (1968-1977 гг.):(слева направо) Колчанова Е.И., Тяжельников Е.М., Бортников В.А., Дзюба А.И.»
                                  17 экран
                                  номер ед.хр. 17
                                  том ед.хр. 0
                                  номер ед. уч.
                                  заголовок
                                  Встреча ветеранов комсомола с Тяжельниковым Евгением Михайловичем, первым секретарём ЦК ВЛКСМ (1968-1977 гг.):(слева направо) Колчанова Е.И., Тяжельников Е.М., Бортников В.А., Дзюба А.И.
                                  Рубрика
                                    № по старой описи
                                    производственный №
                                    даты документов 2005-03-012005-03-31 (/)
                                    неточная дата
                                    том описи
                                    количество листов 1
                                    категория
                                    тип документации

                                    составлено: 2013-11-21 15:35:09 составитель:

                                      * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

                                      экран 17экран 18дополнительно
                                      фонд № Р-6979, «Колчанова Елена Иосифовна (р. 1938) - журналист, член Союза журналистов России»
                                      опись № 3, «Дел постоянного хранения (цветные позитивы) »
                                      дело «№ 18, Смирнов В.В., председатель Кировской областной журналистской организации "Союз журналистов России", во время вручения Колчановой Е.И., выпускающему редактору газеты "Кировская правда", диплома за первое место в конкурсе за материал "Киров - космос. 10 минут доброй воли"»
                                      17 экран
                                      номер ед.хр. 18
                                      том ед.хр. 0
                                      номер ед. уч.
                                      заголовок
                                      Смирнов В.В., председатель Кировской областной журналистской организации "Союз журналистов России", во время вручения Колчановой Е.И., выпускающему редактору газеты "Кировская правда", диплома за первое место в конкурсе за материал "Киров - космос. 10 минут доброй воли"
                                      Рубрика
                                        № по старой описи
                                        производственный №
                                        даты документов 2005-01-012005-12-31 (/)
                                        неточная дата
                                        том описи
                                        количество листов 1
                                        категория
                                        тип документации

                                        составлено: 2013-11-21 15:38:09 составитель:

                                          * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

                                          экран 17экран 18дополнительно
                                          фонд № Р-6979, «Колчанова Елена Иосифовна (р. 1938) - журналист, член Союза журналистов России»
                                          опись № 3, «Дел постоянного хранения (цветные позитивы) »
                                          дело «№ 19, Встреча ветеранов журналистики в Кировском городском клубе ветеранов. В 1-ом ряду в центре Колчанова Е.И.»
                                          17 экран
                                          номер ед.хр. 19
                                          том ед.хр. 0
                                          номер ед. уч.
                                          заголовок
                                          Встреча ветеранов журналистики в Кировском городском клубе ветеранов. В 1-ом ряду в центре Колчанова Е.И.
                                          Рубрика
                                            № по старой описи
                                            производственный №
                                            даты документов 2007-01-012007-12-31 (/)
                                            неточная дата
                                            том описи
                                            количество листов 1
                                            категория
                                            тип документации

                                            составлено: 2013-11-21 15:40:15 составитель:

                                              * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

                                              экран 17экран 18дополнительно
                                              17 экран
                                              номер ед.хр. 2
                                              том ед.хр. 0
                                              номер ед. уч.
                                              заголовок
                                              Колчанова Елена Иосифовна в рабочей обстановке
                                              Рубрика
                                                № по старой описи
                                                производственный №
                                                даты документов 1998-01-011998-12-31 (/)
                                                неточная дата
                                                том описи
                                                количество листов 1
                                                категория
                                                тип документации

                                                составлено: 2013-11-21 14:03:04 составитель:

                                                  * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

                                                  экран 17экран 18дополнительно
                                                  фонд № Р-6979, «Колчанова Елена Иосифовна (р. 1938) - журналист, член Союза журналистов России»
                                                  опись № 3, «Дел постоянного хранения (цветные позитивы) »
                                                  дело «№ 20, Колчанова Е.И. (слева), председатель бюро ветеранской журналистской организации во время вручения грамоты Шишкину В.И., журналисту газеты "Кировская правда"»
                                                  17 экран
                                                  номер ед.хр. 20
                                                  том ед.хр. 0
                                                  номер ед. уч.
                                                  заголовок
                                                  Колчанова Е.И. (слева), председатель бюро ветеранской журналистской организации во время вручения грамоты Шишкину В.И., журналисту газеты "Кировская правда"
                                                  Рубрика
                                                    № по старой описи
                                                    производственный №
                                                    даты документов 2010-01-012010-12-31 (/)
                                                    неточная дата
                                                    том описи
                                                    количество листов 1
                                                    категория
                                                    тип документации

                                                    составлено: 2013-11-21 15:44:31 составитель:

                                                      * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

                                                      экран 17экран 18дополнительно
                                                      фонд № Р-6979, «Колчанова Елена Иосифовна (р. 1938) - журналист, член Союза журналистов России»
                                                      опись № 3, «Дел постоянного хранения (цветные позитивы) »
                                                      дело «№ 21, Встреча ветеранов журналистики Кировской области: (слева направо) Колчанова Е.И., Отмахова Л.Ф., Новоселов В.И., Тарасова А.И.»
                                                      17 экран
                                                      номер ед.хр. 21
                                                      том ед.хр. 0
                                                      номер ед. уч.
                                                      заголовок
                                                      Встреча ветеранов журналистики Кировской области: (слева направо) Колчанова Е.И., Отмахова Л.Ф., Новоселов В.И., Тарасова А.И.
                                                      Рубрика
                                                        № по старой описи
                                                        производственный №
                                                        даты документов 2011-01-012011-12-31 (/)
                                                        неточная дата
                                                        том описи
                                                        количество листов 1
                                                        категория
                                                        тип документации

                                                        составлено: 2013-11-21 15:46:09 составитель:

                                                          * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

                                                          экран 17экран 18дополнительно
                                                          фонд № Р-6979, «Колчанова Елена Иосифовна (р. 1938) - журналист, член Союза журналистов России»
                                                          опись № 3, «Дел постоянного хранения (цветные позитивы) »
                                                          дело «№ 3, Кунавин Юрий Николавевич, кандидат технических наук, конструктор ракетно-космической корпорации "Энергия", на открытии персональной выставки "Русский пейзаж" в музее К.Э. Циолковского, авиации и космонавтики в г. Кирове»
                                                          17 экран
                                                          номер ед.хр. 3
                                                          том ед.хр. 0
                                                          номер ед. уч.
                                                          заголовок
                                                          Кунавин Юрий Николавевич, кандидат технических наук, конструктор ракетно-космической корпорации "Энергия", на открытии персональной выставки "Русский пейзаж" в музее К.Э. Циолковского, авиации и космонавтики в г. Кирове
                                                          Рубрика
                                                            № по старой описи
                                                            производственный №
                                                            даты документов 2004-03-092004-03-09 (/)
                                                            неточная дата
                                                            том описи
                                                            количество листов 1
                                                            категория
                                                            тип документации

                                                            составлено: 2013-11-21 14:09:23 составитель:

                                                              * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

                                                              экран 17экран 18дополнительно
                                                              17 экран
                                                              номер ед.хр. 4
                                                              том ед.хр. 0
                                                              номер ед. уч.
                                                              заголовок
                                                              Колчанова Е.И. Фото 1
                                                              Рубрика
                                                                № по старой описи
                                                                производственный №
                                                                даты документов 2008-11-012008-11-30 (/)
                                                                неточная дата
                                                                том описи
                                                                количество листов 1
                                                                категория
                                                                тип документации

                                                                составлено: 2013-11-21 14:03:57 составитель:

                                                                  * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

                                                                  экран 17экран 18дополнительно
                                                                  17 экран
                                                                  номер ед.хр. 5
                                                                  том ед.хр. 0
                                                                  номер ед. уч.
                                                                  заголовок
                                                                  Колчанова Е.И. Фото 2
                                                                  Рубрика
                                                                    № по старой описи
                                                                    производственный №
                                                                    даты документов 2009-01-012009-12-31 (/)
                                                                    неточная дата
                                                                    том описи
                                                                    количество листов 1
                                                                    категория
                                                                    тип документации

                                                                    составлено: 2013-11-21 14:04:38 составитель:

                                                                      * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

                                                                      экран 17экран 18дополнительно
                                                                      фонд № Р-6979, «Колчанова Елена Иосифовна (р. 1938) - журналист, член Союза журналистов России»
                                                                      опись № 3, «Дел постоянного хранения (цветные позитивы) »
                                                                      дело «№ 6, Кировская областная организация профсоюза работников культуры на первомайской демонстрации: (слева направо) Матанцева Е.Л., Пшеничкина Л.И., Колчанова Е.И., Холманских В.В.»
                                                                      17 экран
                                                                      номер ед.хр. 6
                                                                      том ед.хр. 0
                                                                      номер ед. уч.
                                                                      заголовок
                                                                      Кировская областная организация профсоюза работников культуры на первомайской демонстрации: (слева направо) Матанцева Е.Л., Пшеничкина Л.И., Колчанова Е.И., Холманских В.В.
                                                                      Рубрика
                                                                        № по старой описи
                                                                        производственный №
                                                                        даты документов 2000-05-012000-05-01 (/)
                                                                        неточная дата *
                                                                        том описи
                                                                        количество листов 1
                                                                        категория
                                                                        тип документации

                                                                        составлено: 2013-11-21 14:13:58 составитель:

                                                                          * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

                                                                          экран 17экран 18дополнительно
                                                                          фонд № Р-6979, «Колчанова Елена Иосифовна (р. 1938) - журналист, член Союза журналистов России»
                                                                          опись № 3, «Дел постоянного хранения (цветные позитивы) »
                                                                          дело «№ 7, Колчанова Е.И., выпускающий редактор газеты "Кировская правда"; Нелюбин И.В., ответственный секретарь газеты, в рабочей обстановке»
                                                                          17 экран
                                                                          номер ед.хр. 7
                                                                          том ед.хр. 0
                                                                          номер ед. уч.
                                                                          заголовок
                                                                          Колчанова Е.И., выпускающий редактор газеты "Кировская правда"; Нелюбин И.В., ответственный секретарь газеты, в рабочей обстановке
                                                                          Рубрика
                                                                            № по старой описи
                                                                            производственный №
                                                                            даты документов 2002-01-012002-12-31 (/)
                                                                            неточная дата
                                                                            том описи
                                                                            количество листов 1
                                                                            категория
                                                                            тип документации

                                                                            составлено: 2013-11-21 14:16:16 составитель:

                                                                              * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

                                                                              экран 17экран 18дополнительно
                                                                              фонд № Р-6979, «Колчанова Елена Иосифовна (р. 1938) - журналист, член Союза журналистов России»
                                                                              опись № 3, «Дел постоянного хранения (цветные позитивы) »
                                                                              дело «№ 8, Коллектив редакции газеты "Кировская правда" на 70-летии со дня рождения главного редактора Н.П. Мясникова (сидит в 1-ом ряду в центре). Колчанова Е.И. в 3-м ряду 4-ая справа»
                                                                              17 экран
                                                                              номер ед.хр. 8
                                                                              том ед.хр. 0
                                                                              номер ед. уч.
                                                                              заголовок
                                                                              Коллектив редакции газеты "Кировская правда" на 70-летии со дня рождения главного редактора Н.П. Мясникова (сидит в 1-ом ряду в центре). Колчанова Е.И. в 3-м ряду 4-ая справа
                                                                              Рубрика
                                                                                № по старой описи
                                                                                производственный №
                                                                                даты документов 2003-12-022003-12-02 (/)
                                                                                неточная дата
                                                                                том описи
                                                                                количество листов 1
                                                                                категория
                                                                                тип документации

                                                                                составлено: 2013-11-21 14:19:15 составитель:

                                                                                  * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

                                                                                  экран 17экран 18дополнительно
                                                                                  фонд № Р-6979, «Колчанова Елена Иосифовна (р. 1938) - журналист, член Союза журналистов России»
                                                                                  опись № 3, «Дел постоянного хранения (цветные позитивы) »
                                                                                  дело «№ 9, Колчанова Е.И. во время поздравления Н.П. Мясникова в связи с юбилеем. Слева М.С. Созонтова, заместитель главного редактора "Кировской правды"»
                                                                                  17 экран
                                                                                  номер ед.хр. 9
                                                                                  том ед.хр. 0
                                                                                  номер ед. уч.
                                                                                  заголовок
                                                                                  Колчанова Е.И. во время поздравления Н.П. Мясникова в связи с юбилеем. Слева М.С. Созонтова, заместитель главного редактора "Кировской правды"
                                                                                  Рубрика
                                                                                    № по старой описи
                                                                                    производственный №
                                                                                    даты документов 2003-12-022003-12-02 (/)
                                                                                    неточная дата
                                                                                    том описи
                                                                                    количество листов 1
                                                                                    категория
                                                                                    тип документации

                                                                                    составлено: 2013-11-21 15:49:42 составитель:

                                                                                      * жёлтым подсвечиваются поля для редактирования, сделайте по ним двойной щелчок

                                                                                      у этой описи нет дел

                                                                                      Исходный код модуля /home/httpd/af-web.gaspiko.ru/cgi-bin/plugins2/delo_show.pyc

                                                                                      # -*- coding: utf8 -*-
                                                                                      import libs
                                                                                      SQL = (
                                                                                          ("delo","""
                                                                                      select
                                                                                              @DELO_ID:=D.KOD as DELO_ID,FOND_ID, O.*,DS.*,D.*,U.FIO,
                                                                                              (select count(*) from list_nagrada LN where DS.DELO_ID=LN.DELO_ID)as count_nagrada,
                                                                                              (select count(*) from digital_image dim where DS.DELO_ID=dim.DELO_ID)as count_dig_img
                                                                                          from
                                                                                              DELO D
                                                                                              left join delo_sys DS on (D.KOD=DS.DELO_ID)
                                                                                              left join opis  O on (OPIS=O.OPIS_ID)
                                                                                              left join users  U on (uid=U.id)
                                                                                          %(where)s
                                                                                          limit %(offset)d,%(limit)d;"""),
                                                                                          ("rubrikator","""select * from rubrikator_links_sys where `item_id`=@DELO_ID and `plugins_name`='delo_list';"""),
                                                                                      )
                                                                                      FOUND_ROWS = False
                                                                                      ROOT = "show_delo"
                                                                                      ROOT_PREFIX = ""
                                                                                      ROOT_POSTFIX= None
                                                                                      XSL_TEMPLATE = "data/af-web.xsl"
                                                                                      EVENT = {"L4":libs.make_str_cdata,}
                                                                                      WHERE = ("FOND_ID", "OPIS_ID", "DELO_ID","KOD")
                                                                                      PARAM = ("OPIS_ID", )
                                                                                      TITLE="Дело"
                                                                                      MESSAGE="у этой описи нет дел"
                                                                                      ORDER = None

                                                                                      Исходный код модуля /home/httpd/af-web.gaspiko.ru/cgi-bin/app2.py

                                                                                      #!/usr/bin/env python
                                                                                      #
                                                                                      #       app2.py
                                                                                      #
                                                                                      #       Copyright 2010 Basmanov Illya 
                                                                                      #
                                                                                      #       This program is free software; you can redistribute it and/or modify
                                                                                      #       it under the terms of the GNU General Public License as published by
                                                                                      #       the Free Software Foundation; either version 2 of the License, or
                                                                                      #       (at your option) any later version.
                                                                                      #
                                                                                      #       This program is distributed in the hope that it will be useful,
                                                                                      #       but WITHOUT ANY WARRANTY; without even the implied warranty of
                                                                                      #       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                                                                                      #       GNU General Public License for more details.
                                                                                      #
                                                                                      #       You should have received a copy of the GNU General Public License
                                                                                      #       along with this program; if not, write to the Free Software
                                                                                      #       Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
                                                                                      #       MA 02110-1301, USA.
                                                                                      import sys
                                                                                      import config

                                                                                      #sys.stderr = sys.stdout
                                                                                      #print "Content-Type: text/html; charset=utf8\n\n"

                                                                                      import ffcgi
                                                                                      import libs
                                                                                      from user import user
                                                                                      from base import bd_sql
                                                                                      from xslt_proc import xml_xsl_proc

                                                                                      plugin_dir = "plugins2"


                                                                                      def load_module():
                                                                                          if ffcgi.cgi_check_name("plugins"):
                                                                                              module_name = ffcgi.cgi_value( "plugins" )
                                                                                              return libs.load_module_name(module_name, plugin_dir)
                                                                                          else:
                                                                                              return None


                                                                                      def load_env():
                                                                                          data, page, limit = {}, 0, int(config.limit)
                                                                                          if ffcgi.cgi_check_name("p"):
                                                                                              page = int(ffcgi.cgi_value("p"))
                                                                                          if ffcgi.cgi_check_name("l"):
                                                                                              limit = int(ffcgi.cgi_value("l"))
                                                                                          if ffcgi.cgi_check_name("plugins"):
                                                                                              data["plugins"] = ffcgi.cgi_value( "plugins" )
                                                                                          if ffcgi.cgi_value("ORDER_DIRECTION") in ("DESC", "ASC"):
                                                                                              data["direction"] = ffcgi.cgi_value("ORDER_DIRECTION")
                                                                                          else:
                                                                                              data["direction"] = "DESC"
                                                                                          data["page"] = page
                                                                                          data["limit"] = limit
                                                                                          data["offset"] = page * limit
                                                                                          xml = user[3] +"%(page)d%(limit)d%(offset)d%(plugins)s%(direction)s"%data
                                                                                          return data, xml

                                                                                      def make_order(cgi_param):
                                                                                          if cgi_param is not None:
                                                                                              order = []
                                                                                              direction = "DESC"
                                                                                              if ffcgi.cgi_value("ORDER_DIRECTION") in ("DESC", "ASC"):
                                                                                                  direction = ffcgi.cgi_value("ORDER_DIRECTION")
                                                                                              for param in cgi_param:
                                                                                                  if ffcgi.cgi_value("ORDER") == param:
                                                                                                      value = param
                                                                                                      if type(value) == list:
                                                                                                          order.append( ", ".join(["`%s`"%v for v in value]) )
                                                                                                      elif type(value) == str:
                                                                                                          order.append( "`%s`"%value )
                                                                                                      return " ORDER BY %s %s"%(",".join(order), direction)
                                                                                          return ""


                                                                                      def make_where(cgi_param, IF_ID_DOMEN=None):
                                                                                          if cgi_param is None:
                                                                                              return ""
                                                                                          where = []
                                                                                          where_like = []
                                                                                          if IF_ID_DOMEN is not None:
                                                                                              where.append(IF_ID_DOMEN)
                                                                                          if ffcgi.cgi_check_name("WHERE_LIKE"):
                                                                                              where_like = ffcgi.cgi_value("WHERE_LIKE")
                                                                                          for param in cgi_param:
                                                                                              if ffcgi.cgi_check_name(param):
                                                                                                  value = ffcgi.cgi_value(param)
                                                                                                  if type(value) == list:
                                                                                                      param = param.replace('.','`.`')
                                                                                                      if ffcgi.cgi_check_name("BETWEEN") and len(value)==2:
                                                                                                          where.append( "`%s` BETWEEN %s AND %s"%(param, value[0], value[1] ))
                                                                                                      else:
                                                                                                          where.append( "`%s` IN (%s)"%(param, ", ".join(["'%s'"%v for v in value])) )
                                                                                                  elif type(value) == str or type(value) == int :
                                                                                                      if param in where_like:
                                                                                                          param = param.replace('.','`.`')
                                                                                                          where.append( "`%s` LIKE '%%%s%%'"%(param, str(value)) )
                                                                                                      else:
                                                                                                          param = param.replace('.','`.`')
                                                                                                          where.append( "`%s`='%s'"%(param, str(value)) )
                                                                                                  else:
                                                                                                      pass
                                                                                          if len(where):
                                                                                              where = " AND ".join(where)
                                                                                              return "WHERE "+where
                                                                                          return ""

                                                                                      def list_to_xml(listtx):
                                                                                          txml = ""
                                                                                          if listtx:
                                                                                                  for lx in listtx:
                                                                                                      txml += "%s"%lx
                                                                                          return txml

                                                                                      def exec_sql(module, data, sql, root):
                                                                                          xml = ""
                                                                                          try:
                                                                                              sql = sql%data
                                                                                              if ffcgi.cgi_check_name("SQL"):
                                                                                                  print sql, ""
                                                                                              if bd_sql.execute( sql, module.TITLE ):
                                                                                                  txml = bd_sql.get_xml( event = module.EVENT)
                                                                                                  if module.FOUND_ROWS:
                                                                                                      if bd_sql.execute( "select found_rows() as count;" ):
                                                                                                          txml += bd_sql.get_xml("all_count")
                                                                                                  xml = "<%s>%s"%(root, txml, root)
                                                                                              else:
                                                                                                  if module.ROOT_POSTFIX:
                                                                                                      xml += module.ROOT_POSTFIX
                                                                                                  xml += libs.make_message( "%s"%libs.make_cdata(module.MESSAGE) + "%s"%libs.make_cdata(sql) )
                                                                                          except Exception, e:
                                                                                              xml += libs.make_message( "%s: %s"%libs.make_cdata(module.MESSAGE, e) )
                                                                                          return xml

                                                                                      def exec_sql_json(module, data, sql, root):
                                                                                          json_data = {root: {}, }
                                                                                          try:
                                                                                              sql = sql%data
                                                                                              if ffcgi.cgi_check_name("SQL"):
                                                                                                  print sql, ""
                                                                                              if bd_sql.execute( sql, module.TITLE ):
                                                                                                  json_data[root]["row"] = bd_sql.get_row()
                                                                                                  if module.FOUND_ROWS:
                                                                                                      if bd_sql.execute( "select found_rows() as count;" ):
                                                                                                          json_data[root]["all_count"] = bd_sql.get_row()[0][0]
                                                                                              else:
                                                                                                  json_data[root]['error-message'] = module.MESSAGE
                                                                                                  json_data[root]['error-sql'] = sql
                                                                                          except Exception, e:
                                                                                              json_data[root]['error-message'] = module.MESSAGE
                                                                                              json_data[root]['error-sql'] = sql
                                                                                          return json_data

                                                                                      def main():

                                                                                          module = load_module()
                                                                                          if module:
                                                                                              data, xml = load_env()
                                                                                              xml += ffcgi.cgi_xml() + "%s"%list_to_xml(module.WHERE)
                                                                                              if_id_domen = None
                                                                                              if "IF_ID_DOMEN" in dir(module):
                                                                                                  if_id_domen = module.IF_ID_DOMEN
                                                                                              data["where"] = make_where(module.WHERE, if_id_domen)
                                                                                              data["order"] = make_order(module.ORDER)
                                                                                              xml += "%s"%module.TITLE


                                                                                              if module.PARAM:
                                                                                                  txml = ""
                                                                                                  for param in module.PARAM:
                                                                                                      if ffcgi.cgi_check_name(param):
                                                                                                          value = ffcgi.cgi_value(param)
                                                                                                          if type(value) == list:
                                                                                                              for v in value:
                                                                                                                  data[param] = v
                                                                                                                  txml += "<%s>%s"%(param, libs.make_str_cdata( v ), param)
                                                                                                          elif type(value) == str:
                                                                                                              data[param] = value
                                                                                                              txml += "<%s>%s"%(param, libs.make_str_cdata(value), param)
                                                                                                  xml += "%s"%txml

                                                                                              if module.ROOT_PREFIX:
                                                                                                  xml += module.ROOT_PREFIX

                                                                                              if ffcgi.cgi_check_name("cmd") and ffcgi.cgi_value("cmd")=="add":
                                                                                                  xml += "<%s />"%module.ROOT
                                                                                              elif ffcgi.cgi_check_name("format"):
                                                                                                  # output format JSON
                                                                                                  try:
                                                                                                      from json import dumps
                                                                                                  except:
                                                                                                      from simplejson import dumps
                                                                                                  json_data = {module.ROOT:  [exec_sql_json(module, data, sql = module.SQL[i][1], root = module.SQL[i][0]) for i in range(0, len(module.SQL))][0]}
                                                                                                  print dumps( json_data )
                                                                                                  return
                                                                                              else:
                                                                                                  if type(module.SQL)==str:
                                                                                                      xml += exec_sql(module, data, module.SQL, module.ROOT)
                                                                                                  else:
                                                                                                      xml += "<%s>%s"%(module.ROOT, "\n\t\t".join([exec_sql(module, data, sql = module.SQL[i][1], root = module.SQL[i][0]) for i in range(0, len(module.SQL))]), module.ROOT)



                                                                                              if ffcgi.cgi_check_name("dbg"):
                                                                                                  xml += bd_sql.history()

                                                                                              if ffcgi.cgi_check_name("src"):
                                                                                                  def make_source(filename):
                                                                                                      return filename, libs.make_str_cdata(open(".".join(filename.split('.')[:-1])+".py").read().replace(" "," "))
                                                                                                  xml += "%s%s"%make_source(module.__file__)
                                                                                                  xml += "%s%s"%make_source(__file__)


                                                                                              xml = "%s"%xml.replace('\0','')
                                                                                              libs.save_xml(xml, module.__file__ )

                                                                                              try:
                                                                                                  print xml_xsl_proc(xml,fxsl=module.XSL_TEMPLATE)
                                                                                              except Exception, e:
                                                                                                  print e

                                                                                          else:
                                                                                              print "no define module"
                                                                                          return 0

                                                                                      if __name__ == '__main__':
                                                                                          try:
                                                                                              main()
                                                                                          except Exception, e:
                                                                                                  print e

                                                                                      Отладочная информация

                                                                                      список sql запросов страницы

                                                                                      1. INSERT INTO session (UID,HASH,REFERER,UAGENT,date,id_domen) VALUES(0,'guest-6555549416066875596','','webkit/None',now(),@id_domen)#созадём новую сессию для ананимоуса
                                                                                      2. select @DELO_ID:=D.KOD as DELO_ID,FOND_ID, O.*,DS.*,D.*,U.FIO, (select count(*) from list_nagrada LN where DS.DELO_ID=LN.DELO_ID)as count_nagrada, (select count(*) from digital_image dim where DS.DELO_ID=dim.DELO_ID)as count_dig_img from DELO D left join delo_sys DS on (D.KOD=DS.DELO_ID) left join opis O on (OPIS=O.OPIS_ID) left join users U on (uid=U.id) WHERE `OPIS_ID`='46674' limit 0,25;#Дело
                                                                                      3. select * from rubrikator_links_sys where `item_id`=@DELO_ID and `plugins_name`='delo_list';#Дело

                                                                                      список CGI параметров

                                                                                      параметр значение
                                                                                      src show
                                                                                      OPIS_ID 46674
                                                                                      dbg show
                                                                                      plugins delo_show