first commit

This commit is contained in:
2026-04-24 15:32:21 +02:00
commit 20d40fead4
5046 changed files with 641038 additions and 0 deletions

View File

@@ -0,0 +1,364 @@
<?
/**
* $Id: Admin.mod.php 703 2008-06-26 11:15:09Z pawy $
* Klasa przechowujaca dane zalogowanego admina
*
*/
class Admin extends DataObject {
const SMARTY_NAME = 'admin';
const SMARTY_DEFAULT_ACCESS = 'admin';
static $tableName = 'mf_admin';
static $classTablePK = 'id_mf_admin';
static $className = __CLASS__;
static $fields = array(
'id_mf_admin' => 'id',
'email' => 'email',
'first_name' => 'firstName',
'last_name' => 'lastName',
'login' => 'login',
'password' => 'password',
'role' => 'role',
'last_login' => 'lastLogin',
'description' => 'description',
'online' => 'online',
'last_activity' => 'lastActivity',
'phone' => 'phone',
'authorized' => 'authorized',
'photo_src' => 'photoSrc',
'forum_count' => 'forumCount',
'_create_time' => 'createTime',
'moderated_post_count' => 'moderatedPostCount',
'archive' => 'archive',
'delete_time' => 'deleteTime'
);
public function GetTableName(){
return self::$tableName;
}
public function GetFields(){
return self::$fields;
}
public function GetClassName(){
return self::$className;
}
public function GetClassTablePK() {
return self::$classTablePK;
}
/**
* id admnina
*
* @var integer
*/
protected $id;
/**
* email admina
*
* @var string
*/
private $email;
/**
* Imie i nazwisko admina
*
* @var string
*/
private $firstName;
private $lastName;
/**
* login admina
*
* @var string
*/
private $login;
private $password;
/**
* Rola admina
*
* @var string
*/
private $role;
/**
* Szablon uprawnien
*
* @var array
*/
private $access;
/**
* Data i godzina ostatniego logowania
*
* @var string
*/
private $lastLogin;
private $online;
private $lastActivity;
private $phone;
private $description;
private $authorized;
private $photoSrc;
private $forumCount;
private $createTime;
private $moderatedPostCount;
private $archive;
private $deleteTime;
function __construct($id = -1, $description = null, $email = null, $firstName = null, $lastName = null, $login = null, $password = null, $role = null, $access = null, $lastLogin = null, $online = null, $phone = null, $authorized = null, $moderatedPostCount = null,$archive =null) {
$this->id = $id;
$this->description = $description;
$this->email = $email;
$this->firstName = $firstName;
$this->lastName = $lastName;
$this->login = $login;
$this->role = $role;
$this->access = $access;
$this->lastLogin = $lastLogin;
$this->online = $online;
$this->phone = $phone;
$this->authorized = $authorized;
$this->moderatedPostCount = $moderatedPostCount;
$this->archive = $archive;
}
public function getModeratedPostCount() {
return $this->moderatedPostCount;
}
public function setModeratedPostCount($moderatedPostCount) {
$this->moderatedPostCount = $moderatedPostCount;
}
public function getId() {
return $this->id;
}
public function setId($id) {
$this->id = $id;
}
public function getEmail() {
return $this->email;
}
public function setEmail($email) {
$this->email = $email;
}
public function getName() {
return $this->firstName . " " . $this->lastName;
}
public function getFirstName() {
return $this->firstName;
}
public function setFirstName($firstName) {
$this->firstName = $firstName;
}
public function getLastName() {
return $this->lastName;
}
public function setLastName($lastName) {
$this->lastName = $lastName;
}
public function getLogin() {
return $this->login;
}
public function setLogin($login) {
$this->login = $login;
}
public function getPassword() {
return $this->password;
}
public function setPassword($password) {
$this->password = $password;
}
public function getRole() {
return $this->role;
}
public function setRole($role) {
$this->role = $role;
}
public function getLastLogin() {
return $this->lastLogin;
}
public function setLastLogin($lastLogin) {
$this->lastLogin = $lastLogin;
}
public function getOnline() {
return $this->online;
}
public function setOnline($online) {
$this->online = $online;
}
public function getLastActivity() {
return $this->lastActivity;
}
public function setLastActivity($lastActivity) {
$this->lastActivity = $lastActivity;
}
public function getPhone() {
return $this->phone;
}
public function setPhone($phone) {
$this->phone = $phone;
}
public function getDescription() {
return $this->description;
}
public function setDescription($description) {
$this->description = $description;
}
public function getAuthorized() {
return $this->authorized;
}
public function setAuthorized($authorized) {
$this->authorized = $authorized;
}
public function getPhotoSrc() {
return $this->photoSrc;
}
public function setPhotoSrc($photoSrc) {
$this->photoSrc = $photoSrc;
}
public function getForumCount() {
return $this->forumCount;
}
public function setForumCount($forumCount) {
$this->forumCount = $forumCount;
}
public function GetPhotoUrl($type = 120) {
if($this->photoSrc) {
switch($type) {
case 50:
return $this->photoSrc .'_50.' . PhotoDAL::PHOTO_NEW_EXT;
break;
case 120:
return $this->photoSrc .'_120.' . PhotoDAL::PHOTO_NEW_EXT;
break;
default:
return $this->photoSrc .'_120.'. PhotoDAL::PHOTO_NEW_EXT;
break;
}
}
return null;
}
/**
* Funkcja kontrolna
*
* @return boolean
*/
public function IsAuthorized() {
return $this->authorized;
}
public function getAccess() {
if($this->access == null){
$this->access = AdminDAL::GetArrayAccess($this);
}
return $this->access;
}
public function setAccess($access) {
$this->access = $access;
}
public function getCreateTime() {
return $this->createTime;
}
public function setCreateTime($createTime) {
$this->createTime = $createTime;
}
public function getArchive() {
return $this->archive;
}
public function setArchive($archive) {
$this->archive = $archive;
}
public function getDeleteTime() {
return $this->deleteTime;
}
public function setDeleteTime($deleteTime) {
$this->deleteTime = $deleteTime;
}
/**
* Sprawdza uprawnienia do zasobu
*
* @param string $where
* @return boolean
*/
public function CheckAccess($where) {
if (array_key_exists($where, $this->access)) {
return true;
} else {
return false;
}
}
}
?>

