Лента блогов InstantCMS

Модуль Пригласи друга

Модуль пригласи друга. Говорит сам за себя)))
Например в профиле добавить вкладку.
* Приглашения, что бы приглашения можно было отправить на емаил.
* защита кептч
* за приглошенного друга добавляется рейтинг, при условии, что друг активен и посещает сайт, делает комменты


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

Возраст пользователя в профиле

- Тебе сколько годиков
- Скоро семь,.. пока четыре

Файл components\users\frontend.php
В самом начале после строки:
Код PHP:
if(!defined('VALID_CMS')) { die('ACCESS DENIED'); }
Вставляем функцию которая корректно подписывает возраст:
20 лет, 21 год, 22 года.
Код PHP:
function AgeToStr($Age)
{if(($Age>=5) && ($Age<=14)) $str = "лет"; else { $num = $Age - (floor($Age/10)*10); if($num == 1) { $str = "год"; } elseif($num == 0) { $str = "лет"; } elseif(($num>=2) && ($num<=4)) { $str = "года"; } elseif(($num>=5) && ($num<=9)) { $str = "лет"; } } return $Age . " " . $str ; }
Далее в этом же файле находим строчку
Код PHP:
$usr['birthdate'] 			= $inCore->getRusDate($usr['birthdate']);
И после добавляем:
Код PHP:
$sql = "SELECT birthdate,(YEAR(CURRENT_DATE)-YEAR(birthdate))-(RIGHT(CURRENT_DATE,5)<RIGHT(birthdate,5))AS age FROM cms_users WHERE id=$id";
$result = $inDB->query($sql);
$r = mysql_fetch_array($result) ;
$usr['age']=AgeToStr($r[age]) ;

Файл \templates\_default_\components\com_users_profile.tpl

Находим строки
Код PHP:
<div class="title">Дата рождения:</div>
<div class="value">{$usr.birthdate}</div>
И меняем их по своему усмотрению,
например, так:

Код PHP:
<div class="title">Возраст:</div>
<div class="value">{$usr.age}</div>

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

Кроме новостного функционала обсуждал, с одним программером с фриланса, возможность реализации в инстанте функционала легкой настройки в админке полей, закладок в профиле, редактирования полей профиля при регистрации, поиска по полям профилей как в Communitybuilder от джумлы. То бишь максимальная гибкость настроек для вэбмастера.
Программер поставил вполне умеренные условия за работу: Около 3 т.р. и 7-10 дней.
Если кто решит поддержать идею материально, то пусть отписываются сюда, либо в личку, либо на
ветке

Компонент онлайн-газеты

Есть возможность привлечь для написания компонента онлайн-газеты толкового программера. Скидываемся на функционал. Подробнее о функционале в этой ветке.
Вот ТЗ:
1. За основу можно взять идею порталов Советский спорт , Спортс.ру
То есть вывод новостей (по категориям) отдельно от статей.
2. Модуль «Горячие новости». В админке при создании новостей должен быть выбор: новость обычная, Топ-новость. При выбое Топ-новости, материал попадает в модуль самых свежих новостей. Вот как это реализовано на спортс.ру

3. При выборе «обычная новость» новость проходит в обычном порядке в свой раздел, ну например «Новости футбола».
4. В админке прописываются разделы новостей, к ним автоматом создаются разделы в новостном модуле.
5. Количество новостей в каждом разделе могут настраиваться.
6. При смене даты. Новости автоматом прописываются как новости от такой-то даты
7. При выборе новости из определенного раздела, в модуле новостей все позиции остальных разделов заменяют новости выбранного раздела. (то есть если было 5 разделов по пять новостей в каждом, то при выборе новости одного раздела далее в новостном модуле отображаются 25 последних новостей этого раздела)
8. Автоматически по дате создаются 2 архива новостей: по дате и разделам
9. Все новости в разделе идет в виде гипертекста. То есть весь текст является активной ссылкой
10. Модуль «Новость дня или часа». При создании новости, есть функция «Новость часа (дня)/нет»
Онлайн-газета или журнал
1. Возможность создавать номер. Заходишь в «газету» и нажимаешь «создать номер»
2. При создании статьи выбор «Добавить в номер/не добавлять»
3. В админке возможность создания рубрик
4. Модуль газеты на главной странице настраивается. Выбор вывода в одну, две, три колонки. Статьи каждой рубрики выводятся по рубрикам, в своем блоке
5. При создании статьи есть выбор: вывести на главную страницу/не выводить на главную страницу.
6. Вывод количества статей по блокам настраивается
7. На верху модуля активная ссылка «весь номер»
8. Весь номер выводится по рубрикам: название рубрики, анонс статьи.
9. Анонсы статей в виде гипертекста (см. выше)
10. Автоматическое создание архива номеров
11. Для статей не входящих в номер, отдельный модуль (в принципе подойдет нынешний)

