コード例 #1
0
ファイル: evaluate.php プロジェクト: muzhiqiang/school
 public function showYearAndTermAction()
 {
     $sql = "select Eva_year_term from evaluate order by Eva_year_term desc limit 1";
     require_once $_SERVER['DOCUMENT_ROOT'] . '/school' . '/model/pod.php';
     $pod = new POD();
     $result = $pod->query($sql);
 }
コード例 #2
0
 public function memberLinkInfo($req, $lk, $arg)
 {
     $db = new POD();
     $p = $db->connect();
     if ($p == false) {
         throw new Exception('Database connect failed');
     }
     $map = array('studentAssocationMemberItem' => 'stu_union_member', 'studentInfoItem' => 'stu_basic_info');
     $table = array('stu_union_member', 'stu_basic_info');
     $sql = $db->genLinkSql($req, $lk, $arg, $table, $map);
     $res = $db->query($sql);
     return $res;
 }
コード例 #3
0
ファイル: classItem.php プロジェクト: muzhiqiang/school
 public function classLinkStaff($req, $lk, $arg)
 {
     $db = new POD();
     $p = $db->connect();
     if ($p == false) {
         throw new Exception('Database connect failed');
     }
     $map = array('classItem' => 'class', 'staffInfoItem' => 'emp_basic_info');
     $table = array('class', 'emp_basic_info');
     $sql = $db->genLinkSql($req, $lk, $arg, $table, $map);
     $res = $db->query($sql);
     return $res;
 }
コード例 #4
0
 public function projectLinkGroup($req, $lk, $arg)
 {
     $db = new POD();
     $p = $db->connect();
     if ($p == false) {
         throw new Exception('Database connect failed');
     }
     $map = array('researchGroupProjectItem' => 'res_group_achievement', 'researchGroupItem' => 'res_group');
     $table = array('res_group_achievement', 'res_group');
     $sql = $db->genLinkSql($req, $lk, $arg, $table, $map);
     $res = $db->query($sql);
     return $res;
 }
コード例 #5
0
 public function awardLinkTeacher($req, $lk, $arg)
 {
     $db = new POD();
     $p = $db->connect();
     if ($p == false) {
         throw new Exception('Database connect failed');
     }
     $map = array('teacherInfoItem' => 'teacher_basic_info', 'teacherAwardItem' => 'teacher_award');
     $table = array('teacher_award', 'teacher_basic_info');
     $sql = $db->genLinkSql($req, $lk, $arg, $table, $map);
     $res = $db->query($sql);
     return $res;
 }
コード例 #6
0
 public function stuLinkClass($req, $lk, $arg)
 {
     $db = new POD();
     $p = $db->connect();
     if ($p == false) {
         throw new Exception('Database connect failed');
     }
     $map = array('studentIdentityItem' => 'stu_identification_info', 'studentInfoItem' => 'stu_basic_info');
     $table = array('stu_identification_info', 'stu_basic_info');
     $sql = $db->genLinkSql($req, $lk, $arg, $table, $map);
     $res = $db->query($sql);
     return $res;
 }
コード例 #7
0
 public function messageLinkContent($req, $lk, $arg)
 {
     $db = new POD();
     $p = $db->connect();
     if ($p == false) {
         throw new Exception('Database connect failed');
     }
     $map = array('messageContentItem' => 'message', 'messageContraceItem' => 'message_interconnect');
     $table = array('message', 'message_interconnect');
     $sql = $db->genLinkSql($req, $lk, $arg, $table, $map);
     $res = $db->query($sql);
     return $res;
 }
コード例 #8
0
 public function logLinkGroupMember($req, $lk, $arg)
 {
     $db = new POD();
     $p = $db->connect();
     if ($p == false) {
         throw new Exception('Database connect failed');
     }
     $map = array('researchGroupMemberItem' => 'res_member', 'researchGroupLogItem' => 'res_group_log');
     $table = array('res_member', 'res_group_log');
     $sql = $db->genLinkSql($req, $lk, $arg, $table, $map);
     $res = $db->query($sql);
     return $res;
 }