View File

@@ -0,0 +1,320 @@
<?php
/**
* $Id: AdminDAL.mod.php 773 2008-07-01 06:19:05Z dakl $
* Klasa do obs<62>ugi odwo<77>a<EFBFBD> do bazy danych:
* - pobieranie danych
* - usuwanie
* - dodawanie
* - edycja
* - modyfikacja has<61>a
*
*/
class AdminDAL extends DefaultDAL {
// <editor-fold defaultstate="collapsed" desc="Ustawienia tabeli na której operuje DAL">
protected static $objClassName;
protected static $objClassTable;
protected static $objClassTablePK;
private static $optClass;
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="Funkcje pobierające nazwy tabeli, klucza głównego, nazwy klasy na której operuje DAL">
/**
* @return string
*
*/
public static function GetObjClassName() {
if (self::$objClassName != '') {
$class = self::$objClassName;
} else {
$class = str_replace('DAL', '', __CLASS__);
}
return $class;
}
/**
* @return string
*
*/
public static function GetOptClass() {
if (self::$optClass != null) {
return self::$optClass;
} else {
return self::GetObjClassName();
}
}
/**
* @return string
*
*/
public static function GetObjClassTablePK() {
if (self::$objClassTablePK != '') {
$return = self::$objClassTablePK;
} else {
$class = self::GetObjClassName();
$classObj = new $class();
$return = $classObj->GetClassTablePK();
}
return $return;
}
/**
* @return string
*
*/
public static function GetObjClassTable() {
if (!is_null(self::$objClassTable)) {
$return = self::$objClassTable;
} else {
$class = self::GetObjClassName();
$classObj = new $class();
$return = $classObj->GetTableName();
}
return $return;
}
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="Domyślne metody wymagane przez IDefaultDAL">
/**
* @param User $obj
*
*/
public static function Save($obj) {
if ($obj->GetId() == -1) {
return self::Insert($obj);
} else {
return self::Update($obj);
}
}
/**
* @param User $obj
*
*/
public static function Insert($obj) {
$dalData = new DalData();
$dalData->setObjClassTable(self::GetObjClassTable());
$dalData->setObj($obj);
return self::DefaultInsert($dalData);
}
/**
* @param User $obj
*
*/
public static function Update($obj) {
$dalData = new DalData();
$dalData->setObjClassTable(self::GetObjClassTable());
$dalData->setObjClassTablePK(self::GetObjClassTablePK());
$dalData->setObj($obj);
return self::DefaultUpdate($dalData);
}
/**
*
* @param integer $id
*
*/
public static function Delete($obj) {
$dalData = new DalData();
$dalData->setObjClassTable(self::GetObjClassTable());
$dalData->setObjClassTablePK(self::GetObjClassTablePK());
$dalData->setObj($obj);
$dalData->setId($obj->GetId());
return self::DefaultDelete($dalData);
}
public static function GetDalDataObj() {
$dalData = new DalData();
$dalData->setObjClassName(self::GetObjClassName());
$dalData->setObjClassTable(self::GetObjClassTable());
$dalData->setObjClassTablePK(self::GetObjClassTablePK());
$dalData->setOptClass(self::GetOptClass());
return $dalData;
}
/**
*
* @param integer $id
* @return User
*/
public static function GetById($id) {
$result = self::GetResult(array(self::GetObjClassTablePK() => $id), array(), 1);
if (is_object($result[0])) {
return $result[0];
} else {
throw new Exception('Brak rekordu w tablicy ' . self::GetObjClassTable() . ' o id <b>' . $id . '</b>!');
}
}
/**
* pobiera liste rekordow
* @param <array> $data - pola do where
* @param <array> $queryFields - pobierane pola
* @param <string> $limit - limit rekordow
* @param <string> $sortBy - sortowanie
* @param <bool> $count - czy ma zwracac ilosc rekordow
* @return <array> - tablica obiektow lub jesli usawiony count liczba rekordow
*/
public static function GetResult($data = array(), $queryFields = array(), $limit = 0, $sortBy = null, $count = null) {
$dalData = new DalData();
$dalData->setObjClassName(self::GetObjClassName());
$dalData->setObjClassTable(self::GetObjClassTable());
$dalData->setObjClassTablePK(self::GetObjClassTablePK());
$dalData->setOptClass(self::GetOptClass());
$dalData->setCondition($data);
$dalData->setQueryFields($queryFields);
$dalData->setLimit($limit);
$dalData->setSortBy($sortBy);
$dalData->setCount($count);
return self::DefaultGetResult($dalData, false);
}
// </editor-fold>
public static function GetArrayAccess($obj) {
$db = Registry::Get('db');
$sql = "SELECT access from mf_admin_access where role=:1";
$stmt = $db->Prepare($sql)
->BindParam(1, $obj->getRole())
->Execute();
$access = array();
while ($row = $stmt->FetchArray()) {
$access[$row['access']] = true;
}
return $access;
}
/**
* Pobieranie listy rol
*
* @return array
*/
public static function GetArrayObjRoles() {
$db = Registry::Get('db');
$sql = "SELECT DISTINCT role from mf_admin_access";
$stmt = $db->execute($sql);
return $stmt->FetchAllAssoc();
}
public static function UpdateAvatar($id, $files) {
$filename = PhotoDAL::SimplePhotoUpload($files, "avatar", 100, 100, 90, "_$id");
$db = Registry::Get('db');
$sql = "UPDATE " . self::GetObjClassTable() . " set avatar=:*#1#* WHERE " . self::GetObjClassTablePK() . "=:*#2#*";
$stmt = $db->prepare($sql)
->bindParam("*#1#*", $filename)
->bindParam("*#2#*", $id)
->execute();
}
/**
* Zmiana hasla
*
* @param integer $id
* @param string $password
* @param string $oldPassword
*/
public static function UpdatePassword($id, $password, $oldPassword = null) {
$db = Registry::Get('db');
$sql = "UPDATE " . self::GetObjClassTable() . " set password=:1 WHERE " . self::GetObjClassTablePK() . "=:2";
$stmt = $db->prepare($sql)
->bindParam(1, $password)
->bindParam(2, $id)
->bindParam(3, $oldPassword)
->execute();
}
public static function CheckPassword($id, $password) {
$db = Registry::Get('db');
$sql = "select count(*) from " . self::GetObjClassTable() . " WHERE password=:1 AND " . self::GetObjClassTablePK() . "=:2";
$stmt = $db->prepare($sql)
->bindParam(1, $password)
->bindParam(2, $id)
->execute();
$result = $stmt->FetchRow();
return $result[0];
}
public static function DoActivity($obj) {
$db = Registry::Get('db');
$sql = "UPDATE " . self::GetObjClassTable() . " SET last_activity = NOW() WHERE " . self::GetObjClassTablePK() . "=:*#1#*";
$stmt = $db->prepare($sql)
->bindParam('*#1#*', $obj->GetId())
->execute();
return $obj->GetId();
}
public static function GetResultByLink($table, $id, $data = array(), $limit = 0, $sortBy = null, $count = null) {
if (!is_array($data)) {
$data = array();
}
$db = Registry::Get('db');
if ($count == true)
$select = 'count(*) as count';
else
$select = " " . SQL::ToSelect('Admin') . " ";
$sql = " SELECT $select FROM " . self::GetObjClassTable() . " INNER JOIN mf_link ON " . self::GetObjClassTable() . "." . self::GetObjClassTablePK() . "=mf_link.id_destination WHERE mf_link.destination_type='" . self::GetObjClassTable() . "' AND mf_link.source_type='$table' AND mf_link.id_source=$id ";
foreach ($data as $key => $value) {
if ($key == "id")
$key = 'id_mf_admin';
if (is_array($value))
$sql .= ( is_numeric($value['value']) || $value ? " AND " . $key . " " . $value['condition'] . " " . $value['value'] : "");
else
$sql .= ( is_numeric($value) || $value ? " AND " . $key . " = " . $value : "");
}
$sql .= ( trim($sortBy) ? " ORDER BY $sortBy " : "") .
( $limit ? " LIMIT " . $limit : "") .
" ";
$stmt = $db->prepare($sql)
->execute();
$array = $stmt->fetchAllAssoc();
if ($count == true)
return $array[0]['count'];
$done = array();
for ($i = 0; $i < count($array); $i++) {
$obj = new Admin();
$obj->FromArray($array[$i], 1);
$done[$obj->GetId()] = $obj;
}
return $done;
}
public static function GetLinkedProfiles($id, $limit) {
return self::GetResult(array(self::GetObjClassTablePK() => array('condition' => '<>', 'value' => $id)), array(), $limit);
}
public static function NewMessageNotify($userId, $subject = null, $sender = null, $smarty, $messageId = null) {
$admin = new Admin();
$admin = self::GetById($userId);
// $physSet = new ProfileSettings();
// $physSet = ProfileSettingsDAL::GetByAdminId($userId);
// if($physSet -> GetNotifyNewMessage() == 1){
$smarty->assign('msgId', $messageId);
$smarty->assign('subject', $subject);
$smarty->assign('sender', $sender);
$mail = new Mailer();
$mail->AddAddress($admin->GetEmail(), $admin->GetEmail());
$mail->SendEmail($smarty->fetch('partial/Mail/Newmessage.tpl'), '', 'Nowa wiadomość w Twojej skrzynce odbiorczej');
// }
}
}
?>

