コード例 #1
0
    public function __construct()
    {
        $log_ids = IsSetPost(DBLogger::LOGID);
        if ($log_ids === false)
        {
            throw new UserActionException("nothing to delete");
        }


        foreach($log_ids as $id)
        {
            if (!is_numeric($id))
            {
                throw new SecurityException(
                        "all message ids must be numeric");
            }
        }


        try
        {
            DBLogger::delete($log_ids);
        }
        catch(DBLoggerException $e)
        {
            throw new UserActionException($e->getMessage());
        }
    }
コード例 #2
0
ファイル: Test_Logger.php プロジェクト: sziszu/pefi
 function testDBLogger()
 {
     $this->dbl = $logger = new DBLogger(new PdoDBTable(array('name' => 'log', 'pdo' => $this->pdo)), null, Logger::DEVEL);
     $logger->reset();
     $logger->devel('1');
     $logger->debug('2');
     $logger->info('3');
     $logger->warn('4');
     $logger->error('5');
     $len = strlen($logger->get());
     if ($len !== 161) {
         return "{$len} chars instead 161 chars";
     }
 }
コード例 #3
0
ファイル: API.class.php プロジェクト: nsystem1/tuneefy
 public static function lookup($query, $from = "site")
 {
     // query decoding
     $query = trim(urldecode($query));
     // So far, we have no item
     $lookedUpItem = null;
     // By default we assume this is a simple query
     $lookedUpPlatform = -1;
     // Return value (default)
     $retour = null;
     // For now we have not transformed
     $queryArray = array('initial' => $query, 'transformed' => $query);
     // Check that the request is well-formed
     if ($query) {
         $query = trim(strip_tags($query));
         // We remove the trailing slash for our regex to work
         if (substr($query, -1) == '/') {
             $query = substr($query, 0, -1);
         }
         // We log the search query
         DBLogger::logSearchQuery($query, $from);
         // We look for the permalink
         $platforms = API::getPlatforms();
         while (list($pId, $pObject) = each($platforms)) {
             if ($pObject->isActiveForLookup() || $from == "playlist") {
                 // Is the platform active for lookup ?
                 if ($pObject->hasPermalink($query)) {
                     // The permalink is correct for this platform
                     if ($from == "playlist") {
                         $lookedUpPlatform = $pObject->getId();
                         break;
                     }
                     try {
                         $result = $pObject->lookupPermalink($query);
                     } catch (PlatformTimeoutException $e) {
                         $result = null;
                     }
                     if ($result) {
                         // We have a non-null result
                         $queryArray['transformed'] = str_replace(" ", "+", trim($result['query']));
                         $lookedUpItem = $result['track'];
                         $lookedUpPlatform = $pObject->getId();
                     }
                     // We break anyway because we won't find anything else
                     // since this was a correct permalink
                     break;
                 }
             }
         }
         // We create the PHP array containing the good values
         $retour = array('lookedUpPlatform' => $lookedUpPlatform, 'query' => $queryArray, 'lookedUpItem' => $lookedUpItem);
     }
     return $retour;
 }
コード例 #4
0
ファイル: DBLoggerTest.php プロジェクト: rexfleischer/web_dev
$inserts[] = DBLogger::log("hell", "o world10");
$inserts[] = DBLogger::log("hell", "o world11");
sleep(1);
$inserts[] = DBLogger::log("hell", "o world12");
$inserts[] = DBLogger::log("hell", "o world13");
sleep(1);
$inserts[] = DBLogger::log("hell", "o world14");
$inserts[] = DBLogger::log("hell", "o world15");
sleep(1);
$inserts[] = DBLogger::log("hell", "o world16");
$inserts[] = DBLogger::log("hell", "o world17");
sleep(1);
$inserts[] = DBLogger::log("hell", "o world18");
$inserts[] = DBLogger::log("hell", "o world19");
echo var_dump($inserts);
$logs1 = DBLogger::GetLimitedBy("hell", 1, 10);
echo var_dump($logs1);
$logs2 = DBLogger::GetLimitedBy("hell", 11, 20);
echo var_dump($logs2);
if (sizeof($logs1) == 10 && sizeof($logs2) == 9)
{
    echo "passed pageation<br />";
}
else
{
    echo "failed pageation<br />";
}

DBLogger::delete($inserts);

?>
コード例 #5
0
ファイル: listen.php プロジェクト: nsystem1/tuneefy
<?php