コード例 #9
0
ファイル: Textcube.Data.php プロジェクト: Avantians/Textcube
 function removeAll($removeAttachments = true)
 {
     global $database;
     $blogid = getBlogId();
     POD::query("UPDATE {$database['prefix']}BlogStatistics SET visits = 0 WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}DailyStatistics WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}Categories WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}Attachments WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}Comments WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}RemoteResponses WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}RemoteResponseLogs WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}TagRelations WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}Entries WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}Links WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}Filters WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}RefererLogs WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}RefererStatistics WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}Plugins WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}FeedStarred WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}FeedReads WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}FeedGroupRelations WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}FeedGroups WHERE blogid = {$blogid}");
     if (file_exists(__TEXTCUBE_CACHE_DIR__ . "/rss/{$blogid}.xml")) {
         unlink(__TEXTCUBE_CACHE_DIR__ . "/rss/{$blogid}.xml");
     }
     if ($removeAttachments) {
         Path::removeFiles(Path::combine(ROOT, 'attach', $blogid));
     }
 }
コード例 #10
0
ファイル: blog.keyword.php プロジェクト: hinablue/TextCube
function getEntriesByKeyword($blogid, $keyword)
{
    global $database;
    $keyword = POD::escapeString($keyword);
    $visibility = doesHaveOwnership() ? '' : 'AND visibility > 1';
    return POD::queryAll("SELECT id, userid, title, category, comments, published \n\t\t\tFROM {$database['prefix']}Entries \n\t\t\tWHERE blogid = {$blogid} \n\t\t\t\tAND draft = 0 {$visibility} \n\t\t\t\tAND category >= 0 \n\t\t\t\tAND (title LIKE '%{$keyword}%' OR content LIKE '%{$keyword}%')\n\t\t\tORDER BY published DESC");
}
コード例 #11
0
ファイル: index.php プロジェクト: hinablue/TextCube
function facebookSocialPlugins($target, $mother)
{
    global $database, $suri, $blog, $configVal;
    $data = Misc::fetchConfigVal($configVal);
    $output = '';
    $directive = array('archive', 'category', 'guestbook', 'imageResizer', 'link', 'login', 'logout', 'pannels', 'protected', 'search', 'tag', 'trackback', 'rss', 'atom', 'ientry', 'sync', 'm', 'commentcomment');
    if (in_array(str_replace('/', '', $suri['directive']), $directive)) {
        return $target;
    }
    $permalink = $blog['useSloganOnPost'] ? 'entry/' . POD::queryCell("SELECT `slogan` FROM {$database['prefix']}Entries WHERE `id`={$mother} LIMIT 1") : $mother;
    $permalink = urlencode(getBlogURL() . '/' . $permalink);
    $title = urlencode(POD::queryCell("SELECT `title` FROM {$database['prefix']}Entries WHERE `id`={$mother} LIMIT 1"));
    $output = '<div style="margin-top:1em;width:auto;height:auto;clear:both;">';
    $__width = !isset($data['content_width']) || (int) $data['content_width'] <= 0 ? 520 : $data['content_width'];
    if ($data['like_button']) {
        $output .= '<div class="fb-like" data-href="' . $permalink . '" data-send="true" data-width="' . $__width . '" data-show-faces="true"></div>';
    }
    if ($data['comments']) {
        $output .= '<div class="fb-comments" data-href="' . $permalink . '" data-num-posts="2" data-width="' . $__width . '"></div>';
    }
    if ($data['share']) {
        $output .= '<div class="fb-send" data-href="' . $permalink . '"></div>';
    }
    $output .= '</div><br />';
    return $target . $output;
}
コード例 #12
0
 function close()
 {
     if (isset($this->_result)) {
         POD::free($this->_result);
         unset($this->_result);
     }
     $this->_count = 0;
     $this->reset();
 }
コード例 #13
0
ファイル: common.setting.php プロジェクト: hinablue/TextCube
function removeServiceSetting($name, $pruneSimilarEntries = false)
{
    global $database;
    clearServiceSettingCache();
    if ($pruneSimilarEntries) {
        return POD::execute("DELETE FROM {$database['prefix']}ServiceSettings WHERE name like '" . POD::escapeString($name) . "'");
    } else {
        return POD::execute("DELETE FROM {$database['prefix']}ServiceSettings WHERE name = '" . POD::escapeString($name) . "'");
    }
}
コード例 #14
0
ファイル: POD.php プロジェクト: ragi79/Textcube
 public static function queryColumnWithDBCache($query, $prefix = null, $type = 'both', $count = -1)
 {
     $cache = queryCache::getInstance();
     $cache->reset($query, $prefix);
     if (!$cache->load()) {
         $cache->contents = POD::queryColumn($query, $type, $count);
         $cache->update();
     }
     return $cache->contents;
 }
