/** * Save user data * * @param bool Indicates when is a edit */ function save_data($edit = false) { global $xoopsSecurity, $xoopsDB; $q = ''; // Query String foreach ($_POST as $k => $v) { ${$k} = $v; if ($k == 'XOOPS_TOKEN_REQUEST' || $k == 'sbt' || $k == 'action' || $k == 'password' || $k == 'passwordc') { continue; } $q .= $q == '' ? "{$k}=" . urlencode($v) : "&{$k}=" . urlencode($v); } if (!$xoopsSecurity->check()) { redirectMsg('users.php?action=' . ($edit ? 'edit' : 'new') . '&' . $q, __('Sorry, you don\'t have permission to add users.', 'rmcommon'), 1); die; } if ($edit) { if ($uid <= 0) { redirectMsg('users.php', __('The specified user is not valid!', 'rmcommon'), 1); die; } $user = new RMUser($uid); if ($user->isNew()) { redirectMsg('users.php', __('The specified user does not exists!', 'rmcommon'), 1); die; } } else { $user = new RMUser(); } // Check uname, password and passwordc if ($uname == '' || $email == '' || !$edit && ($password == '' || $passwordc == '')) { redirectMsg('users.php?action=' . ($edit ? 'edit' : 'new') . '&' . $q, __('Please fill all required fields and try again!', 'rmcommon'), 1); die; } // Check passwords if ($password != $passwordc) { redirectMsg('users.php?action=' . ($edit ? 'edit' : 'new') . '&' . $q, __('Passwords doesn\'t match. Please chek them.', 'rmcommon'), 1); die; } // Check if user exists $sql = "SELECT COUNT(*) FROM " . $xoopsDB->prefix("users") . " WHERE (uname = '{$uname}' OR email = '{$email}')" . ($edit ? " AND uid != " . $user->uid : ''); list($exists) = $xoopsDB->fetchRow($xoopsDB->query($sql)); if ($exists > 0) { RMUris::redirect_with_message(__('Another user with same username or email already exists!', 'rmcommon'), 'users.php?action=' . ($edit ? 'edit' : 'new') . '&' . $q, RMMSG_ERROR); } // Save user data $user->setVar('name', $name); $user->setVar('uname', $uname); $user->setVar('display_name', $display_name); $user->setVar('email', $email); if (!$edit) { $user->assignVar('user_regdate', time()); } if ($password != '') { $user->assignVar('pass', md5($password)); } $user->setVar('level', 1); $user->setVar('timezone_offset', $timezone); $user->setVar('url', $url); /** * If "All" has been selected then we need to get all * groups ID's */ if (in_array(0, $groups)) { $groups = array(); $result = $xoopsDB->query("SELECT groupid FROm " . $xoopsDB->prefix("groups")); while ($row = $xoopsDB->fetchArray($result)) { $groups[] = $row['groupid']; } unset($result); } /** * If no group has been selected, then we add user to * Anonymous group */ if (empty($groups)) { $groups = array(XOOPS_GROUP_ANONYMOUS); } $user->setGroups($groups); // Plugins and modules can save metadata. // Metadata are generated by other dynamical fields $user = RMEvents::get()->run_event('rmcommon.add.usermeta.4save', $user); if ($user->save()) { $user = RMEvents::get()->run_event($edit ? 'rmcommon.user.edited' : 'rmcommon.user.created', $user); redirectMsg('users.php', __('Database updated successfully!', 'rmcommon'), 0); } else { redirectMsg('users.php?action=' . ($edit ? 'edit' : 'new') . '&' . $q, __('The users could not be saved. Please try again!', 'rmcommon') . '<br />' . $user->errors(), 1); } }
function dt_block_items($options) { global $db, $xoopsModule; include_once XOOPS_ROOT_PATH . '/modules/dtransport/class/dtsoftware.class.php'; include_once XOOPS_ROOT_PATH . '/modules/dtransport/class/dtfunctions.class.php'; $tpl = RMTemplate::get(); $tpl->add_xoops_style('blocks.css', 'dtransport'); $dtfunc = new DTFunctions(); $db = XoopsDatabaseFactory::getDatabaseConnection(); $tbls = $db->prefix("dtrans_software"); $tblc = $db->prefix("dtrans_catsoft"); if ($options[1] > 0) { $sql = "SELECT s.* FROM {$tbls} as s, {$tblc} as c WHERE c.cat='" . $options[1] . "' AND s.id_soft=c.soft AND s.approved=1 AND s.`delete`=0"; } else { $sql = "SELECT s.* FROM {$tbls} as s WHERE s.`approved`=1 AND s.`delete`=0 "; } if (trim($options[10]) > 0) { $user = new RMUser(trim($options[10])); if ($user->isNew()) { return; } $sql .= " AND s.uid='" . $user->id() . "' "; } if ($options[11] > 0) { $sql .= "AND id_cat='{$options['11']}'"; } switch ($options[0]) { case 'all': $sql .= ' ORDER BY RAND() '; break; case 'recent': $sql .= " ORDER BY s.modified DESC, created DESC "; break; case 'popular': $sql .= " ORDER BY s.hits DESC "; break; case 'rated': $sql .= " ORDER BY s.`rating`/s.`votes` DESC "; break; case 'featured': $sql .= " AND featured=1 ORDER BY RAND() "; break; case 'daily': $sql = " AND daily=1 ORDER BY RAND() "; break; } $options[2] = $options[2] > 0 ? $options[2] : 5; $sql .= " LIMIT 0, {$options['2']}"; $result = $db->query($sql); $block = array(); while ($row = $db->fetchArray($result)) { $item = new DTSoftware(); $item->assignVars($row); $rtn = array(); $rtn['name'] = $item->getVar('name'); $rtn['version'] = $item->getVar('version'); if ($options[3]) { $img = new RMImage(); $img->load_from_params($item->getVar('image')); $rtn['image'] = $img->get_version($options[11]); } if ($options[4]) { $rtn['description'] = $item->getVar('shortdesc'); } if ($options[5]) { $rtn['hits'] = sprintf(__('Downloaded %s times.', 'dtransport'), '<strong>' . $item->getVar('hits') . '</strong>'); } if ($options[6]) { $rtn['urate'] = @number_format($item->getVar('rate') / $item->getVar('votes'), 1); } if ($options[7]) { $rtn['siterate'] = DTFunctions::ratingStars($item->getVar('siterate')); } $rtn['link'] = $item->permalink(); $rtn['metas'] = $dtfunc->get_metas('down', $item->id()); if ($options[9]) { $rtn['author'] = array('name' => $item->getVar('author_name'), 'url' => $item->getVar('author_url')); } $block['downs'][] = $rtn; } $block['showbutton'] = $options[8]; $block['downlang'] = __('Download', 'dtransport'); $block['lang_urate'] = __('User rating: %s', 'dtransport'); $block['lang_author'] = __('Author: %s', 'dtransport'); $block['langhits'] = _BK_DT_HITSTEXT; $block['langurate'] = _BK_DT_URATETEXT; $block['languser'] = _BK_DT_USERBY; return $block; }
/** * Save user data * * @param bool Indicates when is a edit */ function save_data($edit = false) { global $xoopsSecurity; $q = ''; // Query String foreach ($_POST as $k => $v) { ${$k} = $v; if ($k == 'XOOPS_TOKEN_REQUEST' || $k == 'sbt' || $k == 'action' || $k == 'password' || $k == 'passwordc') { continue; } $q .= $q == '' ? "{$k}=" . urlencode($v) : "&{$k}=" . urlencode($v); } if (!$xoopsSecurity->check()) { redirectMsg('users.php?action=' . ($edit ? 'edit' : 'new') . '&' . $q, __('Sorry, you don\'t have permission to add users.', 'rmcommon'), 1); die; } if ($edit) { if ($uid <= 0) { redirectMsg('users.php', __('The specified user is not valid!', 'rmcommon'), 1); die; } $user = new RMUser($uid); if ($user->isNew()) { redirectMsg('users.php', __('The specified user does not exists!', 'rmcommon'), 1); die; } } else { $user = new RMUser(); } // Check uname, password and passwordc if ($uname == '' || $email == '' || !$edit && ($password == '' || $passwordc == '')) { redirectMsg('users.php?action=' . ($edit ? 'edit' : 'new') . '&' . $q, __('Please fill all required fields and try again!', 'rmcommon'), 1); die; } // Check passwords if ($password != $passwordc) { redirectMsg('users.php?action=' . ($edit ? 'edit' : 'new') . '&' . $q, __('Passwords doesn\'t match. Please chek them.', 'rmcommon'), 1); die; } // Save user data $user->setVar('name', $name); $user->setVar('uname', $uname); $user->setVar('display_name', $display_name); $user->setVar('email', $email); if (!$edit) { $user->assignVar('user_regdate', time()); } if ($password != '') { $user->assignVar('pass', md5($password)); } $user->setVar('level', 1); $user->setVar('timezone_offset', $timezone); $user->setVar('url', $url); $user->setGroups($groups); // Plugins and modules can save metadata. // Metadata are generated by other dynamical fields $user = RMEvents::get()->run_event('rmcommon.add.usermeta.4save', $user); if ($user->save()) { $user = RMEvents::get()->run_event($edit ? 'rmcommon.user.edited' : 'rmcommon.user.created', $user); redirectMsg('users.php', __('Database updated successfully!', 'rmcommon'), 0); } else { redirectMsg('users.php?action=' . ($edit ? 'edit' : 'new') . '&' . $q, __('The users could not be saved. Please try again!', 'rmcommon') . '<br />' . $user->errors(), 1); } }