예제 #1
0
 /**
  * Slett auksjonen (sett som inaktiv og returner bud)
  */
 public function handle_delete()
 {
     // forsøk å sett som behandlet
     $this->data['a_completed'] = 1;
     $affected = \Kofradia\DB::get()->exec("UPDATE auksjoner SET a_completed = 1 WHERE a_id = {$this->id} AND a_completed = 0");
     // allerede behandlet?
     if ($affected == 0) {
         return;
     }
     // behandle ulike auksjonstyper
     switch ($this->data['a_type']) {
         case self::TYPE_KULER:
             // gi kulene tilbake til personen som startet auksjonen
             $kuler = (int) $this->params->get("bullets");
             if ($kuler && $this->data['a_up_id']) {
                 \Kofradia\DB::get()->exec("UPDATE users_players SET up_weapon_bullets = up_weapon_bullets + {$kuler}, up_weapon_bullets_auksjon = GREATEST(0, up_weapon_bullets_auksjon - {$kuler}) WHERE up_id = {$this->data['a_up_id']}");
             }
             break;
     }
     // hent alle budene som skal settes inaktive
     $result = \Kofradia\DB::get()->query("\n\t\t\tSELECT ab_id, ab_bid, ab_up_id\n\t\t\tFROM auksjoner_bud\n\t\t\tWHERE ab_a_id = {$this->id} AND ab_active != 0");
     while ($row = $result->fetch()) {
         self::set_bud_inactive($row, $this);
     }
     // behandle trigger
     if ($this->data['a_up_id']) {
         $up = player::get($this->data['a_up_id']);
         if ($up) {
             $up->trigger("auksjon_delete", array("auksjon" => $this));
         }
     }
     // oppdater cache
     self::update_cache();
 }
예제 #2
0
파일: main.module.php 프로젝트: rigidus/ea
 function _add()
 {
     $array = array('news_date' => 'NOW()', 'news_pub' => '1', 'news_title' => params::get('news_title'), 'news_content' => params::get('news_content'), 'news_desc' => params::get('news_desc'));
     db::table('news');
     db::smartInsert($array);
     headers::app('news');
 }
예제 #3
0
파일: main.module.php 프로젝트: rigidus/ea
 function save()
 {
     settings::set('feedback', 'feedback_email', params::get('feedback_email'));
     settings::set('feedback', 'feedback_subject', params::get('feedback_subject'));
     settings::save('feedback');
     headers::self();
 }
예제 #4
0
 function save()
 {
     $array = file(ROOT . '/config.php');
     $content = '';
     foreach ($array as $k => $v) {
         if (strstr($v, '#system_style')) {
             $array[$k] = "define('SYS_STYLE', '" . params::get('system_style') . "'); #system_style\r\n";
         }
         if (strstr($v, '#system_lang')) {
             $array[$k] = "define('LANG_INDEX', '" . params::get('system_lang') . "'); #system_lang\r\n";
         }
         if (strstr($v, '#global_cache')) {
             if (params::get('global_cache')) {
                 $array[$k] = "define('GLOBAL_CACHE', true); #global_cache\r\n";
             } else {
                 $array[$k] = "define('GLOBAL_CACHE', false); #global_cache\r\n";
             }
         }
         if (strstr($v, '#global_time')) {
             $array[$k] = "define('GLOBAL_CACHE_TIME', " . params::get('global_cache_time') . "); #global_time\r\n";
         }
         $content .= $array[$k];
     }
     files::write(ROOT . '/config.php', $content);
     headers::self();
 }
예제 #5
0
 function saveProfile()
 {
     db::table('admin_users');
     db::where('user_id', ADMIN_USER_ID);
     db::update('user_email', params::get('user_email'));
     self::newPassword(params::get('new_user_password'));
 }
예제 #6
0
파일: base.module.php 프로젝트: rigidus/ea
 function delete_dump()
 {
     $file = params::get('file');
     if ($file != '0') {
         unlink(SYS_ROOT . 'var/backup/' . $file);
     }
     headers::self();
 }