View File

@@ -0,0 +1,105 @@
<?
/**
* $Id: AuthDAL.mod.php 708 2008-06-26 13:48:43Z pawy $
* Klasa autoryzacji usera
*
*/
class AuthDAL {
/**
* Pusty konstruktor
*
*/
public function __construct() {
}
/**
* Sprawdza uzytkownika i haslo, loguje usera , zapisuje obiekt klasy User do sesji i zwraca 1/0
*
* @param string $login
* @param string $password
* @return boolean
*/
public static function Login($login, $password) {
$adminList = AdminDAL::GetResult(array("login" => $login, "password" => md5(trim($password))), array(), 1);
//Utils::ArrayDisplay($adminList);
if(!empty($adminList)) {
$admin = $adminList[0];
$admin->SetAuthorized(true);
$lastLogin = $admin->GetLastLogin();
$admin->SetLastLogin('NOW()');
AdminDAL::Save($admin);
$admin->SetLastLogin($lastLogin);
$admin->GetAccess();
SessionProxy::SetValue(EnumSessionValue::ADMIN_OBJECT, $admin);
return $admin->GetId();
} else {
return false;
}
}
/**
* Zwraca obiekt klasy User lub 0
*
* @return boolean
*/
public static function GetAdmin() {
$admin = SessionProxy::GetValue(EnumSessionValue::ADMIN_OBJECT);
$remember = Request::GetCookie('remember');
if(is_object($admin) ){
return $admin;
} else if(isset($remember) && $remember == '1'){
$adminList = AdminDAL::GetResult(array("hash" => Request::GetCookie('key')), array(), 1);
if(!empty($adminList)) {
$admin = $adminList[0];
$admin->SetAuthorized(true);
$admin->GetAccess();
Registry::Set('admin', $admin);
SessionProxy::SetValue(EnumSessionValue::ADMIN_OBJECT, $admin);
return $admin;
} else {
return false;
}
} else {
return false;
}
}
/**
* Przeladowuje uzytkownika w sesji
*
* @param
*/
public static function ReloadUser() {
$admin = SessionProxy::GetValue(EnumSessionValue::ADMIN_OBJECT);
$adminId = $admin->GetId();
$admin = AdminDAL::GetById($adminId);
$admin->GetAccess();
$admin->SetAuthorized(true);
SessionProxy::ClearValue(EnumSessionValue::ADMIN_OBJECT);
SessionProxy::SetValue(EnumSessionValue::ADMIN_OBJECT, $admin);
}
/**
* Czysci sesje wylogowujac usera
*
*/
public static function Logout() {
SessionProxy::ClearValue(EnumSessionValue::ADMIN_OBJECT);
}
}
?>