コード例 #15
0
ファイル: test.php プロジェクト: muzhiqiang/school
 public function test2Action()
 {
     require $_SERVER['DOCUMENT_ROOT'] . '/school' . '/model/pod.php';
     $db = new POD();
     $p = $db->connect();
     if ($p == false) {
         throw new Exception('Database connect failed');
     }
     $req = array();
     $lk = array('account');
     $req[0] = array('key' => 'account', 'account' => '111', 'table' => 'p');
     $arg = array('name', 'password');
     $table = array('Person', 'Account');
     $map = array('p' => 'Person', 'a' => 'Account');
     $sql = $db->genLinkSql($req, $lk, $arg, $table, $map);
     //echo $sql;
     //exit;
     $res = $db->query($sql);
     return $res;
 }
コード例 #16
0
ファイル: score.php プロジェクト: muzhiqiang/school
 public function showScoreAction()
 {
     $sql1 = "select c.Course_ID,c.Course,sc.Score,c.Property,c.credit,c.intro from Course as c,Stu_Course as sc where c.Course_ID = sc.Course_ID and c.Course_year_term = {$_POST['Course_year_term']} and sc.Stu_ID = {$_POST['Account']}";
     require_once $_SERVER['DOCUMENT_ROOT'] . '/school' . '/model/pod.php';
     $pod = new POD();
     $pod->connect();
     $result = $pod->query($sql1);
     foreach ($result as $key => $value) {
         $where = $result[$key]['Course_ID'];
         $sql2 = "select Stu_ID from Stu_Course where Course_ID='{$where}' order by Score desc";
         $ids = $pod->query($sql2);
         foreach ($ids as $rank => $id) {
             if ($id['Stu_ID'] == $_POST['Account']) {
                 $result[$key]['rank'] = $rank + 1;
                 break;
             }
         }
     }
     $pod->close();
     return json_encode($result);
 }
コード例 #17
0
ファイル: blog.locative.php プロジェクト: hinablue/TextCube
function suggestLocatives($blogid, $filter)
{
    global $database;
    $locatives = array();
    $result = POD::queryAll('SELECT DISTINCT location, COUNT(*) cnt FROM ' . $database['prefix'] . 'Entries WHERE blogid = ' . $blogid . ' AND location LIKE "' . POD::escapeString($filter) . '%" GROUP BY location ORDER BY cnt DESC LIMIT 10');
    if ($result) {
        foreach ($result as $locative) {
            $locatives[] = $locative[0];
        }
    }
    return $locatives;
}
コード例 #18
0
ファイル: blog.keyword.php プロジェクト: ragi79/Textcube
function getKeywordsWithPaging($blogid, $search, $page, $count)
{
    $ctx = Model_Context::getInstance();
    $aux = '';
    if ($search !== true && $search) {
        $search = POD::escapeString($search);
        $aux = "AND (title LIKE '%{$search}%' OR content LIKE '%{$search}%')";
    }
    $visibility = doesHaveOwnership() ? '' : 'AND visibility > 0';
    $sql = "SELECT * \n\t\tFROM " . $ctx->getProperty('database.prefix') . "Entries \n\t\tWHERE blogid = {$blogid} \n\t\t\tAND draft = 0 {$visibility} \n\t\t\tAND category = -1 {$aux} \n\t\tORDER BY published DESC";
    return Paging::fetch($sql, $page, $count, $ctx->getProperty('uri.folder') . "/" . $ctx->getProperty('suri.value'));
}
コード例 #19
0
ファイル: index.php プロジェクト: ragi79/Textcube
function EAS_Call($type, $name, $title, $url, $content)
{
    global $hostURL, $blogURL, $database;
    $blogstr = $hostURL . $blogURL;
    $rpc = new XMLRPC();
    $rpc->url = 'http://antispam.eolin.com/RPC/index.php';
    if ($rpc->call('checkSpam', $blogstr, $type, $name, $title, $url, $content, $_SERVER['REMOTE_ADDR']) == false) {
        // call fail
        // Do Local spam check with "Thief-cat algorithm"
        $count = 0;
        $tableName = $database['prefix'] . 'RemoteResponses';
        if ($type == 2) {
            $sql = 'SELECT COUNT(id) as cc FROM ' . $database['prefix'] . 'RemoteResponses WHERE';
            $sql .= ' url = \'' . POD::escapeString($url) . '\'';
            $sql .= ' AND isfiltered > 0';
            if ($row = POD::queryRow($sql)) {
                $count += @$row[0];
            }
        } else {
            // Comment Case
            $tableName = $database['prefix'] . 'Comments';
            $sql = 'SELECT COUNT(id) as cc FROM ' . $database['prefix'] . 'Comments WHERE';
            $sql .= ' comment = \'' . POD::escapeString($content) . '\'';
            $sql .= ' AND homepage = \'' . POD::escapeString($url) . '\'';
            $sql .= ' AND name = \'' . POD::escapeString($name) . '\'';
            $sql .= ' AND isfiltered > 0';
            if ($row = POD::queryRow($sql)) {
                $count += @$row[0];
            }
        }
        // Check IP
        $sql = 'SELECT COUNT(id) as cc FROM ' . $tableName . ' WHERE';
        $sql .= ' ip = \'' . POD::escapeString($_SERVER['REMOTE_ADDR']) . '\'';
        $sql .= ' AND isfiltered > 0';
        if ($row = POD::queryRow($sql)) {
            $count += @$row[0];
        }
        if ($count >= 10) {
            return false;
        }
        return true;
    }
    if (!is_null($rpc->fault)) {
        // EAS has some problem
        return true;
    }
    if ($rpc->result['result'] == true) {
        return false;
        // it's spam
    }
    return true;
}
コード例 #20
0
ファイル: index.php プロジェクト: ragi79/Textcube
function CT_Start_Default_getEntry($blogid, $id)
{
    global $database;
    if ($id == 0) {
        return null;
    }
    $visibility = doesHaveOwnership() ? '' : 'AND visibility > 0';
    $entry = POD::queryRow("SELECT id,title,visibility FROM {$database['prefix']}Entries WHERE blogid = {$blogid} AND id = {$id} AND draft = 0 {$visibility}");
    if (!$entry) {
        return false;
    }
    return $entry;
}
コード例 #21
0
ファイル: index.php プロジェクト: ragi79/Textcube
/**
 * @brief Send abstract about specific entry.
 * @see Tag, User, DBModel, Model_Context
 */