예제 #7
0
파일: main.handler.php 프로젝트: rigidus/ea
 function send()
 {
     /*
     	send mail
     */
     mail::from('*****@*****.**');
     mail::html(urldecode(params::get('u_name')) . ':' . urldecode(params::get('u_email')) . ': ' . urldecode(params::get('u_text')));
     mail::subject('Сайтик шлет письмо');
     mail::send('*****@*****.**');
 }
예제 #8
0
파일: main.handler.php 프로젝트: rigidus/ea
 function getFile()
 {
     $file_id = params::get('file');
     $dir = FILES_ROOT . 'pages/';
     db::table('pages_files');
     db::where('file_id', $file_id);
     $file = db::assoc();
     $link = $dir . $file_id . '.' . $file['file_type'];
     files::downloadFile($link, $file['file_name'] . '.' . $file['file_type']);
 }
예제 #9
0
 function save()
 {
     settings::set('pages', 'global_page_keywords', params::get('global_page_keywords'));
     settings::set('pages', 'global_page_description', params::get('global_page_description'));
     settings::set('pages', 'global_page_keywords_check', params::isCheck('global_page_keywords_check'));
     settings::set('pages', 'global_page_description_check', params::isCheck('global_page_description_check'));
     settings::set('pages', 'redactor', params::isCheck('redactor'));
     settings::set('pages', 'jip', params::isCheck('jip'));
     settings::set('pages', 'global_page_title', params::get('global_page_title'));
     settings::save('pages');
     headers::self();
 }
예제 #10
0
파일: main.handler.php 프로젝트: rigidus/ea
 function sendFeedback()
 {
     $mail_content = params::get('message');
     $email = params::get('email');
     if (!empty($mail_content) && !empty($email)) {
         mail::from($email);
         mail::html($mail_content);
         mail::subject(settings::get('feedback', 'feedback_subject'));
         mail::send(settings::get('feedback', 'feedback_email'));
         headers::url('/contacts/success/');
     }
 }
예제 #11
0
파일: main.handler.php 프로젝트: rigidus/ea
 function download()
 {
     $file_id = params::get('file');
     db::table('files');
     db::where('file_id', $file_id);
     $file = db::assoc();
     if (db::rows() == 0) {
         web::error404();
     }
     $file_link = FILES_ROOT . 'all/' . $file_id . '.' . $file['file_type'];
     files::downloadFile($file_link);
 }
예제 #12
0
파일: main.handler.php 프로젝트: rigidus/ea
 function show()
 {
     $list = params::get('list');
     $event = web::getEvent();
     if ($event === false) {
         $year = date('Y');
     } else {
         $year = $event;
     }
     s::set('news_date_select', htmlspecialchars($year));
     $sql = "SELECT DATE_FORMAT(`news_date`, '%Y') as date FROM `news` GROUP BY `date` ORDER BY `date` DESC";
     $res = db::query($sql);
     $rows = mysql_num_rows($res);
     if ($rows > 1) {
         s::add('news_date_selector', '<ul class="years">');
         while ($row = mysql_fetch_assoc($res)) {
             if ($row['date'] == $year) {
                 $row['date'] = '<li><span>' . $row['date'] . '</span></li>';
             } else {
                 $row['date'] = '<li><a href="' . web::get('page_folder') . '' . $row['date'] . '/">' . $row['date'] . '</a></li>';
             }
             s::add('news_date_selector', $row['date']);
         }
         s::add('news_date_selector', '</ul>');
     }
     db::table('news');
     db::where('news_pub', '1');
     db::where('news_date', $year . '-01-01 00:00:00', '>=');
     db::where('news_date', $year . '-12-31 23:59:59', '<=');
     db::order('news_date', 'DESC');
     if ($list !== false) {
         db::limit($list);
     }
     $res = db::select();
     if (db::rows() == 0) {
         web::error404();
     }
     while ($row = mysql_fetch_assoc($res)) {
         $row['news_date'] = dt::date2print('%d %F %Y', $row['news_date']);
         s::roll('news', $row);
     }
 }