Псевдо WAP

Доброго времени суток! Уважаемое сообщество!

Предлагаю вашему вниманию творческое произведение типа ПСЕВДО – WAP для InstantCMS

Почему ПСЕВДОпотому что мы просто отправляем пользователей по определенной нами ссылке – к облегченному дизайну сайта…

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

ВНИМАНИЕ!
Перед началом всех операция – снимите бекап базы и сохраните оригинал файла index.php из корня с FTP


Никаких операций и изменений - противоречащих с точки зрения безопасности и работоспособности движка – мы проводить не будем!

Самое интересное )))
Для того что бы увидеть все в действии нам необходимо – в папке templates – иметь папку wap – с самим – облегченным дизайном сайта….
Но для обкатки и рассмотрения данной идеи – нам просто необходимо – иметь два разных шаблона - _default_  (который по умолчанию, находится в базовом комплекте) и любой другой – например шаблон из комплекта представленных на сайте – в разделе «Шаблоны»

Единственное – что нужно учесть – в пункте № 3 при указании папки с названием шаблона – указать имя своей папки с шаблоном

Код PHP:
$wap_directory='wap';  // wap - имя WAP – шаблона и дизайна сайта 

Рассмотрим полный принцип действия и самой задумки.

1. Создаем папку в корне движка на FTP – и назовем её - Wap
2. В данной  папке создадим файл – назовем его – index.php – и в тело данного файла мы поместим код –

Код PHP:
<?php
header('location: /wap.php'); 
?>
Закроем и сохраним изменения в файле. Больше мы к нему возвращаться не будем!