require '../../config.php';
$failSilently = true;
require _PATH . 'include/database/DBUtils.class.php';
require _PATH . 'include/database/DBLogger.class.php';
require _PATH . 'include/database/DBConnection.class.php';
if (isset($_GET['t']) && isset($_GET['p'])) {
    if (isset($_GET['i'])) {
        $track = intval(DBUtils::fromUId($_GET['i'], _BASE_MULTIPLIER));
    } else {
        $track = 0;
    }
    // Adds an entry
    DBLogger::addGlobalHit($_GET['p'], $track);
    header('Location: ' . $_GET['t']);
    return false;
} else {
    header('Location: ' . _SITE_URL . '/woops');
}
コード例 #6
0
ファイル: processShare.php プロジェクト: nsystem1/tuneefy
require _PATH . 'include/database/DBLogger.class.php';
require _PATH . 'include/database/DBConnection.class.php';
// We retrieve the base_id and check it is correct :
$base_id = DBUtils::fromUId($request, _BASE_MULTIPLIER);
if ($base_id != intval($base_id)) {
    // Looks like the ID is not good
    header('Location: ' . _SITE_URL . '/404');
    exit;
}
// Retrieves the item
$item = DBUtils::retrieveItem($base_id);
if (!$item) {
    header('Location: ' . _SITE_URL . '/404');
}
// We add a hit
DBLogger::addHit($base_id);
// Checks if we want to display an album or a track
if ($action == 'track') {
    $requestedType = _TABLE_TRACK;
    $complementaryShortCode = '/a/';
} else {
    if ($action == 'album') {
        $requestedType = _TABLE_ALBUM;
        $complementaryShortCode = '/t/';
    }
}
// Is the requested type correct ?
if (intval($item['type']) != intval($requestedType)) {
    // Wrong type but item exists : we redirect to have the correct link
    header('Location: ' . _SITE_URL . $complementaryShortCode . $request);
    exit;
コード例 #7
0
ファイル: sandbox.php プロジェクト: rexfleischer/web_dev
<?php
require_once '../Boydsnest.php';
require_once FCORE_FILE_DBLOGGER;
DBLogger::log(USERS."5", 124);
DBLogger::log(USERS."5", 2463);
DBLogger::log(USERS."5", 3654);
DBLogger::log(USERS."5", 36587);
DBLogger::log(USERS."5", 4668668);
DBLogger::log(USERS."5", 468);

?>
コード例 #8
0
 public function hookLogRequest()
 {
     if ($this->config->AuxConfig->requestLogEnabled) {
         DBLogger::logRequest();
     }
 }
コード例 #9
0
ファイル: home.php プロジェクト: rexfleischer/web_dev
    public function view_content($request, $message = "")
    {
        $page_state = false;
        try
        {
            $page_state = $this->load_local_object("content/objects/GetPageState");
            $page_state = $page_state->get_state();
        }
        catch(UserActionException $e)
        {
            $prev = $e->getPrevious();
            if ($prev != null)
            {
                DBLogger::log(
                        BN_LOGTYPE_ERROR,
                        $prev->getMessage());
                FCore::GetLogger()->log(
                        Logger::LEVEL_ERROR,
                        $e->getMessage());
            }
            $message .= $e->getMessage();
            $page_state = false;
        }

        if ($page_state)
        {
            $page_data = false;
            try
            {
                $page_data = FCore::LoadObject("pages/GetUserPage",
                        array(
                            "user_id"   => $page_state[USERS_USERID],
                            "page_id"   => $page_state[DBForum::POST_ID],
                        ));
            }
            catch(UserActionException $e)
            {
                $prev = $e->getPrevious();
                if ($prev != null)
                {
                    DBLogger::log(
                            BN_LOGTYPE_ERROR,
                            $prev->getMessage());
                    FCore::GetLogger()->log(
                            Logger::LEVEL_ERROR,
                            $e->getMessage());
                }
                $message .= $e->getMessage();
                $page_data = false;
            }
            $page_data = is_a($page_data, "DataCollection") ?
                    $page_data->get_data() : array();

            $response_list = false;
            if (array_key_exists(PAGETYPE, $page_data) &&
                $page_data[PAGETYPE] != BN_PAGETHREADTYPE_NONE)
            {
                try
                {
                    $response_list = FCore::LoadObject(
                            "responses/GetUserPageResponseList",
                            $page_state[DBForum::POST_ID]);
                    $response_list = $response_list->get_data();
                }
                catch(UserActionException $e)
                {
                    $prev = $e->getPrevious();
                    if ($prev != null)
                    {
                        DBLogger::log(
                                BN_LOGTYPE_ERROR,
                                $prev->getMessage());
                        FCore::GetLogger()->log(
                                Logger::LEVEL_ERROR,
                                $e->getMessage());
                    }
                    $message .= $e->getMessage();
                }
            }

            return $this->ready_master_common(
                "content/views/content_view",
                array(
                    'message'   => $message,
                    "user_id"   => $page_state[USERS_USERID],
                    "page_id"   => $page_state[DBForum::POST_ID],
                    'content'   => array_key_exists(DBDataType::CONTENT, $page_data) ?
                                        $page_data[DBDataType::CONTENT] : null,
                    'title'     => array_key_exists(PAGETITLE, $page_data) ?
                                        $page_data[PAGETITLE] : null,
                    'response_list' => is_array($response_list) ?
                                        $response_list : array(),
                ),
                $page_state);
        }
        else
        {
            return $this->ready_master_common(
                "content/views/content_welcome",
                array(
                    'message'   => $message
                ),
                $page_state);
        }
    }
コード例 #10
0
ファイル: AttemptLogin.php プロジェクト: rexfleischer/web_dev
 public function do_action()
 {
     $user = $this->user_factory->select_first($this->user_id);
     $session = BoydsnestSession::GetInstance();
     $session->setupUser($user);
     DBLogger::log(BN_LOGTYPE_USERLOG(), "logged in");
 }
コード例 #11
0
ファイル: admin.php プロジェクト: rexfleischer/web_dev
    public function create_user($request)
    {
        $message = "";
        $user_data = false;

        if (ACTION.ACTION_CREATE."users" == $request)
        {
            $user_data = $this->load_local_object("masters/objects/CreateUser");
            try
            {
                $user_data->do_create();
                return $this->view_user(
                        $request,
                        "successfully created user",
                        $user_data->get(USERS_USERID));
            }
            catch(UserActionException $e)
            {
                $message = $e->getMessage();
            }
        }

        $data_defaults = array();
        try
        {
            $defaults_object = $this->load_local_object(
                    "masters/objects/GetUserDefaults");
            $data_defaults = $defaults_object->get_data();
        }
        catch(Exception $e)
        {
            DBLogger::log(BN_LOGTYPE_ERROR, $e->getMessage());
        }

        if ($user_data)
        {
            $user_data = $user_data->get_data();
            foreach($user_data as $key => $value)
            {
                $data_defaults[$key] = $value;
            }
        }

        $master = $this->ready_master();
        $master->consume_string(
                "content",
                $this->load_local_php_view(
                        "masters/views/create_user", array(
                            'message'       => $message,
                            'user_data'     => $data_defaults,
                        ))
                );
        return $master->get_page();
    }
コード例 #12
0
ファイル: GetUserLog.php プロジェクト: rexfleischer/web_dev
    public function __construct()
    {
        parent::__construct();

        // getting the user id
        $this->user_id = IsSetGetPost(USERS_USERID);
        if (!$this->user_id)
        {
            throw new UserActionException("no user selected");
        }
        if (!is_numeric($this->user_id))
        {
            throw new UserActionException("user id must be numeric");
        }

        $this->start  = IsSetGetPost('start', 0);
        $this->amount = IsSetGetPost('amount', 20);

        if (!is_numeric($this->start))
        {
            $this->start = 0;
        }
        if (!is_numeric($this->amount))
        {
            $this->amount = 20;
        }

        // get the username
        try
        {
            $user_factory = FCore::LoadDBFactory(BN_DBFACTORY_USERMODEL);
            $this->username = $user_factory->select_first(
                    $this->user_id,
                    array(
                        DBFactory::SELECT_GET_ONLY => array(
                            USERS_USERNAME
                        )
                    ));
            if ($this->username == null)
            {
                $this->username = "******";
            }
            else
            {
                $this->username = $this->username[USERS_USERNAME];
            }
        }
        catch(Exception $e)
        {
            FCore::GetLogger()->log(Logger::LEVEL_ERROR, $e->getMessage());
            DBLogger::log(BN_LOGTYPE_ERROR, $e->getMessage());
            $this->username = "******";
        }

        // getting the user logs
        try
        {
            $this->data = DBLogger::GetLimitedBy(
                    USERS.$this->user_id, $this->start, $this->amount);
        }
        catch(DBLoggerException $e)
        {
            throw new UserActionException($e->getMessage());
        }
    }