예제 #13
0
파일: self.module.php 프로젝트: rigidus/ea
 function login()
 {
     $err = true;
     $pass = md5(params::get('user_password'));
     if (adminUser::auth(params::get('user_login'), $pass)) {
         $err = false;
         if (params::get('user_login') != adminUser::get('user_login') && $pass != adminUser::get('user_password')) {
             $err = true;
         } else {
             $word = 'legenda';
             $mem = md5(adminUser::get('user_login') . $word);
             setcookie('legenda', adminUser::get('user_login') . ',' . adminUser::get('user_id') . ',' . $mem, time() + 86400 * 14, "/");
             $_SESSION['ADMIN_AUTH'] = 1;
             $_SESSION['ADMIN_USER_ID'] = adminUser::get('user_id');
         }
     }
     if ($err) {
         buffer::add('Неверный логин или пароль');
     }
 }
예제 #14
0
파일: index.php 프로젝트: PapaKot/Horowitz
 static function parse()
 {
     $ar = params::get();
     param('id', array_shift($ar));
     if (!is_array($ar) || !($num = count($ar))) {
         return array();
     }
     $args = func_get_args();
     foreach ($args as $prefix) {
         if (!$num) {
             break;
         }
         foreach ($ar as $i => $v) {
             if (preg_match('/^' . $prefix . '([[0-9a-z_\\-]+)$/', $v, $res)) {
                 param(trim($prefix, '_'), $res[1]);
                 unset($ar[$i]);
                 $num = count($ar);
                 break;
             }
         }
     }
     return array_values($ar);
 }
예제 #15
0
파일: banken.php 프로젝트: Kuzat/kofradia
 /**
  * Construct: Hent detaljer
  * @param int $ff_id
  */
 public function __construct($ff_id, $new = null)
 {
     $this->id = (int) $ff_id;
     // hente info?
     if ($this->id) {
         $result = \Kofradia\DB::get()->query("\n\t\t\t\tSELECT ff_id, ff_date_reg, ff_bank, ff_name, ff_is_crew, ff_params, br_b_id\n\t\t\t\tFROM ff\n\t\t\t\t\tLEFT JOIN bydeler_resources ON ff_br_id = br_id\n\t\t\t\tWHERE ff_id = {$this->id} AND ff_type = 3 AND ff_inactive = 0");
         $this->data = $result->fetch();
         if ($this->data) {
             // ikke crew?
             if (!$this->data['ff_is_crew'] || !$new || access::is_nostat()) {
                 $this->params = new params($this->data['ff_params']);
                 $this->overforingstap = (double) $this->params->get("bank_overforing_tap", 0);
             }
             return;
         }
     }
     $this->data = null;
 }
예제 #16
0
파일: map.module.php 프로젝트: rigidus/ea
 function saveMap()
 {
     $map = $nomap = array();
     $map = explode(',', params::get('map'));
     $nomap = explode(',', params::get('nomap'));
     foreach ($map as $v) {
         db::table('pages');
         db::where('page_id', $v);
         db::update('page_map', '1');
     }
     foreach ($nomap as $v) {
         db::table('pages');
         db::where('page_id', $v);
         db::update('page_map', '0');
     }
 }
예제 #17
0
파일: apps.module.php 프로젝트: rigidus/ea
 function download()
 {
     $tmpl_file = params::get('tmpl_file');
     $app = params::get('app');
     $file = SYS_ROOT . 'tmpls/' . ADMIN_SITE . '/' . $app . '/' . $tmpl_file;
     files::downloadFile($file);
 }
