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

Награды для пользователей!

Нашёл у себя несколько иконок, вполне подходящих для награждения пользователей!
Скачиваем иконки здесь(если не работает, то здесь), заливаем иконки в папку \images\users\awards\
И создаём новые награды))

Новые шаблоны

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

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

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


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

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

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

Файл 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-версия - клик - и переход в облегченный шаблон
- возврат в основной шаблон - в верхнем левом углу - ссылка - Полная версия сайта - клик - и переход в обычный режим.

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