( функция данного файла сводиться к одному – при переходе по адресу – http://www.mysait.ru/wap - он запускает необходимый нам в дальнейшем файл wap.php из корневой директории самого движка InstantCMS  )

3. Учитываю, что на данный момент данного файла wap.php реально нет – создаем его – т.е. в корневой директории (там где – index.php, robot.txt, favicon.ico и т.д. ) создаем файл wap.php и в тело файла копируем все содержимое файла index.php

Далее – открываем файл wap.php для редактирования и ищем строку с кодом:

Код PHP:
//Устанавливаем каталог с шаблоном
define('TEMPLATE_DIR', PATH.'/templates/'.$inConf->template.'/');
меняем данный код на:

Код PHP:
//Устанавливаем каталог с шаблоном
$wap_directory='wap';         // wap - имя WAP – шаблона и дизайна сайта 
define('TEMPLATE_DIR', PATH.'/templates/'.$wap_directory.'/');
session_register('wap');
$_SESSION['wap'] = $wap_directory;
Сохраняем изменения.

Тем самым мы прописали – для тех кто пройдет (мы направим) по ссылке www.mysait.ru/wap - будет работать через wap.php и указав облегченную версию шаблона - в нашем конкретном случае – этот шаблон должен располагаться в папке templates - папка - с именем - wap

4. Открываем файл - index.php – для редактирования

ВНИМАНИЕ! Еще раз напоминаю – сделайте его копию до изменения!


Ищем строку:

Код PHP:
/////////////////////////////////// REQUEST PARAMETERS //////////////////////////////////////
	
	//Устанавливаем каталог с шаблоном
	define('TEMPLATE_DIR', PATH.'/templates/'.$inConf->template.'/');

	//Загружаем Smarty
	$inCore->loadSmarty();
	$smarty = new Smarty();
меняем на:

Код PHP:
////////////////////////////////// REQUEST PARAMETERS //////////////////////////////////////
	
	//Устанавливаем каталог с шаблоном
                if (isset($_REQUEST['nowap'])) unset($_SESSION['wap']);	
                if (isset($_SESSION['wap'])) {
                define('TEMPLATE_DIR', PATH.'/templates/'.$_SESSION['wap'].'/');
                } else { 
                define('TEMPLATE_DIR', PATH.'/templates/'.$inConf->template.'/');
                }

	//Загружаем Smarty
	$inCore->loadSmarty();
	$smarty = new Smarty();
Сохраняем изменения.

5. Создаем модуль в админке (или прописываем в templates.php самого шаблона) и указываем в теле:

ссылки – типа

WAP – версия – присваиваем ссылку – http://www.mysait.ru/wap (или /wap/ )

Т.е. заставляем работать через wap.php  - вместо index.php с конкретно указанным шаблоном.

Полная версия – ссылка - http://www.mysait.ru/index.php?nowap=1

Т.е. закрываем сессию работы через wap.php и работаем через index.php

6. В файле robot.txt – закрываем не нужное от индексации…

ТЗ – моё
Исполнение – Алексей Никулин – Ярославль.

ОБРАЗЕЦ в действии
- сайт - www.kvim76.ru - в верхнем левом углу - ссылка - WAP-версия - клик - и переход в облегченный шаблон
- возврат в основной шаблон - в верхнем левом углу - ссылка - Полная версия сайта - клик - и переход в обычный режим.

Можно еще использовать - как версию для печати....

Начало знакомства с системой

Здравствуйте!
Вот и я решился создать свой блог.

Вообщем, начнем с того, как я оказался здесь.

Недавно меня застала такая идея создать молодежно-развлекательный портал для города Караганды.
Начал с поиска подходящей системы. Испробывал Drupal, Joomla, AntiSlaed, Kasseler.
Остановившись на последних 2-х начал разработку нужных мне модулей. В конце концов остался лишь один Kasseler, как вариант. И вот уже написал модули афиши, расписания, викторины и прочие, как наткнулся совершенно случайно на InstantCMS.
С этого момента все поменялось: пересмотрел проект, отказался от Kasseler.
Теперь осваиваю потихоньку Instant.
Начал с разработки собственного шаблона, вот эскизик:

Далее планирую сделать полноценный компонент афиши, расписания.
Собственно, пока наверное и все  glasses

Первая проба пера от пользователя Mobman&#8217;a

P.S. Прошу не пинать  zst

Как я создаю сайты

Не далее чем вчера, снова задался вопросом - правильно ли я поступаю? Создание сайта для меня - в первую очередь - работа с контентом, работа с дизайном, работа над простеньким вопросом - почему именно мой сайт должен быть на первой страничке поиска?
Многословие - мой недостаток, создание сайтов - все, что мне осталось, не потому, что я не могу делать ничего больше, потому, что не хочу делать ничего другого. Создание сайта - не просто написание уникального контента и тому подобное, создание сайта, который будет релевантен запросам,запросам своих потребителей. А вообще я не программист, в интернете - недавно и создавать сайты только учусь, нашел этот ресурс и возрадовался- наконец то людям дышать будет легче, нашел между прочим не в поиске, нашел на форуме, через год бесплодных, почти поисков. И вот свершилось я здесь , могу скачать и работать с материалом, а ведь тысячи людей, рыская в поисковиках, до сих пор не знают, где скачать программу для создания сайта бесплатно, программу с помощью которой сможет даже такой как я неуч собственный сайт создать, да еще и другим помочь. Может я не прав, но мое мнение - InstantCMS, лучшая прога на сегодняшний день для создания сайта любого уровня сложности,буду заниматься делом, сегодня сайт одной фирмы - мои клиенты, решили к нескольким разрозненным сайтам, каждый о своем виде деятельности создать корпоративный ресурс, так тому и быть, работаь я.., пишите письма, читайте дальше, мастара, приходите в домсайтов.ру пишите о себе и о том, что Вы можете буду очень рад, если моя работа принесет Вам люди пользу.