예제 #18
0
 /**
  * Formatter tekst for premie (og gi ut hvis spesifisert)
  */
 protected function prize($give = false)
 {
     // mulige premier:
     // * cash
     // * points
     // * bullets
     $params = new params($this->a->data['ac_prize']);
     $text = array();
     // cash
     if ($cash = $params->get("cash")) {
         if ($give) {
             $this->up->update_money($cash);
         }
         $text[] = game::format_cash($cash);
     }
     // points
     if ($points = $params->get("points")) {
         if ($give) {
             $this->up->increase_rank($points);
         }
         $text[] = game::format_num($points) . " rankpoeng";
     }
     // kuler
     if ($bullets = $params->get("bullets")) {
         $bullets = (int) $bullets;
         // har vi plass til noen kuler?
         if ($this->up->weapon) {
             $kap = $this->up->weapon ? $this->up->weapon->data['bullets'] : 0;
             $free = $kap - $this->up->data['up_weapon_bullets'] - $this->up->data['up_weapon_bullets_auksjon'];
             $bullets = max(0, min($free, $bullets));
             if ($bullets > 0) {
                 if ($give) {
                     // gi kuler
                     \Kofradia\DB::get()->exec("UPDATE users_players SET up_weapon_bullets = up_weapon_bullets + {$bullets} WHERE up_id = {$this->up->id}");
                     $this->up->data['up_weapon_bullets'] += $bullets;
                 }
                 $text[] = fwords("%d kule", "%d kuler", $bullets);
             }
         }
     }
     return sentences_list($text);
 }
예제 #19
0
파일: main.module.php 프로젝트: rigidus/ea
 function publish()
 {
     db::table('pages');
     db::where('page_id', params::get('page_id'));
     db::update('page_pub', params::get('pub'));
 }
예제 #20
0
파일: main.module.php 프로젝트: rigidus/ea
 function _addsection()
 {
     $array = array('section_name' => strip_tags(params::get('section_name')), 'section_year' => params::get('section_year'), 'section_view' => params::isCheck('section_view'));
     db::table('info_sections');
     db::smartInsert($array);
     $section_id = mysql_insert_id();
     headers::action('info', 'main', 'sections');
 }
예제 #21
0
파일: main.module.php 프로젝트: rigidus/ea
 function deleteMethod()
 {
     conf::deleteMethod('tmpls', params::get('tmpl_id'), params::get('app'), params::get('module'), params::get('action'));
 }
예제 #22
0
 /**
  * Construct
  * @param player $up
  * @param int $up_id hvis man ikke har spillerobjekt fra før
  */
 public function __construct(player $up = null, $up_id = null, &$ref = null)
 {
     // lagre referanse?
     if ($ref === true) {
         $ref = $this;
     }
     // har vi spillerobjekt?
     if ($up) {
         $this->up = $up;
     } else {
         $this->up = player::get($up_id);
         if (!$this->up) {
             throw new HSException("Fant ikke gyldig spiller som det var referert til. Oppdragsystemet kan ikke fortsette.");
         }
         $this->up->oppdrag = $this;
     }
     $this->user_active = login::is_active_user($this->up);
     // sjekk om vi er på et aktivt oppdrag
     if ($this->up->params->get("oppdrag")) {
         // hent ut detaljer om oppdraget
         $oppdrag = new params($this->up->params->get("oppdrag"));
         // legg til som oppdrag
         $this->oppdrag[$oppdrag->get("o_id")] = $oppdrag->params;
         $this->load_params();
         // sett som aktivt
         $this->active_set($oppdrag->get("o_id"));
     }
     // sett opp triggere for oppdragene som er tilgjengelige nå
     $this->load_triggers();
 }
예제 #23
0
파일: main.module.php 프로젝트: rigidus/ea
 function addEvent()
 {
     conf::addEvent('menus', params::get('menu_id'), params::get('type'), params::get('mode'), params::get('name'), params::get('value'), params::get('app'), params::get('module'), params::get('action'));
     self::showEvents();
 }