function sendAbstractToEolin()
{
    // TODO : Rewrite routines to fit Textcube 1.8 or later.
    requireModel('blog.category');
    $entryId = $_GET['entryId'];
    $context = Model_Context::getInstance();
    $blogid = $context->getProperty('blog.id');
    echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<response>\r\n";
    list($allComments, $allTrackbacks) = POD::queryRow("SELECT \n\t\t\tSUM(comments), SUM(trackbacks) \n\t\t\tFROM {$context->getProperty('database.prefix')}Entries \n\t\t\tWHERE blogid = " . $blogid . " AND draft = 0 AND visibility = 3", 'num');
    if ($entry = POD::queryRow("SELECT e.*, c.name AS categoryName \n\t\t\t\tFROM {$context->getProperty('database.prefix')}Entries e \n\t\t\t\tLEFT JOIN {$context->getProperty('database.prefix')}Categories c ON e.blogid = c.blogid AND e.category = c.id \n\t\t\t\tWHERE e.blogid = " . $blogid . " AND e.id = " . $entryId . " AND e.draft = 0 AND e.visibility = 3" . getPrivateCategoryExclusionQuery($blogid))) {
        header('Content-Type: text/xml; charset=utf-8');
        echo '<version>1.1</version>', "\r\n";
        echo '<status>1</status>', "\r\n";
        echo '<blog>', "\r\n";
        echo '<generator>' . TEXTCUBE_NAME . '/' . TEXTCUBE_VERSION . '</generator>', "\r\n";
        echo '<language>', htmlspecialchars($context->getProperty('blog.language')), '</language>', "\r\n";
        echo '<url>', htmlspecialchars($context->getProperty('uri.default')), '</url>', "\r\n";
        echo '<title>', htmlspecialchars($context->getProperty('blog.title')), '</title>', "\r\n";
        echo '<description>', htmlspecialchars($context->getProperty('blog.description')), '</description>', "\r\n";
        echo '<comments>', $allComments, '</comments>', "\r\n";
        echo '<trackbacks>', $allTrackbacks, '</trackbacks>', "\r\n";
        echo '</blog>', "\r\n";
        echo '<entry>', "\r\n";
        echo '<permalink>', htmlspecialchars($context->getProperty('uri.default') . "/" . ($context->getProperty('blog.useSloganOnPost') ? "entry/{$entry['slogan']}" : $entry['id'])), '</permalink>', "\r\n";
        echo '<title>', htmlspecialchars($entry['title']), '</title>', "\r\n";
        echo '<content>', htmlspecialchars(getEntryContentView($blogid, $entryId, $entry['content'], $entry['contentformatter'])), '</content>', "\r\n";
        echo '<author>', htmlspecialchars(User::authorName($blogid, $entryId)), '</author>', "\r\n";
        echo '<category>', htmlspecialchars($entry['categoryName']), '</category>', "\r\n";
        $tags = Tag::getTagsWithEntryId($blogid, $entry);
        foreach ($tags as $tag) {
            echo '<tag>', htmlspecialchars($tag), '</tag>', "\r\n";
        }
        echo '<location>', htmlspecialchars($entry['location']), '</location>', "\r\n";
        echo '<comments>', $entry['comments'], '</comments>', "\r\n";
        echo '<trackbacks>', $entry['trackbacks'], '</trackbacks>', "\r\n";
        echo '<written>', Timestamp::getRFC1123($entry['published']), '</written>', "\r\n";
        foreach (getAttachments($blogid, $entry['id']) as $attachment) {
            echo '<attachment>', "\r\n";
            echo '<mimeType>', $attachment['mime'], '</mimeType>', "\r\n";
            echo '<filename>', $attachment['label'], '</filename>', "\r\n";
            echo '<length>', $attachment['size'], '</length>', "\r\n";
            echo '<url>', $context->getProperty('uri.service'), '/attachment/', $attachment['name'], '</url>', "\r\n";
            echo '</attachment>', "\r\n";
        }
        echo '</entry>', "\r\n";
    } else {
        echo '<version>1.1</version>', "\r\n", '<status>0</status>', "\r\n";
    }
    echo "</response>";
    exit;
}
コード例 #22
0
ファイル: common.module.php プロジェクト: hinablue/TextCube
function getEntryFormatterInfo($id)
{
    global $database;
    static $info;
    if (!Validator::id($id)) {
        return NULL;
    } else {
        if (!isset($info[$id])) {
            $query = sprintf('SELECT contentformatter FROM %sEntries WHERE id = %d', $database['prefix'], $id);
            $info[$id] = POD::queryCell($query);
        }
    }
    return $info[$id];
}
コード例 #23
0
 function shift()
 {
     $this->reset();
     if ($this->_result && ($row = POD::fetch($this->_result))) {
         foreach ($row as $name => $value) {
             if ($name == 'blogid') {
                 continue;
             }
             $this->{$name} = $value;
         }
         return true;
     }
     return false;
 }
