Поделишься как реализовал? Можно за разумную денежку ...
Много правки в ядре CB 1.4.1, во первых создаем раскрывающийся список с группами (напр. cb_rang), делаем его обязательным при регистрации, потом создаем поля премиум cb_prem, активность профиля cb_statprof (активный, не активный), и другие, но делаем их необязательными и запрещаем редактирование юзерам, т.е. делаем не активными т.к. управлять этими полями будем только через PHP. Это то что сделать можно в админке. Дальше летим в файл comprofiler.php в корне компонента и дописываем функцию function saveRegistration( $option ) {.....} в самы конец дописываем свои условия начисления услуг по умолчанию.
/*my update pay field*/
if($userComplete->_comprofilerUser->cb_rang=="_UE_FACE") /* если ранг = физ лицу _UE_FACE это прописывается в языковом файле и это значения в выпадающем списке поля cb_rang*/
$activ = ' cb_statprof=\'_UE_ACTIVE\', cb_period=DATE(\'2100-01-01\')'; // делаем активацию бессрочной до 2100 года типа
else
$activ = PROF_FIRST_PAY=='auto'?' cb_statprof=\'_UE_ACTIVE\', cb_period=\''.date("Y-m-d",mktime()+(PROF_PERIOD_DAY*24*3600)).'\'':' cb_statprof=\'_UE_NO_ACTIVE\', cb_period=\''.date("Y-m-d").'\''; // иначе активация до срока на PROF_PERIOD_DAY больше чем сегодняшняя
$set_str='';
if($userComplete->_comprofilerUser->cb_rang=="_UE_FACE"){ /* тут начисляем услуги, все значения прописываются в языковом файле, типа _FACE_TOT_MSG=10 (колво объяв для размещения) */
$set_str = ', cb_totalads='._FACE_TOT_MSG;
$set_str .= ', cb_numtopmsg='._FACE_TO_TOP;
$set_str .= ', cb_selectads='._FACE_SELECTED;
$set_str .= ', cb_premium='._FACE_PRMIUM;
}
if($userComplete->_comprofilerUser->cb_rang=="_UE_RIELTOR"){
$set_str = ', cb_totalads='._RIELTOR_TOT_MSG;
$set_str .= ', cb_numtopmsg='._RIELTOR_TO_TOP;
$set_str .= ', cb_selectads='._RIELTOR_SELECTED;
$set_str .= ', cb_premium='._RIELTOR_PRMIUM;
}
....
$_CB_database->setQuery("UPDATE #__comprofiler SET {$activ} {$set_str} WHERE user_id=".$userComplete->_comprofilerUser->user_id);
$_CB_database->query();
потом в шаблон CB, у меня default.php, добавляем отображение этих полей, простыми echo вывожу данные.
(СМС монетизация полностью делается в файле шаблона страницы CB1.4 default.php, но по правилам и протоколам провайдера СМС услуг монетизации )
ну а дальше когда юзер кликает добавить объяву:
вызывается шаблон ADS`а edit.php там в начале проверяем можно этому юзеру добавить оъяву или нет, если можно выводим форму добавления объявы, а при клике на сохранить, вычитаем 1 объявление update запросом поля cb_totalads , таблицы com_comprofiler.