Вы не вошли.
Доброго времени суток всем поклонникам NG CMS!
Долго искал бесплатную замену DLE и вот вышел NG CMS. Очень все понравилось и дальше планирую работать только с этим движком.
На данный момент у меня вопрос как сделать? Для работы моего нового проекта, надо как минимум чтобы в разделе управления пользователями была статистика не только о количестве новостей добавленных каждым пользователем, но и общее количестве просмотров этих новостей.
А еще лучше, чтобы такие данные можно было вывести на отдельную страницу сайта онлайн, а также экспортировать в Excel. Как возможно такое реализовать?
Помогите пожалуйста с этим вопросом!
Суета сует, - все суета... (Екклесиаст)
Дешевый и надежный хостинг
Вне форума
\engine\actions\users.php
Найти ~244 строчку
$sql = "select * from ".uprefix."_users ".$where.' '.$order.' '.$limit;Заменить на
$sql = "SELECT u.*, (SELECT SUM(n.views) FROM ".prefix."_news n WHERE u.id = n.author_id) AS cntviews FROM ".uprefix."_users u ".$where.' '.$order.' '.$limit;Найти ~254 строчку
'news' => $row['news'],заменить на
news' => $row['news'].($row['cntviews']?' ['.$row['cntviews'].']':''),Теперь в скобочках можно наблюдать количество просмотров всех новостей

А еще лучше, чтобы такие данные можно было вывести на отдельную страницу сайта онлайн, а также экспортировать в Excel. Как возможно такое реализовать?
Я бы прикрутил эту фичу к плагину статистики, но моего плагина пока нет, а чужое мне уже и не хочется трогать после недавних событий. Так что ждите других людей, это же так нравится пользователям :)
Отредактировано Wolverine (2011-01-11 14:00:28)
Вне форума
Вне форума
Весь алгоритм уже готов в users.php, дальше работает Ctrl-C/Ctrl-V в плагин статистики и 20 минут создания еще одной собственной страницы и перенос шаблонов.
А вообще есть же плагин userlist, который давно выводит список всех пользователей, вот туда еще логичнее всунуть этот функционал. Тогда тут вообще на 5 минут работы.
С Excel чуть посложнее, но есть готовая библиотека в PEAR - Spreadsheet_Excel_Writer http://pear.php.net/package/Spreadsheet … redirected и мануал на русском для старта http://www.phpclub.ru/detail/article/Excel_Writer
Отредактировано Wolverine (2011-01-11 14:20:18)
Вне форума
Спасибо, что не оставили мой вопрос без ответа.
Изменил код - статистика просмотров отражается.
Теперь относительно экспорта Excel: эти данные я бы мог в ручную перегнать копированием и вставкой сначала в блокнот, а потом в Excel, но наверно из-за того, что просмотры отражаются в скобках, данные о количестве новостей и просмотров в Excel попадают в один столбец.
Соответственно в этом случае я не могу применить формулу для дальнейшего расчета. Конечно можно перебить данные просмотров вручную, но хотелось бы проще.
Про плагины и библиотеки еще не разобрался. Поизучаю, тогда если будут вопросы напишу. А пока еще раз большое спасибо!
Суета сует, - все суета... (Екклесиаст)
Дешевый и надежный хостинг
Вне форума
Ну скобки то можно убрать
news' => $row['news'].($row ['cntviews']?' '.$row['cntviews']:''),Только это геморно имхо руками копировать, надо автоматизировать. Тебе что нужно экспортировать? Тот вариант, что и в админке? То есть Ник, Количество новостей, Суммарное количество их просмотров. Для всех пользователей?
vitaly, о, я что-то слышал про него, но не использовал. Тогда все гораздо легче становится.
Отредактировано Wolverine (2011-01-11 19:49:27)
Вне форума
Да мне нужно в одной таблице по каждому пользователю: Ник, количество его новостей и суммарное количество просмотров новостей этого пользователя.
Суета сует, - все суета... (Екклесиаст)
Дешевый и надежный хостинг
Вне форума
Если есть баги сорри, делал за 15 минут, завтра экзамен ![]()
1. Добавление кнопки "Выгрузить в CSV"