View File

@@ -0,0 +1,34 @@
<?
/**
* $Id$
* Paramerty chache dla poszczegolnych elementow
*
*/
class CacheParam {
/**
* Globalny parametr uzywany wszedzie tam, gdzie nie jest zdefiniowane inaczej
*
* @var unknown_type
*/
public static $global = '30';
/**
* Metoda do pobierania konkretnego parametru
*
* @param string $param
* @return int
*/
public static function Get($param) {
if(isset(self::$$param)) {
return self::$$param;
}
else {
return self::$global;
}
}
}
?>

View File

@@ -0,0 +1,68 @@
<?php
/**
* Class for parsing BBCode
*
* This class can be use for parsing common BBCode tags.
*
* @license GNU General Public License
* @author Nikola Posa, www.nikolaposa.in.rs
*/
class LightBBCodeParser {
//array of bbcode patterns
protected $patterns = array
(
'/\n/Ui',
'/\[b\]/Ui',
'/\[\/b\]/Ui',
'/\[i\]/Ui',
'/\[\/i\]/Ui',
'/\[u\]/Ui',
'/\[\/u\]/Ui',
'/\[s\]/Ui',
'/\[\/s\]/Ui',
'/\[size=([0-9]+)\]/Ui',
'/\[\/size\]/Ui',
'/\[url=([^\]]+)\](.*?)\[\/url\]/Ui',
'/\[url\](.*?)\[\/url\]/Ui',
'/\[img\](.*?)\[\/img\]/Ui',
'/\[color=([^\]]*?)\]([^\[]*?)\[\/color\]/Ui',
'/\[code\](.*?)\[\/code\]/Ui',
'/\[quote.*?\](.*?)\[\/quote\]/Ui'
);
//array of HTML tags that correspond to bbcode patterns
protected $replacements = array
(
'<br />',
'<span class="bbcodeB">',
'</span>',
'<span class="bbcodeI">',
'</span>',
'<span class="bbcodeU">',
'</span>',
'<span class="bbcodeS">',
'</span>',
'<span style="font-size: \1px;">',
'</span>',
'<a href="\1">\2</a>',
'<a href="\1">\1</a>',
'<img src="\1" />',
'<span style="color: \1">\2</span>',
'<span class="bbcodeCode">\1</span>',
'<span class="bbcodeQuote">\1</span>'
);
/**
* This function converts bbcode to (x)HTML tags.
*
* @param string Text that will be parsed.
* @return string
*/
public function bbc2html($subject){
$subject = preg_replace($this->patterns, $this->replacements, $subject);
return $subject;
}
}
?>