コード例 #24
0
ファイル: index.php プロジェクト: webhacking/Textcube
function finish($error = null)
{
    global $migrational, $blogid, $database;
    ?>
	<script type="text/javascript">
		//<![CDATA[
<?php 
    if ($error) {
        ?>
			//pi.style.backgroundColor = "red";
			alert("<?php 
        echo $error;
        ?>
");
<?php 
    } else {
        ?>
			alert("<?php 
        echo $migrational ? _t('성공적으로 이주되었습니다.') : _t('성공적으로 복원되었습니다.');
        ?>
");
<?php 
    }
    ?>
			window.parent.document.getElementById("progressDialog").style.display = "none";
			window.parent.document.getElementById("progressDialogTitle").innerHTML = "";
			window.parent.document.getElementById("progressText").innerHTML = "";
			window.parent.document.getElementById("progressTextSub").innerHTML = "";
		//]]>
	</script>
<?php 
    $activeEditors = POD::queryColumn("SELECT DISTINCT contenteditor FROM {$database}Entries WHERE blogid = {$blogid}");
    $activeFormatters = POD::queryColumn("SELECT DISTINCT contentformatter FROM {$database}Entries WHERE blogid = {$blogid}");
    if (!empty($activeEditors)) {
        foreach ($activeEditors as $editor) {
            activatePlugin($editor);
        }
    }
    if (!empty($activeFormatters)) {
        foreach ($activeFormatters as $formatter) {
            activatePlugin($formatter);
        }
    }
    echo _t('완료.');
    ?>
</body>
</html>
<?php 
    exit;
}
コード例 #25
0
ファイル: index.php プロジェクト: hinablue/TextCube
function ViewCounterList($target)
{
    global $database, $blogid, $blogURL, $skinSetting;
    $result = POD::queryAll("SELECT b.id, b.title, a.readcounts FROM {$database['prefix']}EntryReadCount a INNER JOIN {$database['prefix']}Entries b ON a.blogid = b.blogid AND a.id = b.id WHERE a.blogid={$blogid} AND b.visibility >= 2 AND b.draft = 0 AND b.category >=0 ORDER BY a.readcounts DESC LIMIT 0,5");
    $target = "<ul>";
    foreach ((array) $result as $row) {
        $articleid = $row['id'];
        $articletitle = htmlspecialchars(UTF8::lessenAsEm($row['title'], $skinSetting['recentEntryLength']));
        $readcounts = $row['readcounts'];
        $rsurl = "{$blogURL}/{$articleid}";
        $target .= "<li><a href=\"{$rsurl}\">{$articletitle}</a>&nbsp;<span class=\"cnt\">({$readcounts})</span></li>\n";
    }
    $target .= "</ul>";
    return $target;
}
コード例 #26
0
 function shift()
 {
     $this->reset();
     if ($this->_result && ($row = POD::fetch($this->_result))) {
         foreach ($row as $name => $value) {
             switch ($name) {
                 case 'value':
                     $name = 'value';
                     break;
             }
             $this->{$name} = $value;
         }
         return true;
     }
     return false;
 }
コード例 #27
0
 function removeAll($removeAttachments = true)
 {
     global $database;
     $blogid = getBlogId();
     $tags = POD::queryColumn("SELECT DISTINCT tag FROM {$database['prefix']}TagRelations WHERE blogid = {$blogid}");
     POD::query("UPDATE {$database['prefix']}BlogStatistics SET visits = 0 WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}DailyStatistics WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}Categories WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}Attachments WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}Comments WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}CommentsNotified WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}RemoteResponses WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}RemoteResponseLogs WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}TagRelations WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}Entries WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}LinkCategories WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}Links WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}RefererLogs WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}RefererStatistics WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}Plugins WHERE blogid = {$blogid}");
     //POD::query("DELETE FROM {$database['prefix']}UserSettings WHERE user = $blogid");
     POD::query("DELETE FROM {$database['prefix']}Filters WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}FeedStarred WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}FeedReads WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}FeedGroupRelations WHERE blogid = {$blogid}");
     POD::query("DELETE FROM {$database['prefix']}FeedGroups WHERE blogid = {$blogid} AND id <> 0");
     if (count($tags) > 0) {
         $tagliststr = implode(', ', $tags);
         $nottargets = POD::queryColumn("SELECT DISTINCT tag FROM {$database['prefix']}TagRelations WHERE tag in ( {$tagliststr} )");
         if (count($nottargets) > 0) {
             $nottargetstr = implode(', ', $nottargets);
             POD::execute("DELETE FROM {$database['prefix']}Tags WHERE id IN ( {$tagliststr} ) AND id NOT IN ( {$nottargetstr} )");
         } else {
             POD::execute("DELETE FROM {$database['prefix']}Tags WHERE id IN ( {$tagliststr} ) ");
         }
     }
     if (file_exists(__TEXTCUBE_CACHE_DIR__ . "/rss/{$blogid}.xml")) {
         unlink(__TEXTCUBE_CACHE_DIR__ . "/rss/{$blogid}.xml");
     }
     if ($removeAttachments) {
         Path::removeFiles(Path::combine(ROOT, 'attach', $blogid));
         POD::query("UPDATE {$database['prefix']}BlogSettings SET logo = '' WHERE blogid = {$blogid}");
     }
 }
コード例 #28
0
ファイル: auth.php プロジェクト: ni5am/Textcube
function login($loginid, $password, $expires = null)
{
    $ctx = Model_Context::getInstance();
    $loginid = POD::escapeString($loginid);
    $blogid = getBlogId();
    $userid = Auth::authenticate($blogid, $loginid, $password);
    if ($userid === false) {
        return false;
    }
    if (empty($_POST['save'])) {
        setcookie('TSSESSION_LOGINID', '', time() - 31536000, $ctx->getProperty('service.path') . '/', $ctx->getProperty('service.domain'));
    } else {
        setcookie('TSSESSION_LOGINID', $loginid, time() + 31536000, $ctx->getProperty('service.path') . '/', $ctx->getProperty('service.domain'));
    }
    if (in_array("group.writers", Acl::getCurrentPrivilege())) {
        Session::authorize($blogid, $userid, $expires);
    }
    return true;
}
コード例 #29
0
 function load()
 {
     global $database;
     $this->reset();
     if ($result = POD::query("SELECT visits FROM {$database['prefix']}BlogStatistics WHERE blogid = " . getBlogId())) {
         if ($row = POD::fetch($result)) {
             foreach ($row as $name => $value) {
                 if ($name == 'owner') {
                     continue;
                 }
                 $this->{$name} = $value;
             }
             POD::free($result);
             return true;
         }
         POD::free($result);
     }
     return false;
 }
コード例 #30
0
ファイル: index.php プロジェクト: hinablue/TextCube
function EntriesWithTags($target, $mother)
{
    global $suri, $defaultURL, $blogURL, $pluginURL, $configVal, $blog, $service, $blogid, $database;
    requireComponent('Textcube.Function.misc');
    $html = '';
    if ($suri['directive'] != "/rss" && $suri['directive'] != "/atom" && $suri['directive'] != "/m" && $suri['directive'] != "/i/entry" && $suri['directive'] != "/sync") {
        $html = '
		<div class="entries-with-tags-box">
			<strong>&nbsp;' . _t("Related entries") . '&nbsp;</strong>
			<ul>';
        $data = misc::fetchConfigVal($configVal);
        $entries = isset($data['entries']) ? $data['entries'] : 5;
        $conEntry = POD::queryRow("SELECT userid, category FROM {$database['prefix']}Entries WHERE blogid = {$blogid} AND id = {$mother}");
        $result = POD::query("SELECT DISTINCT e.id, e.slogan, e.title, e.created, e.comments, e.trackbacks\n\t\t\t\t\t\t\t\tFROM {$database['prefix']}TagRelations AS r\n\t\t\t\t\t\t\t\tLEFT JOIN {$database['prefix']}TagRelations AS t ON t.tag = r.tag \n\t\t\t\t\t\t\t\tLEFT JOIN {$database['prefix']}Entries AS e ON e.id = t.entry \n\t\t\t\t\t\t\t\tWHERE r.entry ={$mother}\n\t\t\t\t\t\t\t\tAND r.blogid ={$blogid}\n\t\t\t\t\t\t\t\tAND t.entry !={$mother}\n\t\t\t\t\t\t\t\tAND e.userid ={$conEntry['userid']} \n\t\t\t\t\t\t\t\tAND e.category = {$conEntry['category']} \n\t\t\t\t\t\t\t\tORDER BY t.entry DESC\n\t\t\t\t\t\t\t\tLIMIT {$entries}");
        if (POD::num_rows($result) > 0) {
            while ($row = POD::fetch($result, 'array')) {
                $entry = $row['id'];
                $slogan = rawurlencode($row['slogan']);
                $title = $row['title'];
                $created = date("Y/m/d H:m", $row['created']);
                $comments = $row['comments'];
                $trackbacks = $row['trackbacks'];
                if ($suri['directive'] == "/category") {
                    $permalink = $blog['useSloganOnCategory'] ? "{$defaultURL}/entry/{$slogan}" : "{$defaultURL}/{$entry}";
                } elseif ($suri['directive'] == "/tag") {
                    $permalink = $blog['useSloganOnTag'] ? "{$defaultURL}/entry/{$slogan}" : "{$defaultURL}/{$entry}";
                } else {
                    $permalink = $blog['useSloganOnPost'] ? "{$defaultURL}/entry/{$slogan}" : "{$defaultURL}/{$entry}";
                }
                $html .= "<li><a href=\"{$permalink}\">{$title}</a>,<span>Comments:&nbsp;{$comments}&nbsp;|&nbsp;Trackbacks:&nbsp;{$trackbacks}&nbsp;|&nbsp;{$created}</span></li>";
            }
        } else {
            $html .= "<li>" . _t("No related entries.") . "</li>";
        }
        $html .= <<<EOF
\t\t</ul>
\t</div>
EOF;
    }
    return $target . $html;
}