\engine\skins\default\tpl\users\table.tpl
Найти
<input type="submit" value="{l_sortit}" class="button" />
</form>ниже добавить
<form method="POST" name="CSV" action="admin.php?mod=users&action=csv">
<input type="submit" value="Выгрузить в CSV" class="button" />
</form>2. PHP обработчик
\engine\actions\users.php
Найти
case 'massDelInactive' : userMassDeleteInactive(); break;ниже добавить
case 'csv' : userCSV(); break;Найти
// ==============================================
// Actions
// ==============================================ПЕРЕД этим блоком добавить
# put to CSV file
function userCSV(){
global $mysql;
$sql = "SELECT u.id, u.name, u.news, (SELECT SUM(n.views) FROM ".prefix."_news n WHERE u.id = n.author_id) AS cntviews FROM ".uprefix."_users u WHERE `news` <> 0";
$fp = fopen('users.csv', 'w');
fputcsv($fp, array('Никнейм', 'Количество новостей', 'Суммарное количество просмотров'), ';');
foreach ($mysql->select($sql) as $row){
fputcsv($fp, array($row['name'], $row['news'], $row['cntviews']), ';');
}
fclose($fp);
}


Вне форума
Wolverine, спасибо все работает!
Суета сует, - все суета... (Екклесиаст)
Дешевый и надежный хостинг
Вне форума
Wolverine, Вы мне здорово помогли с отображением количества просмотров в разделе "управления пользователями".
Подскажите пожалуйста еще, какой код и куда засунуть, чтобы количество просмотров всех новостей пользователя отображалось у него в разделе "Мой профиль" так же в скобках рядом с количеством его новостей.
Заранее благодарен.
Суета сует, - все суета... (Екклесиаст)
Дешевый и надежный хостинг
Вне форума
\engine\plugins\uprofile\uprofile.php
Найти
// Check if valid user identity is specified
$urow = '';
if (isset($params['id']) && (intval($params['id']) > 0)) {
$urow = $mysql->record("select * from ".uprefix."_users where id = ".intval($params['id']));
} else if (isset($params['name'])) {
$urow = $mysql->record("select * from ".uprefix."_users where name = ".db_squote($params['name']));
} else if (isset($_REQUEST['id'])) {
$urow = $mysql->record("select * from ".uprefix."_users where id = ".intval($_REQUEST['id']));
} else if (isset($_REQUEST['name'])) {
$urow = $mysql->record("select * from ".uprefix."_users where name = ".db_squote($_REQUEST['name']));
}Заменить на
// Check if valid user identity is specified
$urow = '';
if (isset($params['id']) && (intval($params['id']) > 0)) {
$urow = $mysql->record("select *, (SELECT SUM(n.views) FROM ".prefix."_news n WHERE u.id = n.author_id) AS cntviews from ".uprefix."_users u where id = ".intval($params['id']));
} else if (isset($params['name'])) {
$urow = $mysql->record("select *, (SELECT SUM(n.views) FROM ".prefix."_news n WHERE u.id = n.author_id) AS cntviews from ".uprefix."_users u where name = ".db_squote($params['name']));
} else if (isset($_REQUEST['id'])) {
$urow = $mysql->record("select *, (SELECT SUM(n.views) FROM ".prefix."_news n WHERE u.id = n.author_id) AS cntviews from ".uprefix."_users u where id = ".intval($_REQUEST['id']));
} else if (isset($_REQUEST['name'])) {
$urow = $mysql->record("select *, (SELECT SUM(n.views) FROM ".prefix."_news n WHERE u.id = n.author_id) AS cntviews from ".uprefix."_users u where name = ".db_squote($_REQUEST['name']));
}Найти
$tpl -> template('users', $tpath['users']);
$tvars['vars'] = array(
'user' => $urow['name'],
'news' => $urow['news'],Заменить на
$tpl -> template('users', $tpath['users']);
$tvars['vars'] = array(
'user' => $urow['name'],
'news' => $urow['news'].($urow['cntviews']?' ['.$urow['cntviews'].']':''),Или можно сделать отдельную переменную под просмотры, которую можно будет использовать в шаблоне \uprofile\tpl\users.tpl, то есть написать Количество просмотров: {cntviews} после (примерно 88 строка)
'status' => $status,добавить
'cntviews' => $urow['cntviews'],
Отредактировано Wolverine (2011-01-20 11:32:45)
Вне форума
Wolverine, несколько раз пробовал, тщательно менял коды, просмотры не появляются. Что еще может быть?
Суета сует, - все суета... (Екклесиаст)
Дешевый и надежный хостинг
Вне форума
Тогда давайте я попробую уточнить.
Вот замена двух первых кодов достаточно, потому что далее вы пишите "или".
Или вот это тоже надо проделать? Если да, то напишите подробнее, а то не пойму эти коды в этом же файле? И что значить добавить? После вставить?
Код:
'status' => $status,
добавить
Код:
'cntviews' => $urow['cntviews'],
Суета сует, - все суета... (Екклесиаст)
Дешевый и надежный хостинг
Вне форума
Вне форума
Вот, заменил первых два кода - не работает. Посмотрите файл, что не так вставил.
<?php
// Protect against hack attempts
if (!defined('NGCMS')) die ('HAL');
LoadPluginLang('uprofile', 'main', '', '', ':');
register_plugin_page('uprofile','edit','uprofile_editProfile',0);
register_plugin_page('uprofile','apply','uprofile_applyProfile',0);
register_plugin_page('uprofile','show','uprofile_showProfile',0);
// =============================================================
// External functions of plugin
// =============================================================
function uprofile_list() {
}
function uprofile_showProfile($params) {
global $mysql, $lang, $tpl, $template, $SYSTEM_FLAGS, $PFILTERS;
$SYSTEM_FLAGS['info']['title']['group'] = $lang['uprofile:header.view'];
//LoadPluginLang('uprofile', 'users', '', '', ':');
// Check if valid user identity is specified
$urow = '';
if (isset($params['id']) && (intval($params['id']) > 0)) {
$urow = $mysql->record("select *, (SELECT SUM(n.views) FROM ".prefix."_news n WHERE u.id = n.author_id) AS cntviews from ".uprefix."_users u where id = ".intval($params['id']));
} else if (isset($params['name'])) {
$urow = $mysql->record("select *, (SELECT SUM(n.views) FROM ".prefix."_news n WHERE u.id = n.author_id) AS cntviews from ".uprefix."_users u where name = ".db_squote($params['name']));
} else if (isset($_REQUEST['id'])) {
$urow = $mysql->record("select *, (SELECT SUM(n.views) FROM ".prefix."_news n WHERE u.id = n.author_id) AS cntviews from ".uprefix."_users u where id = ".intval($_REQUEST['id']));
} else if (isset($_REQUEST['name'])) {
$urow = $mysql->record("select *, (SELECT SUM(n.views) FROM ".prefix."_news n WHERE u.id = n.author_id) AS cntviews from ".uprefix."_users u where name = ".db_squote($_REQUEST['name']));
}
if (!is_array($urow)) {
msg(array("type" => "error", "text" => $lang['uprofile:msge_no_user']));
return;
}
if (is_array($PFILTERS['plugin.uprofile']))
foreach ($PFILTERS['plugin.uprofile'] as $k => $v) { $v->showProfilePre($urow['id'], $urow); }
// Determine paths for all template files
$tpath = locatePluginTemplates(array('users'), 'uprofile', pluginGetVariable('uprofile', 'localsource'));
// Make page title
$SYSTEM_FLAGS['info']['title']['group'] = $lang['loc_userinfo'];
$SYSTEM_FLAGS['info']['title']['item'] = $urow['name'];
$status = (($urow['status'] >= 1)&&($urow['status'] <= 4))?$lang['uprofile:st_'.$urow['status']]:$lang['uprofile:st_unknown'];
// Check for new style of photos storing
if (preg_match('/^'.$urow['id'].'\./', $urow['photo'])) {
$uphoto = $urow['photo'];
} else {
$uphoto = $urow['id'].'.'.$urow['photo'];
}
// Check for new style of avatars storing
if (preg_match('/^'.$urow['id'].'\./', $urow['avatar'])) {
$uavatar = $urow['avatar'];
} else {
$uavatar = $urow['id'].'.'.$urow['avatar'];
}
$photo = photos_url.'/'.(($urow['photo'] != "")?'thumb/'.$uphoto:'nophoto.gif');
// GRAVATAR.COM integration ** BEGIN **
if ($urow['avatar'] != '') {
$avatar = avatars_url.'/'.$uavatar;
} else {
if ($config['avatars_gravatar']) {
$avatar = 'http://www.gravatar.com/avatar/'.md5(strtolower($userROW['mail'])).'.jpg?s='.$config['avatar_wh'].'&d='.urlencode(avatars_url."/noavatar.gif");
} else {
$avatar = avatars_url."/noavatar.gif";
}
}
// GRAVATAR.COM integration ** END **
$tpl -> template('users', $tpath['users']);
$tvars['vars'] = array(
'user' => $urow['name'],
'news' => $urow['news'].($urow['cntviews']?' ['.$urow['cntviews'].']':''),
'com' => $urow['com'],
'status' => $status,
'last' => langdate("j Q Y", $urow['last']),
'reg' => langdate("j Q Y", $urow['reg']),
'site' => secure_html($urow['site']),
'icq' => is_numeric($urow['icq']) ? '<a target="_blank" href="http://www.icq.com/people/about_me.php?uin='.$urow['icq'].'">'.$urow['icq'].'</a>' : secure_html($urow['icq']),
'icqimg' => is_numeric($urow['icq']) ? '<img src="http://status.icq.com/online.gif?icq='.$urow['icq'].'&img=1" />' : '',
'from' => secure_html($urow['where_from']),
'info' => secure_html($urow['info']),
'photo' => $photo,
'photo_link'=> ($urow['photo'] != "") ? photos_url.'/'.$uphoto:'',
'avatar' => $avatar
);
if (is_array($PFILTERS['plugin.uprofile']))
foreach ($PFILTERS['plugin.uprofile'] as $k => $v) { $v->showProfile($urow['id'], $urow, $tvars); }
$tpl -> vars('users', $tvars);
$template['vars']['mainblock'] .= $tpl -> show('users');
}
function uprofile_editProfile(){
// Call editForm routine
uprofile_editForm();
}
function uprofile_applyProfile() {
global $template, $userROW, $lang;
// Check if user is logged in
if (!is_array($userROW)) {
msg(array("type" => "error", "text" => $lang['uprofile:msge_notlogged']));
return;
}
// Call Apply changes routine
uprofile_editApply();
// Redirect back if we do not have any messages
if (!$template['vars']['mainblock']) {
@header("Location: ".generateLink('uprofile', 'edit', array()));
} else {
// We have some messages. Don't affect it, print editForm.
uprofile_editForm();
}
}
// =============================================================
// Internal functions of plugin
// =============================================================
// Show profile for specified user
function profile_show() {
global $mysql;
}
// Show EDIT FORM for current user's profile
function uprofile_editForm(){
global $mysql, $userROW, $lang, $config, $tpl, $template, $SYSTEM_FLAGS, $PFILTERS;
$SYSTEM_FLAGS['info']['title']['group'] = $lang['uprofile:header.edit'];
// Check if user is logged in
if (!is_array($userROW)) {
msg(array("type" => "error", "text" => $lang['uprofile:msge_notlogged']));
return;
}
//
// Show profile
// Save current user's parameters
$currentUser = $userROW;
// Manage profile data [if needed]
if (is_array($PFILTERS['plugin.uprofile']))
foreach ($PFILTERS['plugin.uprofile'] as $k => $v) { $v->editProfileFormPre($currentUser['id'], $currentUser); }
// Determine paths for all template files
$tpath = locatePluginTemplates(array('profile'), 'uprofile', pluginGetVariable('uprofile', 'localsource'));
// If AVATARs are enabled
if ($config['use_avatars']) {
if ($currentUser['avatar'] !== "") {
// Check for new style of avatar storing
if (preg_match('/^'.$currentUser['id'].'\./', $currentUser['avatar'])) {
$avatar = $currentUser['avatar'];
} else {
$avatar = $currentUser['id'].'.'.$currentUser['avatar'];
}
$imgavatar = '<img src="'.avatars_url.'/'.$avatar.'" style="margin: 5px; border: 0px;" alt="" />';
$delavatar = '<input type="checkbox" name="delavatar" id="delavatar" class="check" /> <label for="delavatar">'.$lang["uprofile:delete"].'</label>';
}
$showrow_avatar = '<input type="file" name="newavatar" size="40" /><br />'.$imgavatar.'<br />'.$delavatar;
} else {
$showrow_avatar = $lang['uprofile:avatars_denied'];
}
// If PHOTOS are enabled
if ($config['use_photos']) {
if ($currentUser['photo'] !== "") {
// Check for new style of avatar storing
if (preg_match('/^'.$currentUser['id'].'\./', $currentUser['photo'])) {
$photo = $currentUser['photo'];
} else {
$photo = $currentUser['id'].'.'.$currentUser['photo'];
}
$imgphoto = '<a href="'.photos_url.'/'.$photo.'" target="_blank"><img src="'.photos_url.'/thumb/'.$photo.'" style="margin: 5px; border: 0px;" alt="" /></a>';
$delphoto = '<input type="checkbox" name="delphoto" id="delphoto" class="check" /> <label for="delphoto">'.$lang["uprofile:delete"].'</label>';
}
$showrow_photo = '<input type="file" name="newphoto" size="40" /><br />'.$imgphoto.'<br />'.$delphoto;
} else {
$showrow_photo = $lang['uprofile:photos_denied'];
}
$status = (($currentUser['status'] >= 1)&&($currentUser['status'] <= 4))?$lang['uprofile:st_'.$currentUser['status']]:$lang['uprofile:st_unknown'];
$tvars['vars'] = array(
'php_self' => $PHP_SELF,
'name' => $currentUser['name'],
'regdate' => LangDate("l, j Q Y - H:i", $currentUser['reg']),
'last' => (empty($currentUser['last'])) ? $lang['no_last'] : LangDate("l, j Q Y - H:i", $currentUser['last']),
'status' => $status,
'news' => $currentUser['news'],
'comments' => $currentUser['com'],
'email' => secure_html($currentUser['mail']),
'ifchecked' => $ifchecked,
'site' => secure_html($currentUser['site']),
'icq' => secure_html($currentUser['icq']),
'from' => secure_html($currentUser['where_from']),
'about' => secure_html($currentUser['info']),
'about_sizelimit_text' => str_replace('{limit}', intval($config['user_aboutsize']), $lang['uprofile:about_sizelimit']),
'about_sizelimit' => intval($config['user_aboutsize']),
'avatar' => $showrow_avatar,
'photo' => $showrow_photo,
'form_action' => generateLink('core', 'plugin', array('plugin' => 'uprofile', 'handler' => 'apply')),
);
if (is_array($PFILTERS['plugin.uprofile']))
foreach ($PFILTERS['plugin.uprofile'] as $k => $v) { $v->editProfileForm($currentUser['id'], $currentUser, $tvars); }
$tpl -> template('profile', $tpath['profile']);
$tpl -> vars('profile', $tvars);
$template['vars']['mainblock'] .= $tpl -> show('profile');
}
function uprofile_editApply(){
global $mysql, $tpl, $lang, $template, $userROW, $auth_db, $config, $PFILTERS;
// Load required library
@include_once root.'includes/classes/upload.class.php';
// Check if user is logged in
if (!is_array($userROW)) {
msg(array("type" => "error", "text" => $lang['uprofile:msge_notlogged']));
return;
}
if (!isset($_POST['oldpass']) || (EncodePassword($_POST['oldpass']) != $userROW['pass'])) {
msg(array("type" => "error", "text" => $lang['uprofile:msge_needoldpass']));
return;
}
// Delete avatar if requested
if ($_REQUEST['delavatar']) {
uprofile_manageDelete('avatar', $userROW['id']);
} else {
$avatar = $userROW['avatar'];
}
// Delete photo if requested
if ($_REQUEST['delphoto']) {
uprofile_manageDelete('photo', $userROW['id']);
} else {
$photo = $userROW['photo'];
}
// UPLOAD AVATAR
if ($_FILES['newavatar']['name']) {
// Delete an avatar if user already has it
uprofile_manageDelete('avatar', $userROW['id']);
$fmanage = new file_managment();
$imanage = new image_managment();
$up = $fmanage->file_upload(array('type' => 'avatar', 'http_var' => 'newavatar', 'replace' => 1, 'manualfile' => $userROW['id'].'.'.strtolower($_FILES['newavatar']['name'])));
if (is_array($up)) {
// Now fetch information about size and prepare to write info into DB
if (is_array($sz = $imanage->get_size($config['avatars_dir'].$up[1]))) {
$fmanage->get_limits('avatar');
// Check avatar size limit (!!!)
$lwh = intval($config['avatar_wh']);
if ($lwh && (($sz[1] > $lwh)||($sz[2] > $lwh))) {
// Fatal: uploaded avatar mismatch size limits !
msg(array("type" => "error", "text" => $lang['uprofile:msge_size'], "info" => sprintf($lang['uprofile:msgi_size'], $lwh.'x'.$lwh)));
$fmanage->file_delete(array('type' => 'avatar', 'id' => $up[0]));
} else {
$mysql->query("update ".prefix."_".$fmanage->tname." set width=".db_squote($sz[1]).", height=".db_squote($sz[2])." where id = ".db_squote($up[0]));
$avatar = $up[1];
}
} else {
// We were unable to fetch image size. Damaged file, delete it!
msg(array("type" => "error", "text" => $lang['uprofile:msge_damaged']));
$fmanage->file_delete(array('type' => 'avatar', 'id' => $up[0]));
}
}
}
// UPLOAD PHOTO
if ($_FILES['newphoto']['name']) {
// Delete a photo if user already has it
uprofile_manageDelete('photo', $userROW['id']);
$fmanage = new file_managment();
$imanage = new image_managment();
$up = $fmanage->file_upload(array('type' => 'photo', 'http_var' => 'newphoto', 'replace' => 1, 'manualfile' => $userROW['id'].'.'.strtolower($_FILES['newphoto']['name'])));
if (is_array($up)) {
// Now write info about image into DB
if (is_array($sz = $imanage->get_size($config['photos_dir'].$subdirectory.'/'.$up[1]))) {
$fmanage->get_limits('photo');
// Create preview for photo
$tsz = intval($config['photos_thumb_size']);
if (($tsz < 10)||($tsz > 1000)) $tsz = 150;
$thumb = $imanage->create_thumb($config['photos_dir'].$subdirectory, $up[1], $tsz,$tsz);
// If we were unable to create thumb - delete photo, it's damaged!
if (!$thumb) {
msg(array("type" => "error", "text" => $lang['uprofile:msge_damaged']));
$fmanage->file_delete(array('type' => 'avatar', 'id' => $up[0]));
} else {
$mysql->query("update ".prefix."_".$fmanage->tname." set width=".db_squote($sz[1]).", height=".db_squote($sz[2]).", preview=1 where id = ".db_squote($up[0]));
$photo = $up[1];
}
} else {
// We were unable to fetch image size. Damaged file, delete it!
msg(array("type" => "error", "text" => $lang['uprofile:msge_damaged']));
$fmanage->file_delete(array('type' => 'avatar', 'id' => $up[0]));
}
}
}
$sqlFields = array (
'avatar' => $avatar,
'photo' => $photo,
'mail' => $_REQUEST['editmail'],
'site' => $_REQUEST['editsite'],
'icq' => is_numeric($_REQUEST['editicq'])?$_REQUEST['editicq']:'',
'where_from' => $_REQUEST['editfrom'],
'info' => (intval($config['user_aboutsize'])?substr($_REQUEST['editabout'],0,$config['user_aboutsize']):$_REQUEST['editabout'])
);
if ($_REQUEST['editpassword'] != '') {
if (method_exists($auth_db, 'save_profile')) {
$auth_db->save_profile($userROW['id'], array('password' => $_REQUEST['editpassword']));
}
$sqlFields['pass'] = EncodePassword($_REQUEST['editpassword']);
}
// Call external plugins for request processing
if (is_array($PFILTERS['plugin.uprofile']))
foreach ($PFILTERS['plugin.uprofile'] as $k => $v) { $v->editProfile($useROW['id'], $userROW, $sqlFields); }
// Prepare SQL line
$sqlF = array();
foreach ($sqlFields as $f => $v)
array_push($sqlF, $f . " = " . db_squote($v));
$sqlUpdate = "update ".uprefix."_users set ".join(", ",$sqlF)." where id = ".db_squote($userROW['id']);
$mysql->query($sqlUpdate);
// Call external plugins for request processing
if (is_array($PFILTERS['plugin.uprofile']))
foreach ($PFILTERS['plugin.uprofile'] as $k => $v) { $v->editProfileNotify($useROW['id'], $userROW, $sqlFields); }
return true;
}
function uprofile_manageDelete($type, $userID){
global $mysql, $userROW;
// Load required library
@include_once root.'includes/classes/upload.class.php';
$localUpdate = 0;
$userID = intval($userID);
if ($userID != $userROW['id']) {
if (!is_array($uRow = $mysql->record("select * from ".uprefix."_users where id = ".$userID)))
return;
} else {
$uRow = $userROW;
$localUpdate = 1;
}
// Search for avatar record in mySQL table
if (is_array($imageRow = $mysql->record("select * from ".prefix."_images where owner_id = ".$userID." and category = ".($type=='avatar'?1:2)))) {
// Info was found in SQL table
$fmanager = new file_managment();
$fmanager->file_delete(array('type' => $type, 'id' => $imageRow['id']));
//unlink(avatars_dir.$imageRow['name']);
} else if ($uRow[$type]) {
// Try to delete all avatars of this user
@unlink($avatar_dir.$uRow['id'].'.*');
}
$mysql->query("update ".uprefix."_users set ".($type=='photo'?'photo':'avatar')." = '' where id = ".$userID);
if ($localUpdate) $userROW[$type] = '';
}
Суета сует, - все суета... (Екклесиаст)
Дешевый и надежный хостинг
Вне форума
Мистика какая-то. Я еще надеялся, что может не работает на денвере. Сейчас загнал на тестовый домен - тоже не работает.Wolverine, вот можете сами убедиться http://games-manual.ru
Логин: yukos
пароль: 123
Суета сует, - все суета... (Екклесиаст)
Дешевый и надежный хостинг
Вне форума
Yukos, ты прикалываешься что ли

Или ты говоришь про отсутствие просмотров отдельной строкой? Тогда тебе нужно проделать действия Или можно сделать отдельную переменную под просмотры,
Вне форума
Wolverine, Вы что, меня самого уже трясет. Я никогда на форумах не тусовался и к своему стыду не знаю, как вставить картинку. Вот сейчас сделал скрин, подскажите как загрузить, сами увидите.
Суета сует, - все суета... (Екклесиаст)
Дешевый и надежный хостинг
Вне форума
Заходишь на http://photoload.ru/, там жмешь Обзор, выбираешь картинку с компа и жмешь Загрузить
Вне форума
[ Сгенерировано за 0.025 сек, 7 запросов выполнено - Использовано памяти: 725.46 Кбайт (Пик: 806.46 Кбайт) ]