예제 #24
0
파일: class.ff.php 프로젝트: Kuzat/kofradia
 /**
  * Marker en endring utført i forumet slik at den blir synlig i menyen
  */
 public function forum_changed()
 {
     \Kofradia\DB::get()->beginTransaction();
     // hent og lås params for alle medlemmer
     $result = \Kofradia\DB::get()->query("\n\t\t\tSELECT u_id, u_params\n\t\t\tFROM ff_members\n\t\t\t\tJOIN users_players ON ffm_up_id = up_id\n\t\t\t\tJOIN users ON u_id = up_u_id\n\t\t\tWHERE ffm_ff_id = {$this->id} AND ffm_status = 1\n\t\t\tFOR UPDATE");
     while ($u = $result->fetch()) {
         // hopp over den aktive brukeren
         if (login::$logged_in && $u['u_id'] == login::$user->id) {
             continue;
         }
         $params = new params($u['u_params']);
         if (!$params->exists("forums")) {
             continue;
         }
         $container = new container($params->get("forums"));
         foreach ($container->items as $key => $row) {
             if ($row[0] != "ff") {
                 continue;
             }
             if ($row[1] != $this->id) {
                 continue;
             }
             // oppdater
             if (!isset($row[4])) {
                 $row[4] = 0;
             }
             $row[4]++;
             // lagre
             $container->items[$key] = $row;
             $params->update("forums", $container->build());
             \Kofradia\DB::get()->exec("UPDATE users SET u_params = " . \Kofradia\DB::quote($params->build()) . " WHERE u_id = {$u['u_id']}");
             continue;
         }
     }
     // fullfør transaksjon
     \Kofradia\DB::get()->commit();
 }
예제 #25
0
파일: main.module.php 프로젝트: rigidus/ea
 function deleteFilesFile()
 {
     db::table('catalog_items_files');
     db::where('file_id', params::get('file_id'));
     $a = db::assoc();
     if (db::rows() != 0) {
         self::deleteFilesFileForce($a);
     }
 }
예제 #26
0
 /**
  * Hent oversikt over garasjefirmaer
  */
 public function get_ff()
 {
     $ff = array();
     // hent firmaer som leier ut garasjer
     $crew = access::has("mod") ? "" : " AND ff_is_crew = 0";
     $result = \Kofradia\DB::get()->query("\n\t\t\tSELECT ff_id, ff_name, ff_params\n\t\t\tFROM ff\n\t\t\tWHERE ff_type = " . ff::TYPE_GARASJE . " AND ff_inactive = 0{$crew}");
     while ($row = $result->fetch()) {
         $params = new params($row['ff_params']);
         unset($row['ff_params']);
         $row['price'] = $params->get("garasje_price", ff::GTA_GARAGE_PRICE_DEFAULT);
         $ff[$row['ff_id']] = $row;
     }
     return $ff;
 }
예제 #27
0
파일: avis.php 프로젝트: Kuzat/kofradia
    /**
     * Vis informasjon om artikkel
     */
    protected function article_show(ff_avis_artikkel $ffna)
    {
        $more = '';
        // tilbake til "legg til artikkel"
        if (isset($_GET['to_ffn']) && !$ffna->ffn && $this->ff->access(2)) {
            $ffn_id = intval(getval("to_ffn"));
            $more .= ' | <a href="avis?ff_id=' . $this->ff->id . '&amp;u&amp;ffn=' . $ffn_id . '&amp;add_ffna' . (isset($_GET['add_ffna']) ? '&amp;ffna=' . $ffna->id : '') . '">Tilbake</a>';
        }
        // link: redigere
        $more .= $this->ff->mod || !$ffna->ffn || $ffna->ffn->data['ffn_published'] == 0 ? ' | <a href="avis?ff_id=' . $this->ff->id . '&amp;a&amp;ffna=' . $ffna->id . '&amp;edit">Rediger</a>' : '';
        if ($ffna->access_write) {
            // link: slette
            $more .= $ffna->data['ffna_published'] == 0 || $this->ff->mod ? ' | <a href="avis?ff_id=' . $this->ff->id . '&amp;a&amp;ffna=' . $ffna->id . '&amp;delete">Slett</a>' : '';
            // link: publiser/fjern publisering
            $more .= $ffna->data['ffna_published'] == 0 ? ' | <a href="avis?ff_id=' . $this->ff->id . '&amp;a&amp;ffna=' . $ffna->id . '&amp;publish">Publiser</a>' : ($ffna->data['ffna_ffn_id'] == 0 || $this->ff->mod ? ' | <a href="avis?ff_id=' . $this->ff->id . '&amp;a&amp;ffna=' . $ffna->id . '&amp;unpublish">Fjern publisering</a>' : '');
        }
        // link: utgivelse
        $more .= $ffna->data['ffna_ffn_id'] != 0 ? ' | <a href="avis?ff_id=' . $this->ff->id . '&amp;u&amp;ffn=' . $ffna->data['ffna_ffn_id'] . '">Vis utgivelse</a>' : '';
        echo '
<p class="c">' . htmlspecialchars($ffna->data['ffna_title']) . $more . '</p>';
        // er dette en annen sin artikkel?
        if ($ffna->data['ffna_up_id'] != login::$user->player->id) {
            echo '
<p class="c">Denne artikkelen er laget av <user id="' . $ffna->data['ffna_up_id'] . '" /></p>';
        }
        echo '
<div class="section center w250">
	<h2>Artikkelinformasjon</h2>
	<form action="" method="get">';
        foreach ($_GET as $name => $value) {
            if ($name == "pos") {
                continue;
            }
            echo '
		<input type="hidden" name="' . htmlspecialchars($name) . '" value="' . htmlspecialchars($value) . '" />';
        }
        echo '
	<dl class="dd_right">
		<dt>Opprettet</dt>
		<dd>' . ess::$b->date->get($ffna->data['ffna_created_time'])->format() . '</dd>
		<dt>Sist endret</dt>
		<dd>' . ($ffna->data['ffna_updated_time'] == 0 ? 'Aldri' : ess::$b->date->get($ffna->data['ffna_updated_time'])->format()) . '</dd>
		<dt>Publisert</dt>
		<dd>' . ($ffna->data['ffna_published'] == 0 ? 'Nei' : ess::$b->date->get($ffna->data['ffna_published_time'])->format() . '</dd>
		<dt>Salgspris</dt>
		<dd>' . game::format_cash($ffna->data['ffna_price']) . '</dd>
		<dt>Utgivelse</dt>
		<dd>' . ($ffna->data['ffna_ffn_id'] == 0 ? 'Ingen' : '<a href="avis?ff_id=' . $this->ff->id . '&amp;u&amp;ffn=' . $ffna->data['ffna_ffn_id'] . '">' . htmlspecialchars($ffna->ffn->data['ffn_title']) . '</a>' . ($ffna->ffn->data['ffn_published'] == 0 ? ' (ikke publisert)' : ' (publisert ' . ess::$b->date->get($ffna->ffn->data['ffn_published_time'])->format() . ')'))) . '</dd>
		<dt>' . ($ffna->data['ffna_ffn_id'] ? 'Plassering' : 'Forhåndsvisning') . '</dt>
		<dd>';
        // finn ut hvilken template som skal benyttes og vis informasjon
        if ($ffna->data['ffna_ffn_id']) {
            $template = new ff_avis_template($ffna->ffn->data['ffn_template']);
            $template->ffn = $ffna->ffn;
            $template->add_ffna($ffna->data);
            echo htmlspecialchars($template->template['areas'][$ffna->data['ffna_theme_position']]) . '<br />' . htmlspecialchars($template->template['name']);
        } else {
            $ok = false;
            $pos_name = false;
            // egendefinert plassering?
            if (isset($_GET['pos'])) {
                $pos = explode(",", $_GET['pos']);
                if (isset($pos[1]) && isset(ff_avis::$templates[$pos[0]]) && isset(ff_avis::$templates[$pos[0]]['areas'][$pos[1]])) {
                    $ok = true;
                    $template = new ff_avis_template($pos[0]);
                    $pos_name = $pos[1];
                    $template->add_ffna($ffna->data, $pos[1]);
                    // lagre valget
                    $params = new params_update(-1, "ff_newspapers_articles", "ffna_theme_parameters", "ffna_id = {$ffna->data['ffna_id']}");
                    $params->update("template", $template->template_id);
                    \Kofradia\DB::get()->exec("UPDATE ff_newspapers_articles SET ffna_theme_position = " . \Kofradia\DB::quote($pos_name) . " WHERE ffna_id = {$ffna->data['ffna_id']}");
                    $params->commit();
                }
            }
            if (!$ok) {
                // har vi plassering? er plasseringen fremdeles gyldig? (i tilfelle den har vært tilegnet en utgivelse men fjernet fra utgivelsen og fått ny template)
                $params = new params($ffna->data['ffna_theme_parameters']);
                $t = $params->get("template");
                if ($t && isset(ff_avis::$templates[$t]) && isset(ff_avis::$templates[$t]['areas'][$ffna->data['ffna_theme_position']])) {
                    $template = new ff_avis_template($t);
                    $pos_name = $ffna->data['ffna_theme_position'];
                } else {
                    // benytt første template som standard
                    $f = ff_avis::$templates;
                    $k = key($f);
                    $template = new ff_avis_template($k);
                    $pos_name = key($template->template['areas']);
                }
                // legg til artikkelen i templaten
                $template->add_ffna($ffna->data, $pos_name);
            }
            ess::$b->page->add_js_domready('
	document.id("template_pos").addEvent("change", function()
	{
		this.form.submit();
	});');
            echo '
			<select name="pos" id="template_pos">';
            foreach (ff_avis::$templates as $key1 => $row1) {
                echo '
				<optgroup label="' . htmlspecialchars($row1['name']) . '">';
                foreach ($row1['areas'] as $key2 => $row2) {
                    echo '
					<option value="' . htmlspecialchars($key1) . ',' . htmlspecialchars($key2) . '"' . ($template->template_id == $key1 && $pos_name == $key2 ? ' selected="selected"' : '') . '>' . htmlspecialchars($row2) . '</option>';
                }
                echo '
				</optgroup>';
            }
            echo '
			</select>
		';
        }
        // legg til dummytekst på de plasseringene det ikke er artikler
        $template->add_dummy_text();
        echo '</dd>
	</dl>
	</form>
</div>
<h2 class="c">Forhåndsvisning</h2>' . $template->build();
    }
예제 #28
0
파일: ajax.php 프로젝트: rigidus/ea
 function start()
 {
     db::connect();
     if (!router::get(1)) {
         return true;
     }
     self::$map = array('mode' => router::get(0), 'app' => router::get(1), 'module' => 'main', 'action' => router::get(2));
     if (router::get(3)) {
         self::set('module', router::get(2));
         self::set('action', router::get(3));
     }
     s::set('SYS_PATH', 'http://' . SERVER . SYS_DIR);
     define('APP', APPS . self::get('app') . '/');
     s::set('APP', APP);
     define('MODULE', APP . self::get('module') . '/');
     s::set('MODULE', MODULE);
     /*
     	Lang items
     */
     if (self::get('mode') == 'webAjax') {
         web::getSite();
         $lang = lang::gets(LANG_INDEX, SITE_ID);
         /*
         	Authentification webUser
         */
         web::observer();
     } else {
         define('LANG_INDEX', SYS_INDEX);
         $lang = lang::gets(LANG_INDEX);
         admin::observer();
         if (defined('ADMIN_USER_SITE_ID')) {
             define('ADMIN_SITE_ID', ADMIN_USER_SITE_ID);
             s::set('ADMIN_SITE_ID', ADMIN_USER_SITE_ID);
             $group_rules = ini::parse(SYS_ROOT . 'conf/admin/groups.ini', ADMIN_USER_GROUP_ID);
             define('RULE', $group_rules['rule']);
             db::table('admin_sites');
             db::where('site_id', ADMIN_USER_SITE_ID);
             db::limit(1);
             define('ADMIN_SITE', db::get('site_domain'));
             s::set('ADMIN_SITE', ADMIN_SITE);
         }
     }
     /*
     	Set params
     */
     params::send();
     $tmpl = params::get('tmpl');
     $sys = false;
     if (self::get('mode') == 'adminAjax') {
         $sys = true;
     }
     buffer::init(0, self::get('app'), false, $tmpl);
     if (self::get('mode') == 'webAjax') {
         load::handler(self::get('app'), self::get('module'), self::get('action'));
     } else {
         load::module(self::get('app'), self::get('module'), self::get('action'));
     }
     /*
     	Get plugin action
     */
     ob_start();
     /*
     	запуск обработчика с возвратом данных
     	тут два варианта либо данные просто выводим если нет шаблона, а если есть то сначала обрабатываем шаблон
     
     	если буффер полный выводим информацию из него
     */
     $buffer = buffer::gets();
     if ($buffer[0]) {
         if ($sys) {
             buffer::$module = self::get('module');
         }
         $section = params::get('section');
         echo buffer::get($buffer[0]['app'], $buffer[0]['tmpl'], $buffer[0]['data'], $section, $sys);
     }
     $code = ob_get_contents();
     ob_clean();
     s::$mode = 'code';
     s::setTmpl($code, $lang);
     s::display();
 }
예제 #29
0
파일: main.handler.php 프로젝트: rigidus/ea
 function view()
 {
     if (!self::$menu) {
         self::loadSiteMenu();
     }
     $menu_name = params::get('menu');
     if (!isset(self::$menu[$menu_name])) {
         return false;
     }
     $menu_id = self::$menu_id[$menu_name];
     /*
     	Menu conf
     */
     if (!self::$menu_conf) {
         self::$menu_conf = conf::parse('menus');
     }
     $menu = self::$menu[$menu_name][0];
     if (self::$menu_conf) {
         /*
         	Menu pages
         */
         $menu_conf_pages_in = conf::get('menus', 'in', $menu_id);
         $menu_conf_pages_out = conf::get('menus', 'out', $menu_id);
         if (!conf::testPages($menu_conf_pages_out)) {
             if (in_array(PAGE_ID, $menu_conf_pages_out)) {
                 return true;
             }
         } else {
             if (!conf::testPages($menu_conf_pages_in)) {
                 if (!in_array(PAGE_ID, $menu_conf_pages_in)) {
                     return true;
                 }
             }
         }
         /*
         	Menu events
         */
         if (conf::get('menus', 'events', $menu_id)) {
             foreach (conf::get('menus', 'events', $menu_id) as $v) {
                 $arr = explode('::', trim($v));
                 if (events::targetDetect($arr[0], $arr[1], $arr[2])) {
                     /*
                     	:TODO: добавить передачу в params события, его названия и его значения
                     */
                     if ($arr[3] == 'replace') {
                         $menu_id = $arr[4];
                         $menu_name = self::$menu_by_id[$menu_id];
                         $menu = self::$menu[$menu_name][0];
                     } else {
                         if ($arr[3] == 'hide') {
                             return true;
                         }
                     }
                 }
             }
         }
     }
     // $points_conf = conf::parse('points');
     $points = '';
     $i = 0;
     foreach ($menu as $k => $v) {
         $i++;
         /*
         	Points conf
         
         $conf_index = $menu_id.'.'.$v['point_id'];
         
         if ($points_conf)
         {
         	$points_conf_pages = conf::get('points', 'pages', $conf_index);
         
         	if ($points_conf_pages && $points_conf_pages[0] != 0)
         	{
         		if (!in_array(PAGE_ID, $points_conf_pages)) continue;
         	}
         }
         */
         $v = self::getPointLink($v, $menu_name);
         $v['index'] = $i;
         /*
         	Check parents
         */
         if (strstr($v['menu_tmpl_link'], '{POINTS}')) {
             if (isset(self::$menu[$menu_name][$v['point_id']])) {
                 $parent_points = '';
                 foreach (self::$menu[$menu_name][$v['point_id']] as $d => $f) {
                     $f = self::getPointLink($f, $menu_name);
                     $parent_points .= s::parseVars($f['menu_tmpl_link'], $f);
                 }
                 $v['menu_tmpl_link'] = str_replace('{POINTS}', $parent_points, $v['menu_tmpl_link']);
             }
         }
         $points .= s::parseVars($v['menu_tmpl_link'], $v);
         $menu_tmpl = $v['menu_tmpl'];
     }
     buffer::set(str_replace('{POINTS}', $points, $menu_tmpl));
 }
예제 #30
0
파일: main.module.php 프로젝트: rigidus/ea
 function publish()
 {
     db::table('images');
     db::where('img_id', params::get('img_id'));
     db::update('img_set', params::get('pub'));
 }