コード例 #1
1
ファイル: txtrender.php プロジェクト: h16o2u9u/rtoss
function text2etc($text, $CP, $mode = "png", $trans = 1)
{
    global $TTF_LOCATION, $FONT_SIZE;
    //$outputtext = implode('',file($f));
    $outputtext = $text;
    $outputtext = Conv2UTF8($outputtext, 1, $CP);
    $outputtext = str_replace("\r\n", "\n", $outputtext);
    $outputtext = str_replace("\r", "\n", $outputtext);
    $outputtext = str_replace("\n", "\r\n", $outputtext);
    $outputtext = str_replace("<br />", "\r\n", $outputtext);
    $outputtext = str_replace("&nbsp;", " ", $outputtext);
    $outputtext = unhtmlentities($outputtext);
    if ($mode == "png") {
        $dim = imageftbbox($FONT_SIZE, 0, $TTF_LOCATION, $outputtext, array("linespacing" => 1.0));
        #		$dim= imagettfbbox($FONT_SIZE, 0, $TTF_LOCATION, $outputtext);
        $min_x = min($dim[0], $dim[2], $dim[4], $dim[6]);
        $max_x = max($dim[0], $dim[2], $dim[4], $dim[6]);
        $width = $max_x - $min_x + 1;
        $min_y = min($dim[1], $dim[3], $dim[5], $dim[7]);
        $max_y = max($dim[1], $dim[3], $dim[5], $dim[7]);
        $height = $max_y - $min_y + 1;
        $img = imagecreate($width + 1, $height + 1);
        $white = ImageColorAllocate($img, 255, 255, 255);
        if ($trans) {
            $twhite = imagecolortransparent($img, $white);
        }
        $black = ImageColorAllocate($img, 0, 0, 0);
        #		ImageTTFText($img, $FONT_SIZE, 0, -$min_x+$dim[0],-$min_y, $black, $TTF_LOCATION, $outputtext);
        ImageFTText($img, $FONT_SIZE, 0, -$min_x + $dim[0], -$min_y, $black, $TTF_LOCATION, $outputtext, array("linespacing" => 1.0));
        Header("Content-type: image/png");
        ImagePng($img);
        ImageDestroy($img);
    } else {
        if ($mode == "pre") {
            echo "<pre>\n{$outputtext}\n</pre>";
        } else {
            if ($mode == "text") {
                Header("Content-type: text/plain");
                echo utf8Encode($outputtext);
            }
        }
    }
}
コード例 #2
0
ファイル: CaveBookmarks.php プロジェクト: norter/Game
 function getCaveBookmarks($extended = false)
 {
     global $db;
     // init return value
     $result = array();
     $names = array();
     // prepare query
     $sql = $db->prepare("SELECT cb.*, c.name, c.xCoord, c.yCoord, " . "p.playerID, p.name as playerName, p.tribe, " . "r.name as region " . "FROM " . CAVE_BOOKMARKS_TABLE . " cb " . "LEFT JOIN " . CAVE_TABLE . " c ON cb.caveID = c.caveID " . "LEFT JOIN " . PLAYER_TABLE . " p ON c.playerID = p.playerID " . "LEFT JOIN " . REGIONS_TABLE . " r ON c.regionID = r.regionID " . "WHERE cb.playerID = :playerID " . "ORDER BY c.name");
     $sql->bindValue('playerID', $_SESSION['player']->playerID, PDO::PARAM_INT);
     // collect rows
     if ($sql->execute()) {
         while ($row = $sql->fetch(PDO::FETCH_ASSOC)) {
             $row['raw_name'] = unhtmlentities($row['name']);
             $result[] = $row;
             array_push($names, $row['name']);
         }
     }
     if ($extended) {
         $sql = $db->prepare("SELECT c.caveID, c.name, c.xCoord, c.yCoord, " . "p.playerID, p.name as playerName, p.tribe, " . "r.name as region " . "FROM " . CAVE_TABLE . " c " . "LEFT JOIN " . PLAYER_TABLE . " p ON c.playerID = p.playerID " . "LEFT JOIN " . REGIONS_TABLE . " r ON c.regionID = r.regionID " . "WHERE c.playerID = :playerID " . "ORDER BY c.name");
         $sql->bindValue('playerID', $_SESSION['player']->playerID, PDO::PARAM_INT);
         // collect rows
         if ($sql->execute()) {
             while ($row = $sql->fetch(PDO::FETCH_ASSOC)) {
                 if (!in_array($row['name'], $names)) {
                     $row['raw_name'] = unhtmlentities($row['name']);
                     $result[] = $row;
                 }
             }
         }
     }
     return $result;
 }
コード例 #3
0
function code_syntax($output)
{
    $ret = $output[1];
    $ret = wordwrap($ret, 120, "\n", 0);
    $ret = unhtmlentities($ret);
    return "<pre>" . $ret . "</pre>";
}
コード例 #4
0
ファイル: CaveBookmarks.php プロジェクト: agatho/uaenhanced
 function getCaveBookmarks($extended = false)
 {
     global $db, $params;
     // init return value
     $result = array();
     $names = array();
     // prepare query
     $sql = sprintf("SELECT cb.*, c.name, c.xCoord, c.yCoord, " . "p.playerID, p.name as playerName, p.tribe, " . "r.name as region " . "FROM `CaveBookmarks` cb " . "LEFT JOIN `Cave` c ON cb.caveID = c.caveID " . "LEFT JOIN `Player` p ON c.playerID = p.playerID " . "LEFT JOIN `Regions` r ON c.regionID = r.regionID " . "WHERE cb.playerID = '%d' " . "ORDER BY c.name", $params->SESSION->player->playerID);
     // send query
     $dbresult = $db->query($sql);
     // collect rows
     if ($dbresult) {
         while ($row = $dbresult->nextRow(MYSQL_ASSOC)) {
             $row['raw_name'] = unhtmlentities($row['name']);
             $result[] = $row;
             array_push($names, $row['name']);
         }
     }
     if ($extended) {
         $sql = sprintf("SELECT  c.name, c.xCoord, c.yCoord, " . "p.playerID, p.name as playerName, p.tribe, " . "r.name as region " . "FROM `Cave` c " . "LEFT JOIN `Player` p ON c.playerID = p.playerID " . "LEFT JOIN `Regions` r ON c.regionID = r.regionID " . "WHERE c.playerID = '%d'  " . "ORDER BY c.name", $params->SESSION->player->playerID);
         echo "<!-- {$sql} -->";
         // send query
         $dbresult = $db->query($sql);
         // collect rows
         if ($dbresult) {
             while ($row = $dbresult->nextRow(MYSQL_ASSOC)) {
                 if (!in_array($row['name'], $names)) {
                     $row['raw_name'] = unhtmlentities($row['name']);
                     $result[] = $row;
                 }
             }
         }
     }
     return $result;
 }
コード例 #5
0
function tribe_getContent($caveID, $tag)
{
    global $db, $no_resource_flag, $config, $params;
    $no_resource_flag = 1;
    if (!($r = $db->query("SELECT t.*, p.playerID, p.name AS leaderName " . "FROM Tribe t " . "LEFT JOIN Player p " . "ON p.playerID = t.leaderID " . "WHERE t.tag LIKE '{$tag}'"))) {
        page_dberror();
    }
    if (!($row = $r->nextRow(MYSQL_ASSOC))) {
        page_dberror();
    }
    $JuniorAdmin = $targetPlayer = new Player(getPlayerByID($row['juniorLeaderID']));
    $template = tmpl_open($params->SESSION->player->getTemplatePath() . 'tribeDetail.ihtml');
    $row["urltag"] = urlencode(unhtmlentities($tag));
    $row["playerList_modus"] = TRIBE_PLAYER_LIST;
    $row["playerDetail_modus"] = PLAYER_DETAIL;
    $row["tribeHistory_modus"] = TRIBE_HISTORY;
    $row["tribeRelationList_modus"] = TRIBE_RELATION_LIST;
    if (!empty($row['awards'])) {
        $tmp = explode('|', $row['awards']);
        $awards = array();
        foreach ($tmp as $tag) {
            $awards[] = array('tag' => $tag, 'award_modus' => AWARD_DETAIL);
        }
        $row['award'] = $awards;
    }
    foreach ($row as $k => $v) {
        if (!$v) {
            $row[$k] = "k.A.";
        }
    }
    $row['juniorLeaderName'] = $JuniorAdmin->name;
    $row['juniorLeaderID'] = $JuniorAdmin->playerID;
    tmpl_set($template, 'DETAILS', $row);
    return tmpl_parse($template);
}
コード例 #6
0
ファイル: cancel.php プロジェクト: hunter2814/reason_package
 function init()
 {
     if (!empty($this->admin_page->id)) {
         $temp = new entity($this->admin_page->id, false);
         if ($temp->get_value('new') && $temp->get_value('state') == 'Pending' && !$temp->get_value('name') && reason_user_has_privs($this->admin_page->user_id, 'delete_pending')) {
             reason_expunge_entity($this->admin_page->id, $this->admin_page->user_id);
         }
     }
     if (!empty($this->admin_page->request[CM_VAR_PREFIX . 'type_id'])) {
         $old_vars = array();
         foreach ($this->admin_page->request as $key => $val) {
             if (substr($key, 0, strlen(CM_VAR_PREFIX)) == CM_VAR_PREFIX) {
                 $old_vars[substr($key, strlen(CM_VAR_PREFIX))] = $val;
                 $old_vars[$key] = '';
             }
         }
         foreach ($this->admin_page->default_args as $arg) {
             if (!isset($old_vars[$arg])) {
                 $old_vars[$arg] = '';
             }
         }
         $link = $this->admin_page->make_link($old_vars);
     } else {
         $link = $this->admin_page->make_link(array('id' => '', 'site_id' => $this->admin_page->site_id, 'type_id' => $this->admin_page->type_id, 'cur_module' => 'Lister'));
     }
     header('Location: ' . unhtmlentities($link));
     die;
 }
コード例 #7
0
ファイル: editor.php プロジェクト: hunter2814/reason_package
 function init()
 {
     $this->type_entity = new entity($this->admin_page->type_id);
     if (!reason_site_can_edit_type($this->admin_page->site_id, $this->admin_page->type_id)) {
         echo 'This site does not have permission to edit ' . $this->type_entity->get_value('plural_name') . '.';
         die;
     }
     if (empty($this->admin_page->id)) {
         if (reason_user_has_privs($this->admin_page->user_id, 'add')) {
             $new_id = create_entity($this->admin_page->site_id, $this->admin_page->type_id, $this->admin_page->user_id, '', array('entity' => array('state' => 'Pending')));
             header('Location: ' . unhtmlentities($this->admin_page->make_link(array('id' => $new_id), true)));
             die;
         } else {
             echo 'You do not have the privileges needed to add a ' . $this->type_entity->get_value('name');
             die;
         }
     }
     $this->entity = new entity($this->admin_page->id);
     if ($this->_cm_ok_to_run()) {
         $this->_do_admin_page_prep();
         $this->disco_item = $this->_build_content_manager();
     }
     $this->head_items->add_javascript(JQUERY_UI_URL, true);
     $this->head_items->add_javascript(JQUERY_URL, true);
     $this->head_items->add_stylesheet(JQUERY_UI_CSS_URL);
     $this->head_items->add_javascript(WEB_JAVASCRIPT_PATH . 'change_detection.js');
 }
コード例 #8
0
ファイル: takeover.html.php プロジェクト: agatho/uaenhanced
function takeover_getContent($playerID, $caveID, $xCoord = NULL, $yCoord = NULL)
{
    global $config, $params, $resourceTypeList, $TAKEOVERMAXPOPULARITYPOINTS, $TAKEOVERMINRESOURCEVALUE;
    $template = @tmpl_open('templates/' . $config->template_paths[$params->SESSION->user['template']] . '/takeover.ihtml');
    if (getNumberOfCaves($playerID) >= $params->SESSION->user['takeover_max_caves']) {
        tmpl_set($template, 'feedback', "Sie haben bereits die maximale Anzahl von " . $params->SESSION->user['takeover_max_caves'] . " Siedlung(en) erreicht.");
    } else {
        $beliebtheit = $TAKEOVERMAXPOPULARITYPOINTS;
        $mindestgebot = $TAKEOVERMINRESOURCEVALUE;
        $resourcevalues = array();
        for ($i = 0; $i < sizeof($resourceTypeList); ++$i) {
            array_push($resourcevalues, array('dbFieldName' => $resourceTypeList[$i]->dbFieldName, 'name' => $resourceTypeList[$i]->name, 'value' => $resourceTypeList[$i]->takeoverValue));
        }
        tmpl_set($template, 'TAKEOVER', array('beliebtheit' => $beliebtheit, 'maxcaves' => $params->SESSION->user['takeover_max_caves'], 'mindestgebot' => $mindestgebot, 'targetXCoord' => $params->POST->targetXCoord, 'targetYCoord' => $params->POST->targetYCoord, 'RESOURCEVALUE' => $resourcevalues, 'HIDDEN' => array('name' => 'modus', 'value' => TAKEOVER_CHANGE)));
        for ($i = 0; $i < $beliebtheit; ++$i) {
            tmpl_iterate($template, 'TAKEOVER/LEGENDE');
            tmpl_set($template, 'TAKEOVER/LEGENDE/status', $i);
            tmpl_set($template, 'TAKEOVER/LEGENDE', getStatusPic($i));
        }
        if (!($xCoord == "" || $yCoord == "")) {
            // neue Koordinaten
            // 1. pruefen, ob freie Hoehle
            // 2. neuen Eintrag in Cave_takeover (alten ueberschreiben)
            if (changeCaveIfReasonable($playerID, $xCoord, $yCoord)) {
                tmpl_set($template, 'feedback', "Sie bieten nun f&uuml;r die Siedlung in (" . $xCoord . " | " . $yCoord . ").");
            } else {
                tmpl_set($template, 'feedback', "Sie k&ouml;nnen nicht f&uuml;r diese" . " Siedlung (" . $xCoord . " | " . $yCoord . ")." . " bieten. W&auml;hlen sie eine freie Siedlung.");
            }
        }
        $takeover = new Takeover($playerID);
        if (!is_null($takeover)) {
            tmpl_iterate($template, 'TAKEOVER/HIDDEN');
            tmpl_set($template, 'TAKEOVER/HIDDEN', array(array('name' => 'currentXCoord', 'value' => $takeover->xCoord), array('name' => 'currentYCoord', 'value' => $takeover->yCoord)));
            tmpl_context($template, '/TAKEOVER/CHOSEN');
            tmpl_set($template, 'xCoord', $takeover->xCoord);
            tmpl_set($template, 'yCoord', $takeover->yCoord);
            tmpl_set($template, 'caveName', $takeover->caveName);
            tmpl_set($template, $takeover->getStatus());
            tmpl_set($template, 'bewegung', "?modus=" . MOVEMENT . "&caveID=" . $caveID . "&targetXCoord=" . $takeover->xCoord . "&targetYCoord=" . $takeover->yCoord . "&targetCaveName=" . unhtmlentities($takeover->caveName));
            if (sizeof($takeover->resources) != 0) {
                tmpl_context($template, '/TAKEOVER/CHOSEN/RESOURCES/RESOURCE');
                tmpl_set($template, $takeover->resources);
                tmpl_set($template, '../SUM/sum', $takeover->resources_sum);
            } else {
                tmpl_context($template, '/TAKEOVER/CHOSEN/RESOURCES/NONE');
                tmpl_set($template, 'none', 'keine');
            }
            if (sizeof($takeover->bidders) != 0) {
                tmpl_context($template, '/TAKEOVER/CHOSEN/BIDDERS/BIDDER');
                tmpl_set($template, $takeover->bidders);
            } else {
                tmpl_context($template, '/TAKEOVER/CHOSEN/BIDDERS/NOONE');
                tmpl_set($template, 'noone', 'niemand');
            }
        }
    }
    return tmpl_parse($template);
}
コード例 #9
0
 function dataHandler(&$parser, $data)
 {
     //            $GLOBALS['word'][$this->i]['data'] = $data;
     //            $this->i++;
     if (!in_array('HA-spellcheck-fixed', $this->attrs)) {
         $beforeword = substr($text, 0, $this->start_pos);
         $afterword = substr($text, $this->start_pos + strlen($data) + 1);
         $GLOBALS['text'] = str_replace($data, text_handler(unhtmlentities($data)), $GLOBALS['text']);
     }
     //if
 }
コード例 #10
0
 function init()
 {
     if (!reason_user_has_privs($this->admin_page->user_id, 'borrow')) {
         die('You do not have privileges to borrow or unborrow items');
     }
     $this->set_borrowship_first_level();
     if ($this->admin_page->is_second_level()) {
         $this->add_relationship_second_level();
     }
     $link = unhtmlentities($this->admin_page->make_link(array('cur_module' => 'Sharing', 'id' => '')));
     header('Location: ' . $link);
     die;
 }
コード例 #11
0
ファイル: sorter.php プロジェクト: hunter2814/reason_package
 function init()
 {
     $es = $this->get_entity_selector();
     $this->values = $es->run_one();
     if ($this->is_new()) {
         $this->get_links();
         if (count($this->links) == 1) {
             $l = unhtmlentities(current($this->links));
             header('Location: ' . $l);
             die;
         }
     }
 }
コード例 #12
0
/**
 * Handle error/warning/system messages.
 * Print a message
 * @param $messagetype (string) Type of message:  0=no message, message; warning; error.
 * @param $messagetoprint (string)  message to print.
 * @param $exit (bool) if true output a message and terminate the current script [default = false].
 */
function F_print_error($messagetype = 'MESSAGE', $messagetoprint = '', $exit = false)
{
    require_once dirname(__FILE__) . '/../config/tce_config.php';
    global $l;
    $messagetype = strtolower($messagetype);
    //message is appended to the log file
    if (K_USE_ERROR_LOG and !strcmp($messagetype, 'error')) {
        $logsttring = date(K_TIMESTAMP_FORMAT) . K_TAB;
        $logsttring .= $_SESSION['session_user_id'] . K_TAB;
        $logsttring .= $_SESSION['session_user_ip'] . K_TAB;
        $logsttring .= $messagetype . K_TAB;
        $logsttring .= $_SERVER['SCRIPT_NAME'] . K_TAB;
        $logsttring .= $messagetoprint . K_NEWLINE;
        error_log($logsttring, 3, '../log/tce_errors.log');
    }
    if (strlen($messagetoprint) > 0) {
        switch ($messagetype) {
            case 'message':
                $msgtitle = $l['t_message'];
                break;
            case 'warning':
                $msgtitle = $l['t_warning'];
                break;
            case 'error':
                $msgtitle = $l['t_error'];
                break;
            default:
                //no message
                $msgtitle = $messagetype;
                break;
        }
        echo '<div class="' . $messagetype . '">' . $msgtitle . ': ' . $messagetoprint . '</div>' . K_NEWLINE;
        if (K_ENABLE_JSERRORS) {
            //display message on JavaScript Alert Window.
            echo '<script type="text/javascript">' . K_NEWLINE;
            echo '//<![CDATA[' . K_NEWLINE;
            $messagetoprint = unhtmlentities(strip_tags($messagetoprint));
            $messagetoprint = str_replace("'", "\\'", $messagetoprint);
            echo 'alert(\'[' . $msgtitle . ']: ' . $messagetoprint . '\');' . K_NEWLINE;
            echo '//]]>' . K_NEWLINE;
            echo '</script>' . K_NEWLINE;
        }
    }
    if ($exit) {
        exit;
        // terminate the current script
    }
}
コード例 #13
0
function show_adressbook($playerID, $deleteID)
{
    global $buildingTypeList, $defenseSystemTypeList, $resourceTypeList, $unitTypeList, $config, $params, $db;
    // messages
    $messageText = array(0 => "Spieler wurde eingetragen.", 1 => "Es gibt keinen Spieler mit diesem Namen.", 2 => "Dieser Spieler ist schon in der Liste.", 3 => "Spieler aus der Liste gel&ouml;scht.", 4 => "Spieler konnte nicht aus der Liste entfernt werden.", 5 => "Verarsch mich nicht!", 6 => "Datenbank Fehler.");
    // enter something new
    if (isset($params->POST->empfaenger)) {
        $messageID = book_newEntry($playerID, $params->POST->empfaenger);
    }
    if (isset($params->POST->newEntryName)) {
        $messageID = book_newEntry($playerID, $params->POST->newEntryName);
    } else {
        if ($deleteID > 0) {
            $messageID = book_deleteEntry($playerID, $deleteID);
        }
    }
    $template = @tmpl_open("./templates/" . $config->template_paths[$params->SESSION->user['template']] . "/message_book.ihtml");
    // Show a special message
    if (isset($messageID)) {
        tmpl_set($template, '/MESSAGE/message', $messageText[$messageID]);
    }
    // Getting entries
    // call our function
    $playerlist = book_getEntries($playerID);
    // Show the player table
    for ($i = 0; $i < sizeof($playerlist[id]); $i++) {
        $playername = $playerlist[name][$i];
        // the current playername
        $tribe = $playerlist[tribe][$i];
        // the current tribe
        $tribelink = "<a href=\"main.php?modus=" . TRIBE_DETAIL . "&tribe=" . urlencode(unhtmlentities($tribe)) . "\" target=\"_blank\">";
        if ($tribe != "") {
            $tribe = "(" . $tribe . ")";
        }
        $playerID = $playerlist[id][$i];
        $link = "<a href=\"main.php?modus=" . NEW_MESSAGE . "&amp;playerID=" . $playername . "\">";
        tmpl_iterate($template, '/PLAYER');
        tmpl_set($template, "PLAYER/alternate", $count++ % 2 ? "alternate" : "");
        if ($playername != "Spieler nicht auffindbar") {
            tmpl_set($template, "PLAYER/LINK/link", $link);
        }
        tmpl_set($template, 'PLAYER', array('name' => $playername, 'tribe' => $tribe, 'tribelink' => $tribelink, 'playerID' => $playerID, 'modus' => NEW_MESSAGE, 'modus_delete' => MESSAGE_BOOK_DELETE));
    }
    if (sizeof($playerlist) < 1) {
        tmpl_set($template, "NOPLAYER/dummy", "");
    }
    return tmpl_parse($template);
}
コード例 #14
0
/**
 * Convert HTML code to Text string.
 * @param $str (string) HTML code string to convert.
 * @param $preserve_newlines (boolean) If true convert newline characters to HTML line breaks.
 * @param $display_links (boolean) If true gives a textual representation of links and images.
 * @return text string
 */
function F_html_to_text($str, $preserve_newlines = false, $display_links = false)
{
    require_once '../../shared/code/tce_functions_general.php';
    $dollar_replacement = ":.dlr.:";
    //string replacement for dollar symbol
    //tags conversion table
    $tags2textTable = array("'<br[^>]*?>'i" => "\n", "'<p[^>]*?>'i" => "\n", "'</p>'i" => "\n", "'<div[^>]*?>'i" => "\n", "'</div>'i" => "\n", "'<table[^>]*?>'i" => "\n", "'</table>'i" => "\n", "'<tr[^>]*?>'i" => "\n", "'<th[^>]*?>'i" => "\t ", "'<td[^>]*?>'i" => "\t ", "'<li[^>]*?>\t'i" => "\n", "'<h[0-9][^>]*?>'i" => "\n\n", "'</h[0-9]>'i" => "\n", "'<head[^>]*?>.*?</head>'si" => "\n", "'<style[^>]*?>.*?</style>'si" => "\n", "'<script[^>]*?>.*?</script>'si" => "\n");
    $str = str_replace("\r\n", "\n", $str);
    $str = str_replace("\$", $dollar_replacement, $str);
    //replace special character
    //remove session variable PHPSESSID from links
    $str = preg_replace("/(\\?|\\&|%3F|%26|\\&amp;|%26amp%3B)PHPSESSID(=|%3D)[a-z0-9]{32,32}/i", "", $str);
    //remove applet and get alternative content
    $str = preg_replace("/<applet[^>]*?>(.*?)<\\/applet>/esi", "preg_replace(\"/<param[^>]*>/i\", \"\", \"\\1\")", $str);
    //remove object and get alternative content
    $str = preg_replace("/<object[^>]*?>(.*?)<\\/object>/esi", "preg_replace(\"/<param[^>]*>/i\", \"\", \"\\1\")", $str);
    //indent list elements
    $firstposition = 0;
    while (($pos = strpos($str, "<ul")) > $firstposition) {
        $str = preg_replace("/<ul[^>]*?>(.*?)<\\/ul>/esi", "preg_replace(\"/<li[^>]*>/i\", \"<li>\t\", \"\\1\")", $str);
        $firstposition = $pos;
    }
    $firstposition = 0;
    while (($pos = strpos($str, "<ol")) > $firstposition) {
        $str = preg_replace("/<ol[^>]*?>(.*?)<\\/ol>/esi", "preg_replace(\"/<li[^>]*>/i\", \"<li>\t\", \"\\1\")", $str);
        $firstposition = $pos;
    }
    $str = preg_replace("'<img[^>]*alt[\\s]*=[\\s]*[\"\\']*([^\"\\'<>]*)[\"\\'][^>]*>'i", "[IMAGE: \\1]", $str);
    // give a textual representation of links and images
    if ($display_links) {
        $str = preg_replace("'<a[^>]*href[\\s]*=[\\s]*[\"\\']*([^\"\\'<>]*)[\"\\'][^>]*>(.*?)</a>'si", "\\2 [LINK: \\1]", $str);
    }
    if (!$preserve_newlines) {
        //remove newlines
        $str = str_replace("\n", "", $str);
    }
    $str = preg_replace(array_keys($tags2textTable), array_values($tags2textTable), $str);
    $str = preg_replace("'<[^>]*?>'si", "", $str);
    //strip out remaining tags
    //remove some newlines in excess
    $str = preg_replace("'[ \t\f]+[\r\n]'si", "\n", $str);
    $str = preg_replace("'[\r\n][\r\n]+'si", "\n\n", $str);
    $str = unhtmlentities($str, FALSE);
    $str = str_replace($dollar_replacement, "\$", $str);
    //restore special character
    return stripslashes(trim($str));
}
コード例 #15
0
 function init()
 {
     $this->admin_page->set_show('leftbar', false);
     if (empty($this->admin_page->id)) {
         $this->_not_undeletable_reason = 'no_id_provided';
         return false;
     }
     if (!reason_user_has_privs($this->admin_page->user_id, 'publish')) {
         $this->_not_undeletable_reason = 'insufficient_privileges';
         return false;
     }
     $item = new entity($this->admin_page->id);
     $user = new entity($this->admin_page->user_id);
     if (!$item->user_can_edit_field('state', $user)) {
         $this->_not_undeletable_reason = 'state_field_locked';
         return false;
     }
     if ($item->get_value('state') != 'Deleted') {
         $this->_not_undeletable_reason = 'not_deleted_yet';
         return false;
     }
     reason_update_entity($this->admin_page->id, $this->admin_page->user_id, array('state' => 'Live'), false);
     if ($this->admin_page->type_id == id_of('minisite_page')) {
         // zap nav cache so it reappears.
         reason_include_once('classes/object_cache.php');
         $cache = new ReasonObjectCache($this->admin_page->site_id . '_navigation_cache');
         $cache->clear();
     }
     $manager_site_id = $this->admin_page->site_id;
     if ($item->get_value('type') == id_of('site')) {
         $manager_site_id = $item->id();
     }
     //Updates the rewrites to prevent infinite redirection loop.
     reason_include_once('classes/url_manager.php');
     $urlm = new url_manager($manager_site_id);
     $urlm->update_rewrites();
     $link = unhtmlentities($this->admin_page->make_link(array('cur_module' => 'Lister', 'id' => '', 'state' => 'deleted')));
     header('Location: ' . $link);
     die;
 }
コード例 #16
0
ファイル: alerts.php プロジェクト: WhiteNeo/MyAlerts
/**
 * Handle a request to view a single alert by marking the alert read and
 * forwarding on to the correct location.
 *
 * @param MyBB       $mybb MyBB core object.
 * @param MyLanguage $lang Language object.
 */
function myalerts_redirect_alert($mybb, $lang)
{
    $alertId = $mybb->get_input('id', MyBB::INPUT_INT);
    /** @var MybbStuff_MyAlerts_Entity_Alert $alert */
    $alert = MybbStuff_MyAlerts_AlertManager::getInstance()->getAlert($alertId);
    if ($alert === null) {
        header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found');
        error($lang->myalerts_error_alert_not_found);
        return;
    }
    /** @var MybbStuff_MyAlerts_Formatter_AbstractFormatter $alertTypeFormatter */
    $alertTypeFormatter = MybbStuff_MyAlerts_AlertFormatterManager::getInstance()->getFormatterForAlertType($alert->getType()->getCode());
    if (!$alert || !$alertTypeFormatter) {
        error($lang->myalerts_error_alert_not_found);
    }
    MybbStuff_MyAlerts_AlertManager::getInstance()->markRead(array($alertId));
    $redirectLink = unhtmlentities($alertTypeFormatter->buildShowLink($alert));
    if (empty($redirectLink)) {
        $redirectLink = $mybb->settings['bburl'] . '/alerts.php';
    }
    header('Location: ' . $redirectLink);
}
コード例 #17
0
 /**
  * Lists the current and available themes (if appropriate to do so) otherwise, changes the theme
  * if the user has selected a new one
  * 
  * @return void
  */
 function run()
 {
     if (!empty($this->admin_page->request['chosen_theme'])) {
         if ($this->self_change) {
             //create a relationship of type site_has_had_theme (if needed)
             $oldies = $this->get_previously_selected_themes();
             $site_type_themes = $this->get_site_type_themes(false);
             $e = $this->get_current_theme();
             if ($e) {
                 if (!entity_in_array($oldies, $e->id()) and !entity_in_array($site_type_themes, $e->id())) {
                     create_relationship($this->admin_page->site_id, $e->id(), relationship_id_of('site_has_had_theme'));
                 }
             }
             //do relationship adding/deleting
             delete_relationships(array('entity_a' => $this->admin_page->site_id, 'type' => relationship_id_of('site_to_theme')));
             create_relationship($this->admin_page->site_id, $this->admin_page->request['chosen_theme'], relationship_id_of('site_to_theme'));
         }
         $link = $this->admin_page->make_link(array('cur_module' => 'ChooseTheme', 'chosen_theme' => ''));
         header('Location: ' . unhtmlentities($link));
     } else {
         $this->list_available_themes();
     }
 }
コード例 #18
0
ファイル: takeover.html.php プロジェクト: microlefes/Game
/**
 *
 */
function takeover_getBidding($caveCount = 0)
{
    global $db;
    // prepare query
    $sql = $db->prepare("SELECT * FROM " . CAVE_TAKEOVER_TABLE . " WHERE playerID = :playerID");
    $sql->bindValue('playerID', $_SESSION['player']->playerID, PDO::PARAM_INT);
    // return NULL on error or if recordSet is empty, as there is no bidding
    if (!$sql->execute()) {
        return NULL;
    }
    // fetch row
    $row = $sql->fetch();
    if (!$row) {
        return NULL;
    }
    // fill return value
    $bidding = array('caveID' => $row['caveID'], 'xCoord' => $row['xCoord'], 'yCoord' => $row['yCoord'], 'status' => $row['status'], 'caveName' => $row['name'], 'uh_caveName' => unhtmlentities($row['name']));
    // get own status
    $bidding += takeover_getStatusPic($row['status']);
    // get sent resources
    $sum = 0;
    $resources = array();
    foreach ($GLOBALS['resourceTypeList'] as $resource) {
        $amount = $row[$resource->dbFieldName];
        if ($amount > 0) {
            $resources[] = array('name' => $resource->name, 'value' => $amount);
            $sum += $amount * $resource->takeoverValue;
        }
    }
    // merge $resources with bidding
    if (sizeof($resources)) {
        $bidding['resource'] = $resources;
        $bidding['sum'] = $sum;
        $bidding['proportion'] = $sum > 0 && $caveCount > 0 ? round($sum / (200 * pow($caveCount, 2)), 3) : 0;
    }
    // get other bidders
    $bidders = array();
    $sql = $db->prepare("SELECT p.name, p.playerID, ct.status \n                       FROM " . CAVE_TAKEOVER_TABLE . " ct, Player p \n                       WHERE caveID = :caveID AND ct.playerID = p.playerID \n                       AND ct.playerID != :playerID");
    $sql->bindValue('caveID', $row['caveID'], PDO::PARAM_INT);
    $sql->bindValue('playerID', $_SESSION['player']->playerID, PDO::PARAM_INT);
    if ($sql->execute()) {
        while ($row = $sql->fetch()) {
            $temp = array('playername' => $row['name'], 'playerID' => $row['playerID']);
            $temp += takeover_getStatusPic($row['status']);
            $bidders[] = $temp;
        }
    }
    // merge $bidders with bidding
    if (sizeof($bidders)) {
        $bidding['bidder'] = $bidders;
    }
    return $bidding;
}
コード例 #19
0
ファイル: expunge.php プロジェクト: hunter2814/reason_package
 function run()
 {
     if ($this->expungable) {
         $this->disco_item->run();
     } else {
         switch ($this->_not_expungable_reason) {
             case 'no_id_provided':
                 echo '<p>Unable to expunge item. Item may already have been expunged (sometimes this happens if you click twice on the expunge button)</p>';
                 return false;
             case 'state_field_locked':
                 echo '<p>This item has been locked, preventing it from being expunged. Please contact an administrator if it is important to expunge this item.</p>';
                 return false;
             case 'insufficient_privileges':
                 echo '<p>You do not have the privileges to expunge this item.</p>';
                 return false;
             case 'not_deleted_yet':
                 echo '<p>This item cannot be expunged because it has not been deleted yet</p>';
                 return false;
             case 'dependencies':
                 $link = unhtmlentities($this->admin_page->make_link(array('cur_module' => 'NoDelete')));
                 header('Location: ' . $link);
                 die;
             default:
                 trigger_error('Unknown reason given for not being able to expunge item: ' . $this->_not_expungable_reason);
                 echo '<p>Not able to expunge item</p>';
                 return false;
         }
     }
 }
コード例 #20
0
ファイル: function.spider.php プロジェクト: edmundwong/V604
function rules_get_article($content, $rules_info)
{
    $url = $_GET['url'];
    $rules_info = pstripslashes($rules_info);
    $rules_info['title_filter_rules'] = dstripslashes(unserialize($rules_info['title_filter_rules']));
    $rules_info['content_filter_rules'] = dstripslashes(unserialize($rules_info['content_filter_rules']));
    require_once libfile('function/home');
    //先取标题
    if ($rules_info['theme_get_type'] == 3) {
        //智能识别
        $data = get_single_article($content);
    } else {
        if ($rules_info['theme_get_type'] == 1) {
            //dom获取
            $data = dom_single_article($content, array('title' => $rules_info['theme_rules']));
        } else {
            if ($rules_info['theme_get_type'] == 2) {
                //字符串
                $re = pregmessage($content, '<title>[title]</title>', 'title', -1);
                $data['other']['old_title'] = $re[0];
                $re = pregmessage($content, $rules_info['theme_rules'], 'title', -1);
                $data['title'] = $re[0];
            }
        }
    }
    if (!trim($data['title'])) {
        return $data;
    }
    //如果标题都取不到,不必浪费时间获取内容
    $data['content'] = rules_get_contents($content, $rules_info);
    if ($rules_info['content_page_rules'] && $data['content']) {
        //分页文章
        $content_page_arr = get_content_page($url, $content, $rules_info);
        if ($content_page_arr) {
            $args = array('oldurl' => array(), 'content_arr' => array(), 'content_page_arr' => $content_page_arr, 'page_hash' => array(), 'rules' => $rules_info, 'url' => $url);
            $data['content_arr'] = page_get_content($content, $args);
            foreach ((array) $data['content_arr'] as $k => $v) {
                $content_arr[] = $v['content'];
            }
            $data['content'] = implode('', $content_arr);
        }
    }
    $data['title'] = unhtmlentities(strip_tags($data['title'], '&nbsp;'));
    $data['content'] = unhtmlentities($data['content']);
    $data['title'] = getstr(trim($data['title']), 80, 1, 1, 0, 1);
    $data['content'] = getstr($data['content'], 0, 1, 1, 0, 1);
    //print_r($data);
    //处理文章标题和内容,包括替换和过滤
    $format_args_title = array('is_fiter' => $rules_info['is_fiter_title'], 'show_type' => 'title', 'test' => 2, 'result_data' => $data['title'], 'replace_rules' => $rules_info['title_replace_rules'], 'filter_data' => $rules_info['title_filter_rules']);
    $data['title'] = filter_article($format_args_title);
    $data['content'] = dstripslashes($data['content']);
    $format_args_content = array('is_fiter' => $rules_info['is_fiter_content'], 'show_type' => 'title', 'test' => 2, 'filter_html' => dunserialize($rules_info['content_filter_html']), 'result_data' => $data['content'], 'replace_rules' => $rules_info['content_replace_rules'], 'filter_data' => $rules_info['content_filter_rules']);
    $data['content'] = filter_article($format_args_content);
    //$data['content'] = dz_attach_format($url, $data['content']);
    $format_arr = format_article_imgurl($url, $data['content']);
    $data['content'] = $format_arr['message'];
    //$data['content'] = media_htmlbbcode($data['content'], $url);
    unset($data['other']);
    return $data;
}
コード例 #21
0
ファイル: parserss.php プロジェクト: rhertzog/lcs
	function parseRSS($backendURL,$limit,$englobantdebut,$englobantfin,$donnee1,$donnee2,$donnee3) {
	//SE: Affiche donnee1 ,donnee2, donnee3 
	// donnee1 est une balise choisie. Par exemple <title>
	// donnee2 est une balise choisie. Par exemple <link>
	// donnee3 est une balise choisie. Par exemple <date>
	// englobantdebut et fin est une balise englobante. Par exemple <item> et </item>
	// La fonction affichera le contenu des balises donnee1 et donnee2 et optionnellement donnee3,
	// à la condition que donnee1,donnee2,donnee3 soit situées à l'intérieur de la balise englobante.
	// limit est le nombre de couple donnee1/donnee2
	// backendURL est l'url de l'interface xml.
	
	$englobant_debut = $englobantdebut;
	$englobant_fin = $englobantfin;
	$donnee1_debut = $donnee1;
	$donnee1_fin = "</".substr ($donnee1,1);
	$donnee2_debut = $donnee2;
	$donnee2_fin = "</".substr ($donnee2,1);
	if (!empty($donnee3)) {
		$donnee3_debut = $donnee3;
		$donnee3_fin = "</".substr ($donnee3,1);
	};
	
	 $file = fopen( $backendURL, "r");
	 if( $file ) {
		$raw = fread( $file, 32000 );
		fclose( $file );
		
		$param = $englobant_debut."(.*)".$englobant_fin;
		if( eregi($param, $raw, $rawitems ) ) {
			$items = explode($englobant_debut, $rawitems[0]);
			$nb = count($items );
			$max = (($nb-1) < $limit) ? ($nb-1) : $limit;
			
			$param1=$donnee1_debut."(.*)".$donnee1_fin;
			$param2=$donnee2_debut."(.*)".$donnee2_fin;
			if (!empty($donnee3)) {
				$param3=$donnee3_debut."(.*)".$donnee3_fin;
				};
			
			for( $i = 0; $i < $max; $i++ ) {
				eregi($param1,$items[$i+1], $d1 );
				eregi($param2,$items[$i+1], $d2 );
				if (!empty($donnee3)) {
					eregi($param3,$items[$i+1], $d3 );
					};
				
				if (!empty ($donnee3)) {
					echo "<a href=\"".$d1[1]."\" target=\"_blank\"><b>".stripslashes(unhtmlentities($d2[1]))."</b></a> [<i>".stripslashes(unhtmlentities($d3[1]))."</i>]<br/>";
				} else {
					echo "<a href=\"".$d1[1]."\" target=\"_blank\"><b>".stripslashes(unhtmlentities($d2[1]))."</b></a><br/>";
				}
			}
		}
	 }
	}
コード例 #22
0
ファイル: bull_func.lib.php プロジェクト: alhousseyni/gepi
function releve_pdf_20090429($tab_rel, $i)
{
    global $annee_scolaire, $gepi_cpe_suivi, $RneEtablissement, $gepiSchoolName, $gepiSchoolAdress1, $gepiSchoolAdress2, $gepiSchoolZipCode, $gepiSchoolCity, $gepiSchoolPays, $gepiSchoolTel, $gepiSchoolFax, $gepiYear, $logo_etab, $un_seul_bull_par_famille, $X_cadre_eleve, $cadre_titre, $X_entete_etab, $caractere_utilse, $affiche_logo_etab, $entente_mel, $entente_tel, $entente_fax, $L_max_logo, $H_max_logo, $active_bloc_adresse_parent, $X_parent, $Y_parent, $annee_scolaire, $X_cadre_eleve, $titre_du_cadre, $largeur_cadre_matiere, $texte_observation, $cadre_titre, $largeur_cadre_note_global, $hauteur_dun_regroupement, $hauteur_du_titre, $largeur_cadre_note, $X_cadre_note, $hauteur_cachet, $tab_modele_pdf, $pdf;
    $id_classe = $tab_rel['id_classe'];
    $classe_id = $id_classe;
    // Préparation des lignes d'adresse
    // Initialisation:
    for ($loop = 0; $loop <= 1; $loop++) {
        $tab_adr_ligne1[$loop] = "";
        $tab_adr_ligne2[$loop] = "";
        $tab_adr_ligne3[$loop] = "";
        $tab_adr_ligne4[$loop] = "";
        $tab_adr_ligne5[$loop] = "";
        $tab_adr_ligne6[$loop] = "";
    }
    // ON N'UTILISE PAS LE CHAMP adr4 DE L'ADRESSE DANS resp_adr
    // IL FAUDRA VOIR COMMENT LE RECUPERER
    if (!isset($tab_rel['eleve'][$i]['resp'][0])) {
        //$tab_adr_ligne1[0]="<font color='red'><b>ADRESSE MANQUANTE</b></font>";
        $tab_adr_ligne1[0] = "ADRESSE MANQUANTE";
        $tab_adr_ligne2[0] = "";
        $tab_adr_ligne3[0] = "";
        $tab_adr_ligne4[0] = "";
        $tab_adr_ligne5[0] = "";
    } else {
        if (isset($tab_rel['eleve'][$i]['resp'][1])) {
            if (isset($tab_rel['eleve'][$i]['resp'][1]['adr1']) && isset($tab_rel['eleve'][$i]['resp'][1]['adr2']) && isset($tab_rel['eleve'][$i]['resp'][1]['adr3']) && isset($tab_rel['eleve'][$i]['resp'][1]['adr4']) && isset($tab_rel['eleve'][$i]['resp'][1]['cp']) && isset($tab_rel['eleve'][$i]['resp'][1]['commune'])) {
                // Le deuxième responsable existe et est renseigné
                if ($tab_rel['eleve'][$i]['resp'][0]['adr_id'] == $tab_rel['eleve'][$i]['resp'][1]['adr_id'] or $tab_rel['eleve'][$i]['resp'][0]['adr1'] == $tab_rel['eleve'][$i]['resp'][1]['adr1'] && $tab_rel['eleve'][$i]['resp'][0]['adr2'] == $tab_rel['eleve'][$i]['resp'][1]['adr2'] && $tab_rel['eleve'][$i]['resp'][0]['adr3'] == $tab_rel['eleve'][$i]['resp'][1]['adr3'] && $tab_rel['eleve'][$i]['resp'][0]['adr4'] == $tab_rel['eleve'][$i]['resp'][1]['adr4'] && $tab_rel['eleve'][$i]['resp'][0]['cp'] == $tab_rel['eleve'][$i]['resp'][1]['cp'] && $tab_rel['eleve'][$i]['resp'][0]['commune'] == $tab_rel['eleve'][$i]['resp'][1]['commune']) {
                    // Les adresses sont identiques
                    $nb_bulletins = 1;
                    if ($tab_rel['eleve'][$i]['resp'][0]['nom'] != $tab_rel['eleve'][$i]['resp'][1]['nom'] && $tab_rel['eleve'][$i]['resp'][1]['nom'] != "") {
                        // Les noms des responsables sont différents
                        $tab_adr_ligne1[0] = $tab_rel['eleve'][$i]['resp'][0]['civilite'] . " " . $tab_rel['eleve'][$i]['resp'][0]['nom'] . " " . $tab_rel['eleve'][$i]['resp'][0]['prenom'] . " et " . $tab_rel['eleve'][$i]['resp'][1]['civilite'] . " " . $tab_rel['eleve'][$i]['resp'][1]['nom'] . " " . $tab_rel['eleve'][$i]['resp'][1]['prenom'];
                        /*
                        $tab_adr_ligne1[0]=$tab_rel['eleve'][$i]['resp'][0]['civilite']." ".$tab_rel['eleve'][$i]['resp'][0]['nom']." ".$tab_rel['eleve'][$i]['resp'][0]['prenom'];
                        //$tab_adr_ligne1[0].=" et ";
                        $tab_adr_ligne1[0].="<br />\n";
                        $tab_adr_ligne1[0].="et ";
                        $tab_adr_ligne1[0].=$tab_rel['eleve'][$i]['resp'][1]['civilite']." ".$tab_rel['eleve'][$i]['resp'][1]['nom']." ".$tab_rel['eleve'][$i]['resp'][1]['prenom'];
                        */
                    } else {
                        if ($tab_rel['eleve'][$i]['resp'][0]['civilite'] != "" && $tab_rel['eleve'][$i]['resp'][1]['civilite'] != "") {
                            $tab_adr_ligne1[0] = $tab_rel['eleve'][$i]['resp'][0]['civilite'] . " et " . $tab_rel['eleve'][$i]['resp'][1]['civilite'] . " " . $tab_rel['eleve'][$i]['resp'][0]['nom'] . " " . $tab_rel['eleve'][$i]['resp'][0]['prenom'];
                        } else {
                            $tab_adr_ligne1[0] = "M. et Mme " . $tab_rel['eleve'][$i]['resp'][0]['nom'] . " " . $tab_rel['eleve'][$i]['resp'][0]['prenom'];
                        }
                    }
                    $tab_adr_ligne2[0] = $tab_rel['eleve'][$i]['resp'][0]['adr1'];
                    if ($tab_rel['eleve'][$i]['resp'][0]['adr2'] != "") {
                        $tab_adr_ligne3[0] = $tab_rel['eleve'][$i]['resp'][0]['adr2'];
                    }
                    if ($tab_rel['eleve'][$i]['resp'][0]['adr3'] != "") {
                        $tab_adr_ligne4[0] = $tab_rel['eleve'][$i]['resp'][0]['adr3'];
                    }
                    //if($tab_rel['eleve'][$i]['resp'][0]['adr4']!=""){
                    //	$tab_adr_ligne2[0]=$tab_rel['eleve'][$i]['resp'][0]['adr4'];
                    //}
                    $tab_adr_ligne5[0] = $tab_rel['eleve'][$i]['resp'][0]['cp'] . " " . $tab_rel['eleve'][$i]['resp'][0]['commune'];
                    if ($tab_rel['eleve'][$i]['resp'][0]['pays'] != "" && my_strtolower($tab_rel['eleve'][$i]['resp'][0]['pays']) != my_strtolower($gepiSchoolPays)) {
                        $tab_adr_ligne6[0] = $tab_rel['eleve'][$i]['resp'][0]['pays'];
                    }
                } else {
                    // Les adresses sont différentes
                    //if ($un_seul_bull_par_famille!="oui") {
                    // On teste en plus si la deuxième adresse est valide
                    if ($un_seul_bull_par_famille != "oui" && $tab_rel['eleve'][$i]['resp'][1]['adr1'] != "" && $tab_rel['eleve'][$i]['resp'][1]['commune'] != "") {
                        $nb_bulletins = 2;
                    } else {
                        $nb_bulletins = 1;
                    }
                    for ($cpt = 0; $cpt < $nb_bulletins; $cpt++) {
                        if ($tab_rel['eleve'][$i]['resp'][$cpt]['civilite'] != "") {
                            $tab_adr_ligne1[$cpt] = $tab_rel['eleve'][$i]['resp'][$cpt]['civilite'] . " " . $tab_rel['eleve'][$i]['resp'][$cpt]['nom'] . " " . $tab_rel['eleve'][$i]['resp'][$cpt]['prenom'];
                        } else {
                            $tab_adr_ligne1[$cpt] = $tab_rel['eleve'][$i]['resp'][$cpt]['nom'] . " " . $tab_rel['eleve'][$i]['resp'][$cpt]['prenom'];
                        }
                        $tab_adr_ligne2[$cpt] = $tab_rel['eleve'][$i]['resp'][$cpt]['adr1'];
                        if ($tab_rel['eleve'][$i]['resp'][$cpt]['adr2'] != "") {
                            $tab_adr_ligne3[$cpt] = $tab_rel['eleve'][$i]['resp'][$cpt]['adr2'];
                        }
                        if ($tab_rel['eleve'][$i]['resp'][$cpt]['adr3'] != "") {
                            $tab_adr_ligne4[$cpt] = $tab_rel['eleve'][$i]['resp'][$cpt]['adr3'];
                        }
                        /*
                        if($tab_rel['eleve'][$i]['resp'][$cpt]['adr4']!=""){
                        	$tab_adr_ligne2[$cpt].="<br />\n".$tab_rel['eleve'][$i]['resp'][$cpt]['adr4'];
                        }
                        */
                        $tab_adr_ligne5[$cpt] = $tab_rel['eleve'][$i]['resp'][$cpt]['cp'] . " " . $tab_rel['eleve'][$i]['resp'][$cpt]['commune'];
                        if ($tab_rel['eleve'][$i]['resp'][$cpt]['pays'] != "" && my_strtolower($tab_rel['eleve'][$i]['resp'][$cpt]['pays']) != my_strtolower($gepiSchoolPays)) {
                            $tab_adr_ligne6[$cpt] = $tab_rel['eleve'][$i]['resp'][$cpt]['pays'];
                        }
                    }
                }
            } else {
                // Il n'y a pas de deuxième adresse, mais il y aurait un deuxième responsable???
                // CA NE DEVRAIT PAS ARRIVER ETANT DONNé LA REQUETE EFFECTUEE QUI JOINT resp_pers ET resp_adr...
                if ($un_seul_bull_par_famille != "oui") {
                    $nb_bulletins = 2;
                } else {
                    $nb_bulletins = 1;
                }
                for ($cpt = 0; $cpt < $nb_bulletins; $cpt++) {
                    if ($tab_rel['eleve'][$i]['resp'][$cpt]['civilite'] != "") {
                        $tab_adr_ligne1[$cpt] = $tab_rel['eleve'][$i]['resp'][$cpt]['civilite'] . " " . $tab_rel['eleve'][$i]['resp'][$cpt]['nom'] . " " . $tab_rel['eleve'][$i]['resp'][$cpt]['prenom'];
                    } else {
                        $tab_adr_ligne1[$cpt] = $tab_rel['eleve'][$i]['resp'][$cpt]['nom'] . " " . $tab_rel['eleve'][$i]['resp'][$cpt]['prenom'];
                    }
                    $tab_adr_ligne2[$cpt] = $tab_rel['eleve'][$i]['resp'][$cpt]['adr1'];
                    if ($tab_rel['eleve'][$i]['resp'][$cpt]['adr2'] != "") {
                        $tab_adr_ligne3[$cpt] = $tab_rel['eleve'][$i]['resp'][$cpt]['adr2'];
                    }
                    if ($tab_rel['eleve'][$i]['resp'][$cpt]['adr3'] != "") {
                        $tab_adr_ligne4[$cpt] = $tab_rel['eleve'][$i]['resp'][$cpt]['adr3'];
                    }
                    /*
                    if($tab_rel['eleve'][$i]['resp'][$cpt]['adr4']!=""){
                    	$tab_adr_ligne2[$cpt].="<br />\n".$tab_rel['eleve'][$i]['resp'][$cpt]['adr4'];
                    }
                    */
                    $tab_adr_ligne5[$cpt] = $tab_rel['eleve'][$i]['resp'][$cpt]['cp'] . " " . $tab_rel['eleve'][$i]['resp'][$cpt]['commune'];
                    if ($tab_rel['eleve'][$i]['resp'][$cpt]['pays'] != "" && my_strtolower($tab_rel['eleve'][$i]['resp'][$cpt]['pays']) != my_strtolower($gepiSchoolPays)) {
                        $tab_adr_ligne6[$cpt] = $tab_rel['eleve'][$i]['resp'][$cpt]['pays'];
                    }
                }
            }
        } else {
            // Il n'y a pas de deuxième responsable
            $nb_bulletins = 1;
            if ($tab_rel['eleve'][$i]['resp'][0]['civilite'] != "") {
                $tab_adr_ligne1[0] = $tab_rel['eleve'][$i]['resp'][0]['civilite'] . " " . $tab_rel['eleve'][$i]['resp'][0]['nom'] . " " . $tab_rel['eleve'][$i]['resp'][0]['prenom'];
            } else {
                $tab_adr_ligne1[0] = $tab_rel['eleve'][$i]['resp'][0]['nom'] . " " . $tab_rel['eleve'][$i]['resp'][0]['prenom'];
            }
            $tab_adr_ligne2[0] = $tab_rel['eleve'][$i]['resp'][0]['adr1'];
            if ($tab_rel['eleve'][$i]['resp'][0]['adr2'] != "") {
                $tab_adr_ligne3[0] = $tab_rel['eleve'][$i]['resp'][0]['adr2'];
            }
            if ($tab_rel['eleve'][$i]['resp'][0]['adr3'] != "") {
                $tab_adr_ligne4[0] = $tab_rel['eleve'][$i]['resp'][0]['adr3'];
            }
            /*
            if($tab_rel['eleve'][$i]['resp'][0]['adr4']!=""){
            	$tab_adr_ligne2[0].="<br />\n".$tab_rel['eleve'][$i]['resp'][0]['adr4'];
            }
            */
            $tab_adr_ligne5[0] = $tab_rel['eleve'][$i]['resp'][0]['cp'] . " " . $tab_rel['eleve'][$i]['resp'][0]['commune'];
            if ($tab_rel['eleve'][$i]['resp'][0]['pays'] != "" && my_strtolower($tab_rel['eleve'][$i]['resp'][0]['pays']) != my_strtolower($gepiSchoolPays)) {
                $tab_adr_ligne6[0] = $tab_rel['eleve'][$i]['resp'][0]['pays'];
            }
        }
    }
    //=========================================
    $pdf->AddPage("P");
    $pdf->SetFontSize(10);
    /*
    if($nb_releve_par_page === '1' and $active_bloc_adresse_parent != '1') { $hauteur_cadre_note_global = 250; }
    if($nb_releve_par_page === '1' and $active_bloc_adresse_parent === '1') { $hauteur_cadre_note_global = 205; }
    if($nb_releve_par_page === '2') { $hauteur_cadre_note_global = 102; }
    */
    // Pour un relevé en recto/verso avec le bulletin,
    // il ne faut qu'un relevé par page, mais si on devait utiliser cette fonction
    // pour remplacer un jour le dispositif relevé PDF, il faudrait revoir cela:
    $nb_releve_par_page = 1;
    //$active_bloc_adresse_parent=0;
    $active_bloc_adresse_parent = $tab_rel['rn_adr_resp'] == 'y' ? 1 : 0;
    //$hauteur_cadre_note_global = 250;
    if ($active_bloc_adresse_parent != 1) {
        $hauteur_cadre_note_global = 250;
    }
    if ($active_bloc_adresse_parent == 1) {
        $hauteur_cadre_note_global = 205;
    }
    // A FAIRE:
    // Pour la hauteur, prendre en compte la saisie d'une formule $tab_rel['rn_formule'] (non vide)
    // et le caractère vide ou non de getSettingValue("bull_formule_bas")
    //$affiche_bloc_observation=1;
    $affiche_bloc_observation = $tab_rel['rn_bloc_obs'] == 'y' ? 1 : 0;
    //$affiche_cachet_pp=1;
    $affiche_cachet_pp = $tab_rel['rn_sign_pp'] == 'y' ? 1 : 0;
    //$affiche_signature_parent=1;
    $affiche_signature_parent = $tab_rel['rn_sign_resp'] == 'y' ? 1 : 0;
    if ($affiche_cachet_pp == 1 || $affiche_signature_parent == 1) {
        $affiche_bloc_observation = 1;
    }
    $texte_observation = "Observations:";
    //$aff_classe_nom=1;
    $aff_classe_nom = $tab_rel['rn_aff_classe_nom'];
    // BIZARRE:
    $hauteur_cadre_matiere = 20;
    $classe_aff = "NOM_CLASSE";
    $passage_i = 1;
    // login de l'élève
    //$eleve_select=$login[$nb_eleves_i];
    //$eleve_select=$tab_rel['eleve'][$i]['login'];
    //if(isset($tab_rel['eleve'][$i]['login'])) {
    $eleve_select = $tab_rel['eleve'][$i]['login'];
    /*
    // différente Y pour les présentation sur 1 ou 2 par page avec ident parents
    if($nb_releve_par_page=='1' and $passage_i == '1' and $active_bloc_adresse_parent!='1') { $Y_cadre_note = '32'; $Y_cadre_eleve = '5'; $Y_entete_etab='5'; }
    if($nb_releve_par_page=='1' and $passage_i == '1' and $active_bloc_adresse_parent==='1') { $Y_cadre_note = '75'; $Y_cadre_eleve = '5'; $Y_entete_etab='5'; }
    if($nb_releve_par_page=='2' and $passage_i == '1') { $Y_cadre_note = '32'; $Y_cadre_eleve = '5'; $Y_entete_etab='5'; }
    if($nb_releve_par_page=='2' and $passage_i == '2') { $Y_cadre_note = $Y_cadre_note+145; $Y_cadre_eleve = $Y_cadre_eleve+145; $Y_entete_etab=$Y_entete_etab+145; }
    */
    /*
    $Y_cadre_note = '32';
    $Y_cadre_eleve = '5';
    $Y_entete_etab='5';
    */
    if ($active_bloc_adresse_parent != '1') {
        $Y_cadre_note = '32';
        $Y_cadre_eleve = '5';
        $Y_entete_etab = '5';
    } else {
        $Y_cadre_note = '75';
        $Y_cadre_eleve = '5';
        $Y_entete_etab = '5';
    }
    //BLOC IDENTITE ELEVE
    $pdf->SetXY($X_cadre_eleve, $Y_cadre_eleve);
    $pdf->SetFont('DejaVu', 'B', 14);
    $pdf->Cell(90, 7, my_strtoupper($tab_rel['eleve'][$i]['nom']) . " " . casse_mot($tab_rel['eleve'][$i]['prenom'], 'majf2'), 0, 2, '');
    $pdf->SetFont('DejaVu', '', 10);
    //$pdf->Cell(90,5,'Né le '.affiche_date_naissance($naissance[$nb_eleves_i]).', demi-pensionnaire',0,2,'');
    if ($tab_rel['eleve'][$i]['sexe'] == "M") {
        $e_au_feminin = "";
    } else {
        $e_au_feminin = "e";
    }
    //$pdf->Cell(90,5,'Né'.$e_au_feminin.' le '.affiche_date_naissance($tab_rel['eleve'][$i]['naissance']).', '.regime($tab_rel['eleve'][$i]['regime']),0,2,'');
    $pdf->Cell(90, 5, 'Né' . $e_au_feminin . ' le ' . $tab_rel['eleve'][$i]['naissance'] . ', ' . regime($tab_rel['eleve'][$i]['regime']), 0, 2, '');
    $pdf->Cell(90, 5, '', 0, 2, '');
    if ($aff_classe_nom == 1) {
        $classe_aff = $pdf->WriteHTML('Classe de ' . unhtmlentities($tab_rel['classe_nom_complet']));
    } elseif ($aff_classe_nom == 2) {
        $classe_aff = $pdf->WriteHTML('Classe de ' . unhtmlentities($tab_rel['classe']));
    } else {
        $classe_aff = $pdf->WriteHTML(' ' . unhtmlentities($tab_rel['classe_nom_complet']) . ' (' . unhtmlentities($tab_rel['classe']) . ')');
    }
    $pdf->Cell(90, 5, $classe_aff, 0, 2, '');
    $pdf->SetX($X_cadre_eleve);
    $pdf->SetFont('DejaVu', '', 10);
    $pdf->Cell(90, 5, 'Année scolaire ' . $annee_scolaire, 0, 2, '');
    // BLOC IDENTITE DE L'ETABLISSEMENT
    $logo = '../images/' . getSettingValue('logo_etab');
    $format_du_logo = str_replace('.', '', strstr(getSettingValue('logo_etab'), '.'));
    //if($affiche_logo_etab==='1' and file_exists($logo) and getSettingValue('logo_etab') != '' and ($format_du_logo==='jpg' or $format_du_logo==='png')) {
    //if($tab_modele_pdf["affiche_logo_etab"][$classe_id]==='1' and file_exists($logo) and getSettingValue('logo_etab') != '' and ($format_du_logo==='jpg' or $format_du_logo==='png')) {
    if ($tab_modele_pdf["affiche_logo_etab"][$classe_id] == 1 and file_exists($logo) and getSettingValue('logo_etab') != '' and ($format_du_logo == 'jpg' or $format_du_logo == 'png')) {
        $valeur = redimensionne_image($logo, $L_max_logo, $H_max_logo);
        //$X_logo et $Y_logo; placement du bloc identite de l'établissement
        $X_logo = $X_entete_etab;
        $Y_logo = $Y_entete_etab;
        $L_logo = $valeur[0];
        $H_logo = $valeur[1];
        $X_etab = $X_logo + $L_logo;
        $Y_etab = $Y_logo;
        //logo
        $tmp_dim_photo = getimagesize($logo);
        if (isset($tmp_dim_photo[2]) && $tmp_dim_photo[2] == 2) {
            $pdf->Image($logo, $X_logo, $Y_logo, $L_logo, $H_logo);
        }
    } else {
        $X_etab = $X_entete_etab;
        $Y_etab = $Y_entete_etab;
    }
    // BLOC ADRESSE ETABLISSEMENT
    $pdf->SetXY($X_etab, $Y_etab);
    $pdf->SetFont('DejaVu', '', 14);
    //$gepiSchoolName = getSettingValue('gepiSchoolName');
    $pdf->Cell(90, 7, $gepiSchoolName, 0, 2, '');
    $pdf->SetFont('DejaVu', '', 10);
    //$gepiSchoolAdress1 = getSettingValue('gepiSchoolAdress1');
    $pdf->Cell(90, 5, $gepiSchoolAdress1, 0, 2, '');
    //$gepiSchoolAdress2 = getSettingValue('gepiSchoolAdress2');
    $pdf->Cell(90, 5, $gepiSchoolAdress2, 0, 2, '');
    //$gepiSchoolZipCode = getSettingValue('gepiSchoolZipCode');
    //$gepiSchoolCity = getSettingValue('gepiSchoolCity');
    $pdf->Cell(90, 5, $gepiSchoolZipCode . " " . $gepiSchoolCity, 0, 2, '');
    //$gepiSchoolTel = getSettingValue('gepiSchoolTel');
    //$gepiSchoolFax = getSettingValue('gepiSchoolFax');
    if ($tab_modele_pdf["entente_tel"][$classe_id] === '1' and $tab_modele_pdf["entente_fax"][$classe_id] === '1') {
        $entete_communic = 'Tél: ' . $gepiSchoolTel . ' / Fax: ' . $gepiSchoolFax;
    }
    if ($tab_modele_pdf["entente_tel"][$classe_id] === '1' and empty($entete_communic)) {
        $entete_communic = 'Tél: ' . $gepiSchoolTel;
    }
    if ($tab_modele_pdf["entente_fax"][$classe_id] === '1' and empty($entete_communic)) {
        $entete_communic = 'Fax: ' . $gepiSchoolFax;
    }
    if (isset($entete_communic) and $entete_communic != '') {
        $pdf->Cell(90, 5, $entete_communic, 0, 2, '');
    }
    if ($tab_modele_pdf["entente_mel"][$classe_id] === '1') {
        $gepiSchoolEmail = getSettingValue('gepiSchoolEmail');
        $pdf->Cell(90, 5, $gepiSchoolEmail, 0, 2, '');
    }
    // BLOC ADRESSE DES PARENTS
    // Nom des variables à revoir
    //if($active_bloc_adresse_parent==='1' and $nb_releve_par_page==='1') {
    if ($active_bloc_adresse_parent == 1 and $nb_releve_par_page == 1) {
        //+++++++++++++++
        // A REVOIR
        $num_resp = 0;
        //+++++++++++++++
        //$ident_eleve_aff=$login[$nb_eleves_i];
        $pdf->SetXY($X_parent, $Y_parent);
        //$texte_1_responsable = $civilite_parents[$ident_eleve_aff][$responsable_place]." ".$nom_parents[$ident_eleve_aff][$responsable_place]." ".$prenom_parents[$ident_eleve_aff][$responsable_place];
        $texte_1_responsable = $tab_adr_ligne1[$num_resp];
        $hauteur_caractere = 12;
        $pdf->SetFont('DejaVu', 'B', $hauteur_caractere);
        $val = $pdf->GetStringWidth($texte_1_responsable);
        $taille_texte = 90;
        $grandeur_texte = 'test';
        while ($grandeur_texte != 'ok') {
            if ($taille_texte < $val) {
                $hauteur_caractere = $hauteur_caractere - 0.3;
                $pdf->SetFont('DejaVu', 'B', $hauteur_caractere);
                $val = $pdf->GetStringWidth($texte_1_responsable);
            } else {
                $grandeur_texte = 'ok';
            }
        }
        $pdf->Cell(90, 7, $texte_1_responsable, 0, 2, '');
        $pdf->SetFont('DejaVu', '', 10);
        //$texte_1_responsable = $adresse1_parents[$ident_eleve_aff][$responsable_place];
        $texte_1_responsable = $tab_adr_ligne2[$num_resp];
        $hauteur_caractere = 10;
        $pdf->SetFont('DejaVu', '', $hauteur_caractere);
        $val = $pdf->GetStringWidth($texte_1_responsable);
        $taille_texte = 90;
        $grandeur_texte = 'test';
        while ($grandeur_texte != 'ok') {
            if ($taille_texte < $val) {
                $hauteur_caractere = $hauteur_caractere - 0.3;
                $pdf->SetFont('DejaVu', '', $hauteur_caractere);
                $val = $pdf->GetStringWidth($texte_1_responsable);
            } else {
                $grandeur_texte = 'ok';
            }
        }
        $pdf->Cell(90, 5, $texte_1_responsable, 0, 2, '');
        //$texte_1_responsable = $adresse2_parents[$ident_eleve_aff][$responsable_place];
        $texte_1_responsable = $tab_adr_ligne3[$num_resp];
        $hauteur_caractere = 10;
        $pdf->SetFont('DejaVu', '', $hauteur_caractere);
        $val = $pdf->GetStringWidth($texte_1_responsable);
        $taille_texte = 90;
        $grandeur_texte = 'test';
        while ($grandeur_texte != 'ok') {
            if ($taille_texte < $val) {
                $hauteur_caractere = $hauteur_caractere - 0.3;
                $pdf->SetFont('DejaVu', '', $hauteur_caractere);
                $val = $pdf->GetStringWidth($texte_1_responsable);
            } else {
                $grandeur_texte = 'ok';
            }
        }
        $pdf->Cell(90, 5, $texte_1_responsable, 0, 2, '');
        $pdf->Cell(90, 5, '', 0, 2, '');
        //$texte_1_responsable = $cp_parents[$ident_eleve_aff][$responsable_place]." ".$ville_parents[$ident_eleve_aff][$responsable_place];
        $texte_1_responsable = $tab_adr_ligne5[$num_resp];
        $hauteur_caractere = 10;
        $pdf->SetFont('DejaVu', '', $hauteur_caractere);
        $val = $pdf->GetStringWidth($texte_1_responsable);
        $taille_texte = 90;
        $grandeur_texte = 'test';
        while ($grandeur_texte != 'ok') {
            if ($taille_texte < $val) {
                $hauteur_caractere = $hauteur_caractere - 0.3;
                $pdf->SetFont('DejaVu', '', $hauteur_caractere);
                $val = $pdf->GetStringWidth($texte_1_responsable);
            } else {
                $grandeur_texte = 'ok';
            }
        }
        $pdf->Cell(90, 5, $texte_1_responsable, 0, 2, '');
    }
    // BLOC NOTATION ET OBSERVATION
    //Titre du tableau
    $pdf->SetXY($X_cadre_note, $Y_cadre_note);
    $pdf->SetFont('DejaVu', 'B', 12);
    //if($cadre_titre==='1') { $var_encadrement_titre='LTR'; } else { $var_encadrement_titre=''; }
    if ($cadre_titre == 1) {
        $var_encadrement_titre = 'LTR';
    } else {
        $var_encadrement_titre = '';
    }
    //$pdf->Cell(0, $hauteur_du_titre, $titre_du_cadre.' '.date_frc($_SESSION['date_debut_aff']).' au '.date_frc($_SESSION['date_fin_aff']), $var_encadrement_titre,0,'C');
    // A REVOIR...
    //$pdf->Cell(0, $hauteur_du_titre, $titre_du_cadre.' Période '.$tab_rel['nom_periode'], $var_encadrement_titre,0,'C');
    $pdf->Cell(0, $hauteur_du_titre, $titre_du_cadre . $tab_rel['nom_periode'], $var_encadrement_titre, 0, 'C');
    $hauteur_utilise = $hauteur_du_titre;
    /*
    $nb_matiere=0;
    for($j=0;$j<count($tab_rel['eleve'][$i]['groupe']);$j++) {
    	if(isset($tab_bull['note'][$j][$i])) {
    		// Si l'élève suit l'option, sa note est affectée (éventuellement vide)
    		$nb_matiere++;
    	}
    }
    */
    $nb_matiere = count($tab_rel['eleve'][$i]['groupe']);
    //s'il y des notes alors on affiche le cadre avec les notes
    //if(isset($nb_matiere[$eleve_select]) and !empty($nb_matiere[$eleve_select])) {
    if ($nb_matiere > 0) {
        // Hauteur d'une ligne pour une matière
        /*
        if($active_entete_regroupement === '1') {
        	$hauteur_cadre_matiere=($hauteur_cadre_note_global-($nb_regroupement[$eleve_select]*$hauteur_dun_regroupement))/$nb_matiere[$eleve_select];
        }
        if($active_entete_regroupement != '1') {
        */
        $hauteur_cadre_matiere = $hauteur_cadre_note_global / $nb_matiere;
        //}
        // Tableau des matières et des notes de l'élève
        $cpt_i = '1';
        $nom_regroupement_passer = '';
        //while($cpt_i<=$nb_matiere[$eleve_select])
        //{
        for ($m = 0; $m < count($tab_rel['eleve'][$i]['groupe']); $m++) {
            // Si c'est une matière suivie par l'élève
            if (isset($tab_rel['eleve'][$i]['groupe'][$m])) {
                //$id_groupe_selectionne=$groupe_select[$eleve_select][$cpt_i];
                $id_groupe_selectionne = $tab_rel['eleve'][$i]['groupe'][$m]['id_groupe'];
                //MATIERE
                $pdf->SetXY($X_cadre_note, $Y_cadre_note + $hauteur_utilise);
                // on affiche les nom des regroupements
                /*
                if($nom_regroupement[$eleve_select][$cpt_i]!=$nom_regroupement_passer and $active_entete_regroupement === '1')
                {
                	$pdf->SetFont('DejaVu','',8);
                	$pdf->Cell($largeur_cadre_matiere, $hauteur_dun_regroupement, unhtmlentities($nom_regroupement[$eleve_select][$cpt_i]), 'LTB', 2, '');
                	$hauteur_utilise=$hauteur_utilise+$hauteur_dun_regroupement;
                	$nom_regroupement_passer=$nom_regroupement[$eleve_select][$cpt_i];
                	$pdf->SetXY($X_cadre_note,$Y_cadre_note+$hauteur_utilise);
                }
                */
                $pdf->SetFont('DejaVu', 'B', '9');
                $nom_matiere = $tab_rel['eleve'][$i]['groupe'][$m]['matiere_nom_complet'];
                $hauteur_caractere = 9;
                $pdf->SetFont('DejaVu', 'B', $hauteur_caractere);
                $val = $pdf->GetStringWidth($nom_matiere);
                $taille_texte = $largeur_cadre_matiere;
                $grandeur_texte = 'test';
                while ($grandeur_texte != 'ok') {
                    if ($taille_texte < $val) {
                        $hauteur_caractere = $hauteur_caractere - 0.3;
                        $pdf->SetFont('DejaVu', 'B', $hauteur_caractere);
                        $val = $pdf->GetStringWidth($nom_matiere);
                    } else {
                        $grandeur_texte = 'ok';
                    }
                }
                $pdf->Cell($largeur_cadre_matiere, $hauteur_cadre_matiere / 2, $nom_matiere, 'LRT', 2, '');
                //$pdf->Cell($largeur_cadre_matiere, $hauteur_cadre_matiere/2, $nom_matiere." ".count($tab_rel['eleve'][$i]['groupe'][$m]['prof_login']), 'LRT', 2, '');
                //$pdf->Cell($largeur_cadre_matiere, $hauteur_cadre_matiere/2, $nom_matiere." ".$tab_rel['eleve'][$i]['groupe'][$m]['prof_login'][0], 'LRT', 2, '');
                $nom_matiere = '';
                $nb_prof_matiere = count($tab_rel['eleve'][$i]['groupe'][$m]['prof_login']);
                $espace_matiere_prof = $hauteur_cadre_matiere / 2;
                $nb_pass_count = '0';
                $text_prof = '';
                //if ( $nb_releve_par_page === '2' ) {
                if ($nb_releve_par_page == 2) {
                    $nb_pass_count_2 = 0;
                    while (!empty($tab_rel['eleve'][$i]['groupe'][$m]['prof_login'][$nb_pass_count_2])) {
                        if ($nb_pass_count_2 === 0) {
                            $text_prof = affiche_utilisateur($tab_rel['eleve'][$i]['groupe'][$m]['prof_login'][$nb_pass_count_2], $id_classe);
                        }
                        if ($nb_pass_count_2 != 0) {
                            $text_prof = $text_prof . ', ' . affiche_utilisateur($tab_rel['eleve'][$i]['groupe'][$m]['prof_login'][$nb_pass_count_2], $id_classe);
                        }
                        $nb_pass_count_2 = $nb_pass_count_2 + 1;
                    }
                    //$nb_prof_matiere = 1;
                }
                if ($nb_prof_matiere != 1) {
                    $espace_matiere_prof = $espace_matiere_prof / $nb_prof_matiere;
                }
                while ($nb_prof_matiere > $nb_pass_count) {
                    // calcul de la hauteur du caractère du prof
                    //if ( $nb_releve_par_page === '1' ) {
                    if ($nb_releve_par_page == 1) {
                        $text_prof = affiche_utilisateur($tab_rel['eleve'][$i]['groupe'][$m]['prof_login'][$nb_pass_count], $id_classe);
                    }
                    if ($nb_prof_matiere <= 2) {
                        $hauteur_caractere_prof = 9;
                    } elseif ($nb_prof_matiere == 3) {
                        $hauteur_caractere_prof = 7;
                    } elseif ($nb_prof_matiere > 3) {
                        $hauteur_caractere_prof = 2;
                    }
                    $pdf->SetFont('DejaVu', '', $hauteur_caractere_prof);
                    $val = $pdf->GetStringWidth($text_prof);
                    $taille_texte = $largeur_cadre_matiere - 0.6;
                    $grandeur_texte = 'test';
                    while ($grandeur_texte != 'ok') {
                        if ($taille_texte < $val) {
                            $hauteur_caractere_prof = $hauteur_caractere_prof - 0.3;
                            $pdf->SetFont('DejaVu', '', $hauteur_caractere_prof);
                            $val = $pdf->GetStringWidth($text_prof);
                        } else {
                            $grandeur_texte = 'ok';
                        }
                    }
                    $grandeur_texte = 'test';
                    $pdf->SetX($X_cadre_note);
                    //$pdf->Cell($largeur_cadre_matiere, $espace_matiere_prof, 'prof '.$text_prof, 'LRB', 2, '');
                    if (empty($tab_rel['eleve'][$i]['groupe'][$m]['prof_login'][$nb_pass_count + 1]) or $nb_prof_matiere === 1) {
                        $pdf->Cell($largeur_cadre_matiere, $espace_matiere_prof, $text_prof, 'LRB', 2, '');
                    }
                    if (!empty($tab_rel['eleve'][$i]['groupe'][$m]['prof_login'][$nb_pass_count + 1]) and $nb_prof_matiere != 1) {
                        $pdf->Cell($largeur_cadre_matiere, $espace_matiere_prof, $text_prof, 'LR', 2, '');
                    }
                    $nb_pass_count = $nb_pass_count + 1;
                }
                //			if(isset($prof_groupe[$id_groupe_selectionne][0]) and $prof_groupe[$id_groupe_selectionne][0] != '') { $prof_1 = $prof_groupe[$id_groupe_selectionne][0]; } else { $prof_1 = ''; }
                //			if(isset($prof_groupe[$id_groupe_selectionne][1]) and $prof_groupe[$id_groupe_selectionne][1] != '') { $prof_2 = $prof_groupe[$id_groupe_selectionne][1]; } else { $prof_2 = ''; }
                //			if(isset($prof_groupe[$id_groupe_selectionne][2]) and $prof_groupe[$id_groupe_selectionne][2] != '') { $prof_3 = $prof_groupe[$id_groupe_selectionne][2]; } else { $prof_3 = ''; }
                /*			 $nom_prof = $prof_1;
                					$hauteur_caractere = 8;
                					$pdf->SetFont('DejaVu','I',$hauteur_caractere);
                					$val = $pdf->GetStringWidth($nom_prof);
                					$taille_texte = $largeur_cadre_matiere;
                					$grandeur_texte='test';
                					while($grandeur_texte!='ok') {
                					if($taille_texte<$val)
                					{
                						$hauteur_caractere = $hauteur_caractere-0.3;
                						$pdf->SetFont('DejaVu','I',$hauteur_caractere);
                						$val = $pdf->GetStringWidth($nom_prof);
                					} else { $grandeur_texte='ok'; }
                						}
                
                					$pdf->Cell($largeur_cadre_matiere, $hauteur_cadre_matiere/2, $nom_prof, 'LRB', 2, '');*/
                //$pdf->Cell($largeur_cadre_matiere, $hauteur_cadre_matiere/3, $prof_2, 'LR', 2, '');
                //$pdf->Cell($largeur_cadre_matiere, $hauteur_cadre_matiere/4, $prof_3, 'LRB', 2, '');
                $hauteur_utilise = $hauteur_utilise + $hauteur_cadre_matiere;
            }
            $cpt_i = $cpt_i + 1;
        }
    }
    $hauteur_utilise = $hauteur_du_titre;
    $cpt_i = '1';
    $nom_regroupement_passer = '';
    //while($cpt_i<=$nb_matiere[$eleve_select]) {
    for ($m = 0; $m < count($tab_rel['eleve'][$i]['groupe']); $m++) {
        //NOTES
        $largeur_utilise = $largeur_cadre_matiere;
        //=======================
        // AJOUT: chapel 20071019
        //if ( $affiche_bloc_observation === '1' ) {
        if ($affiche_bloc_observation == 1) {
            $largeur_cadre_note = $largeur_cadre_note;
        } else {
            $largeur_cadre_note = $largeur_cadre_note_global - $largeur_utilise;
        }
        //=======================
        $pdf->SetXY($X_cadre_note + $largeur_utilise, $Y_cadre_note + $hauteur_utilise);
        // on affiche les nom des regroupement
        /*
        if($nom_regroupement[$eleve_select][$cpt_i]!=$nom_regroupement_passer and $active_entete_regroupement === '1')
        {
        	$pdf->SetFont('DejaVu','',8);
        	$pdf->Cell($largeur_cadre_note, $hauteur_dun_regroupement, '', 'RTB', 2, '');
        	$hauteur_utilise=$hauteur_utilise+$hauteur_dun_regroupement;
        	$nom_regroupement_passer=$nom_regroupement[$eleve_select][$cpt_i];
        	$pdf->SetXY($X_cadre_note+$largeur_utilise,$Y_cadre_note+$hauteur_utilise);
        }
        */
        $chaine_notes = "";
        if (isset($tab_rel['eleve'][$i]['groupe'][$m]['devoir'])) {
            $kk = 0;
            for ($k = 0; $k < count($tab_rel['eleve'][$i]['groupe'][$m]['devoir']); $k++) {
                // A FAIRE: TENIR COMPTE DE TOUS LES PARAMETRES POUR VOIR CE QU'IL FAUT AFFICHER
                if ($kk > 0) {
                    $chaine_notes .= " - ";
                }
                if ($tab_rel['eleve'][$i]['groupe'][$m]['devoir'][$k]['statut'] != 'v') {
                    if ($tab_rel['eleve'][$i]['groupe'][$m]['devoir'][$k]['statut'] != '') {
                        $chaine_notes .= $tab_rel['eleve'][$i]['groupe'][$m]['devoir'][$k]['statut'];
                    } else {
                        $chaine_notes .= $tab_rel['eleve'][$i]['groupe'][$m]['devoir'][$k]['note'];
                    }
                    if ($tab_rel['rn_nomdev'] == 'y') {
                        $chaine_notes .= " (" . $tab_rel['eleve'][$i]['groupe'][$m]['devoir'][$k]['nom_court'] . ")";
                    }
                    if ($tab_rel['rn_datedev'] == 'y') {
                        $chaine_notes .= " (" . formate_date($tab_rel['eleve'][$i]['groupe'][$m]['devoir'][$k]['date']) . ")";
                    }
                    if ($tab_rel['rn_coefdev_si_diff'] == 'y') {
                        if ($tab_rel['eleve'][$i]['groupe'][$m]['differents_coef'] == 'y') {
                            $chaine_notes .= " (coef " . $tab_rel['eleve'][$i]['groupe'][$m]['devoir'][$k]['coef'] . ")";
                        }
                    } else {
                        if ($tab_rel['rn_toutcoefdev'] == 'y') {
                            $chaine_notes .= " (coef " . $tab_rel['eleve'][$i]['groupe'][$m]['devoir'][$k]['coef'] . ")";
                        }
                    }
                    $kk++;
                }
            }
        }
        // détermine la taille de la police de caractère
        // on peut allez jusqu'a 275mm de caractère dans trois cases de notes
        $hauteur_caractere_notes = 9;
        $pdf->SetFont('DejaVu', '', $hauteur_caractere_notes);
        $val = $pdf->GetStringWidth($chaine_notes);
        $taille_texte = $hauteur_cadre_matiere / 4 * $largeur_cadre_note;
        $grandeur_texte = 'test';
        while ($grandeur_texte != 'ok') {
            if ($taille_texte < $val) {
                $hauteur_caractere_notes = $hauteur_caractere_notes - 0.3;
                $pdf->SetFont('DejaVu', '', $hauteur_caractere_notes);
                $val = $pdf->GetStringWidth($chaine_notes);
            } else {
                $grandeur_texte = 'ok';
            }
        }
        $pdf->drawTextBox($chaine_notes, $largeur_cadre_note, $hauteur_cadre_matiere, 'J', 'M', 1);
        $hauteur_utilise = $hauteur_utilise + $hauteur_cadre_matiere;
        //$cpt_i=$cpt_i+1;
    }
    // BLOC OBSERVATION
    //=======================
    // MODIF: chapel 20071019
    //if($affiche_bloc_observation === '1')
    if ($affiche_bloc_observation == 1) {
        $largeur_utilise = $largeur_cadre_matiere + $largeur_cadre_note;
        $largeur_restant = $largeur_cadre_note_global - $largeur_utilise;
        $hauteur_utilise = $hauteur_du_titre;
        //if($affiche_cachet_pp==='1' or $affiche_signature_parent==='1')
        if ($affiche_cachet_pp == 1 or $affiche_signature_parent == 1) {
            $hauteur_cadre_observation = $hauteur_cadre_note_global - $hauteur_cachet;
        } else {
            $hauteur_cadre_observation = $hauteur_cadre_note_global;
        }
        $pdf->Rect($X_cadre_note + $largeur_utilise, $Y_cadre_note + $hauteur_utilise, $largeur_restant, $hauteur_cadre_observation, 'D');
        $pdf->SetXY($X_cadre_note + $largeur_utilise, $Y_cadre_note + $hauteur_utilise);
        $pdf->SetFont('DejaVu', '', 11);
        $pdf->Cell($largeur_restant, 7, $texte_observation, 0, 1, 'C');
    }
    //=======================
    // BLOC SIGNATURE
    //if($affiche_cachet_pp==='1' or $affiche_signature_parent==='1')
    if ($affiche_cachet_pp == 1 or $affiche_signature_parent == 1) {
        $nb_col_sign = 0;
        //if($affiche_cachet_pp==='1') { $nb_col_sign=$nb_col_sign+1; }
        //if($affiche_signature_parent==='1') { $nb_col_sign=$nb_col_sign+1; }
        if ($affiche_cachet_pp == 1) {
            $nb_col_sign = $nb_col_sign + 1;
        }
        if ($affiche_signature_parent == 1) {
            $nb_col_sign = $nb_col_sign + 1;
        }
        $largeur_utilise = $largeur_cadre_matiere + $largeur_cadre_note;
        $X_signature = $X_cadre_note + $largeur_utilise;
        $Y_signature = $Y_cadre_note + $hauteur_cadre_observation + $hauteur_du_titre;
        $hauteur_cadre_signature = $hauteur_cadre_note_global - $hauteur_cadre_observation;
        $largeur_cadre_signature = $largeur_cadre_note_global - $largeur_utilise;
        $pdf->SetFont('DejaVu', '', 8);
        $pdf->Rect($X_signature, $Y_signature, $largeur_cadre_signature, $hauteur_cadre_signature, 'D');
        //if($affiche_cachet_pp==='1')
        if ($affiche_cachet_pp == 1) {
            $pdf->SetXY($X_signature, $Y_signature);
            $pdf->Cell($largeur_cadre_signature / $nb_col_sign, 4, 'Signature', 'LTR', 2, 'C');
            $pdf->Cell($largeur_cadre_signature / $nb_col_sign, 4, $tab_rel['gepi_prof_suivi'], 'LR', 2, 'C');
            $pdf->Cell($largeur_cadre_signature / $nb_col_sign, $hauteur_cachet - 8, '', 'LR', 2, 'C');
            $X_signature = $X_signature + $largeur_restant / $nb_col_sign;
        }
        //if($affiche_signature_parent==='1')
        if ($affiche_signature_parent == 1) {
            $pdf->SetXY($X_signature, $Y_signature);
            $pdf->Cell($largeur_cadre_signature / $nb_col_sign, 4, 'Signatures', 'LTR', 2, 'C');
            $pdf->Cell($largeur_cadre_signature / $nb_col_sign, 4, 'des parents', 'LR', 2, 'C');
            $pdf->Cell($largeur_cadre_signature / $nb_col_sign, $hauteur_cachet - 8, '', 'LR', 2, 'C');
        }
    }
    //}
    /*
    //PUB ;)
    $pdf->SetXY($X_cadre_note, $Y_cadre_note+$hauteur_cadre_note_global+$hauteur_du_titre);
    $pdf->SetFont('DejaVu','',8);
    $pdf->Cell(200,5,'GEPI - Solution libre de Gestion des élèves par Internet',0,1,'');
    // CA ENTRE EN COLLISION AVEC LA FORMULE DU BULLETIN (insérée via la fonction Footer() de class_php/gepi_pdf.class.php)
    */
    //}
    /*
    	$passage_i=$passage_i+1;
    	$nb_eleves_i = $nb_eleves_i + 1;
    }
    
    // on prépare la 2ème boucle pour faire R1 et R2 != R1 si nécessaire
    if ($nb_eleves_i > $nb_eleves) { // dans ce cas on a fait la première boucle, on prépare la 2éme pour les R2 != à R1
    	$nb_boucle++;
    	$responsable_place = 1;
    	$nb_eleves_i = 1;
    }
    */
    //}
    // vider les variables de session
    //    unset($_SESSION["classe"]);
    //    unset($_SESSION["eleve"]);
    //    unset($_SESSION["type"]);
    //    unset($_SESSION["date_debut"]);
    //    unset($_SESSION["date_fin"]);
    //    unset($_SESSION["date_debut_aff"]);
    //    unset($_SESSION["date_fin_aff"]);
    //    unset($_SESSION["avec_nom_devoir"]);
    /*
    // sortie PDF sur écran
    $nom_releve=date("Ymd_Hi");
    $nom_releve = 'Releve_'.$nom_releve.'.pdf';
    $pdf->Output($nom_releve,'I');
    
    // Le PDF n'est généré qu'en fin de boucle sur les bulletins
    */
}
コード例 #23
0
                                }
                            }
                        }
                    }
                    ?>
 
              </td>
              <td class="okbf_table_td2">
                <a href="?action=DeleteFile&amp;file=<?php 
                    echo base64_encode($value);
                    ?>
" title="<?php 
                    echo $lang['misct'];
                    ?>
" onclick="cf = confirm('<?php 
                    echo addcslashes(unhtmlentities($lang['miscu']), "..!@..ÿ");
                    ?>
'); if (cf) window.location='?action=DeleteFile&amp;file=<?php 
                    echo base64_encode($value);
                    ?>
'; return false;"><?php 
                    echo $lang['miscs'];
                    ?>
</a>
              </td>
            </tr>
          <?php 
                }
                ?>
 
        </table>
コード例 #24
0
    $expmode = intval($_REQUEST['expmode']);
    $module_id = intval($_REQUEST['module_id']);
    $subject_id = intval($_REQUEST['subject_id']);
} else {
    exit;
}
// check user's authorization for module
if (!F_isAuthorizedUser(K_TABLE_MODULES, 'module_id', $module_id, 'module_user_id')) {
    exit;
}
$show_answers = true;
if (isset($_REQUEST['hide_answers']) and $_REQUEST['hide_answers'] == 1) {
    $show_answers = false;
}
$doc_title = unhtmlentities($l['t_questions_list']);
$doc_description = F_compact_string(unhtmlentities($l['hp_select_all_questions']));
$page_elements = 6;
$qtype = array('S', 'M', 'T', '0');
// question types
$qright = array(' ', '*');
// question types
// --- create pdf document
if ($l['a_meta_dir'] == 'rtl') {
    $dirlabel = 'L';
    $dirvalue = 'R';
} else {
    $dirlabel = 'R';
    $dirvalue = 'L';
}
$isunicode = strcasecmp($l['a_meta_charset'], 'UTF-8') == 0;
//create new PDF document (document units are set by default to millimeters)
コード例 #25
0
         if (isset($span[$cursor]) && substr(strip_tags($span[$cursor]->innertext), 0, 6) == "Latest") {
             $newSpan[] = $span[$cursor];
             $cursor++;
         } else {
             $report = new stdClass();
             $report->innertext = "Latest report: ";
             $newSpan[] = $report;
         }
         $span = $newSpan;
     }
     if (substr(strip_tags($span[2]->innertext), 0, 6) != "Latest") {
         var_dump($provider->innertext);
         var_dump(strip_tags($span[0]->innertext), strip_tags($span[1]->innertext), strip_tags($span[2]->innertext));
         die;
     }
     $data = array("name" => unhtmlentities(strip_tags($a[0]->innertext)), "address" => unhtmlentities($p[0]->innertext), "urn" => substr($p[1]->innertext, 5), "Provider type" => substr($p[2]->innertext, 15), "authority" => substr(strip_tags($span[0]->innertext), 17), "region" => substr(strip_tags($span[1]->innertext), 8), "latest_report" => substr(strip_tags($span[2]->innertext), 15), "details_page" => "http://www.ofsted.gov.uk" . $a[0]->href);
     $domA->load(scraperwiki::scrape($data['details_page']));
     foreach ($domA->find("table[@summary=Previous reports]/tbody/tr/td/a") as $attachment) {
         $at = array("urn" => $data['urn'], "name" => trim(substr(strip_tags($attachment->innertext), 4)), "link" => "http://www.ofsted.gov.uk" . $attachment->href);
         scraperwiki::save_sqlite(array("urn", "link"), $at, "attachments");
     }
     scraperwiki::save_sqlite(array("urn"), $data, "provider");
 }
 $page++;
 $a = $dom->find("/ul[@class=pagination]/li/a");
 //var_dump($a[count($a)-1]->href);
 if ($a[count($a) - 1]->href != "/inspection-reports/find-inspection-report/results/all/any/authority/{$authorityID}/any/any?page={$page}") {
     echo "Next local authority\r\n";
     break;
 } else {
     echo "{$authorityName} ({$authorityID}): Page {$page}\r\n";
コード例 #26
0
ファイル: string_utils.php プロジェクト: javierlov/FuentesWeb
function get_htmlspecialchars($given, $quote_style = ENT_QUOTES){
	return htmlentities(unhtmlentities($given), $quote_style);
}
コード例 #27
0
 private function parse_author_name()
 {
     if (!preg_match('/' . toBig5('作者:') . '<\\/td>[^<]*<td[^>]+>([^<]+)/', $this->html, $author)) {
         return '';
     }
     return toUTF8(unhtmlentities($author[1]));
 }
コード例 #28
0
ファイル: imgtime.php プロジェクト: agatho/uaenhanced
<?php

require_once "include/time.inc.php";
require_once "include/basic.lib.php";
$now = getUgaAggaTime(time());
$time = $now['day'] . ". " . unhtmlentities(getMonthName($now['month'])) . ", " . $now['year'] . ". Jahr";
$timelen = strlen($time);
$size = 11;
if ($timelen > 18) {
    $size = 8;
}
$x = 95 - $timelen / 2 * $size;
if ($x < 0) {
    $x = 0;
}
$im_bg = @imagecreate(185, 32);
$im_fg = @imagecreate(185, 32);
$background_color = ImageColorAllocate($im_bg, 255, 255, 255);
$background_color = ImageColorAllocate($im_fg, 255, 255, 255);
$text_color = ImageColorAllocate($im_fg, 0, 0, 0);
ImageTTFText($im_fg, $size, 0, $x, 18, -$text_color, "aniron.ttf", $time);
imagecolortransparent($im_fg, $background_color);
imagecolortransparent($im_bg, $background_color);
imagecopy($im_bg, $im_fg, 0, 0, 0, 0, 185, 32);
header("Content-type: image/png");
ImagePNG($im_bg);
コード例 #29
0
ファイル: Create.class.php プロジェクト: rolwi/koala
 public function execute(\FrameResponseObject $frameResponseObject)
 {
     //echo SEMESTER_URL;die;
     //$portal = \lms_portal::get_instance();
     //$portal->initialize( GUEST_NOT_ALLOWED );
     $user = \lms_steam::get_current_user();
     $all_users = \steam_factory::groupname_to_object($GLOBALS["STEAM"]->get_id(), STEAM_ALL_USER);
     $scg = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), STEAM_COURSES_GROUP, CLASS_GROUP);
     $current_semester = \steam_factory::groupname_to_object($GLOBALS["STEAM"]->get_id(), $scg->get_groupname() . "." . STEAM_CURRENT_SEMESTER);
     if (!\lms_steam::is_steam_admin($user) && !lms_steam::is_semester_admin($current_semester, $user)) {
         include "bad_link.php";
         exit;
     }
     if ($_SERVER["REQUEST_METHOD"] == "POST") {
         $values = $_POST["values"];
         $problems = "";
         $hints = "";
         if (empty($values["semester"])) {
             throw new Exception("Semester is not given.");
         }
         if (empty($values["id"])) {
             $problems .= gettext("The course ID is missing.") . " ";
             $hints .= gettext("The ID is necessary for unique identification, ordering and finding the course. Please fill this out.") . " ";
         }
         if (!empty($values["access"]) && $values["access"] == PERMISSION_COURSE_PASSWORD && empty($values["password"])) {
             $problems .= gettext("The course password is missing.") . " ";
             $hints .= gettext("You chose to password protect your course. Please provide a password.") . " ";
         }
         if (empty($problems) && !empty($values["get_lsf_infos"])) {
             // INFOS UEBER LSF HOLEN
             $lsf_client = new \hislsf_soap();
             unset($_SESSION["LSF_COURSE_INFO"]);
             // TODO: SEMESTER DYNAMISCH SETZEN
             $result = $lsf_client->get_available_courses(SYNC_HISLSF_SEMESTER, $values["id"]);
             if (isset($result->veranstaltung)) {
                 if (count($result->veranstaltung) == 1) {
                     header("Location: " . PATH_URL . "course/create" . "/" . $current_semester->get_name() . "/?lsf_course_id=" . $result->veranstaltung->Veranstaltungsschluessel);
                     exit;
                 } else {
                     header("Location: " . PATH_URL . "course" . "/" . $current_semester->get_name() . "/hislsf/" . $values["id"] . "/");
                     exit;
                 }
             } else {
                 $problems = "Keine Veranstaltungen im LSF unter dieser Nummer gefunden.";
             }
         }
         if (empty($problems)) {
             if (empty($values["name"])) {
                 $problems .= gettext("The course name is missing.") . " ";
                 $hints .= gettext("A name is necessary for identification.") . " ";
             }
             if (strpos($values['id'], '.')) {
                 $problems .= gettext("Please don't use the \".\"-char in the course ID.") . ' ';
             }
             if (empty($values["tutors"])) {
                 $values["tutors"] = "NN";
             }
             if (empty($problems)) {
                 if (!isset($values["hislsf"]) || !$values["hislsf"]) {
                     $values["lsf_id"] = "";
                 }
                 $max_members = -1;
                 if ($values["lsf_id"] === "") {
                     if (!empty($values["maxsize"]) && trim($values["maxsize"]) != "" && preg_match('/[^-.0-9]/', trim($values["maxsize"]))) {
                         $problems .= gettext("Invalid max number of participants.") . " ";
                         $hints .= gettext("Please enter a valid number for the max number of participants.") . " " . gettext("Please note that the input of a '0' or to leave the field blank means no limitation.") . " ";
                     } else {
                         if (!empty($values["maxsize"]) && trim($values["maxsize"]) != "" && trim($values["maxsize"]) < 0) {
                             $problems .= gettext("Invalid max number of participants.") . " ";
                             $hints .= gettext("Please enter a number equal or greater than '0' for the max number of participants.") . " " . gettext("Please note that the input of a '0' or to leave the field blank means no limitation.") . " ";
                         } else {
                             if (isset($values["maxsize"])) {
                                 if (trim($values["maxsize"]) === "") {
                                     $max_members = 0;
                                 } else {
                                     $max_members = (int) trim($values["maxsize"]);
                                 }
                             }
                         }
                     }
                 }
                 if (empty($problems)) {
                     try {
                         $new_course = \steam_factory::create_group($GLOBALS["STEAM"]->get_id(), $values["id"], $current_semester, FALSE, $values["name"]);
                     } catch (Exception $e) {
                         $problems .= gettext("The course ID already exists.") . " ";
                         $hints .= gettext("The ID is necessary for unique identification, ordering and finding the course. This ID already exists.") . " ";
                     }
                     if (empty($problems)) {
                         $new_course->set_attributes(array("OBJ_TYPE" => "course", "COURSE_PARTICIPANT_MNGMNT" => $obj_type, "COURSE_SEMESTER" => $values["semester"], "COURSE_TUTORS" => $values["tutors"], "COURSE_SHORT_DSC" => $values["short_dsc"], "COURSE_LONG_DSC" => $values["long_dsc"], "COURSE_HISLSF_ID" => $values["lsf_id"]));
                         $learners = \steam_factory::create_group($GLOBALS["STEAM"]->get_id(), "learners", $new_course, FALSE, "Participants of course '" . $values["name"] . "'");
                         $learners->set_attribute("OBJ_TYPE", "course_learners");
                         $staff = \steam_factory::create_group($GLOBALS["STEAM"]->get_id(), "staff", $new_course, FALSE, "Tutors of course '" . $values["name"] . "'");
                         $staff->set_attribute("OBJ_TYPE", "course_staff");
                         $staff->add_member($user);
                         $admins = \steam_factory::create_group($GLOBALS["STEAM"]->get_id(), "admins", $new_course, FALSE, "Admins of course '" . $values["name"] . "'");
                         $admins->set_attribute("OBJ_TYPE", "course_admins");
                         // uncomment below if koala can handle admins vs tutors
                         //$admins->add_member( $user );
                         // RIGHTS MANAGEMENT =======================================
                         $course_calendar = $new_course->get_calendar();
                         $learners_workroom = $learners->get_workroom();
                         $course_workroom = $new_course->get_workroom();
                         $staff->set_sanction_all($staff);
                         $staff->sanction_meta(SANCTION_ALL, $staff);
                         $learners->set_sanction_all($staff);
                         $learners->sanction_meta(SANCTION_ALL, $staff);
                         $new_course->set_sanction_all($staff);
                         $new_course->sanction_meta(SANCTION_ALL, $staff);
                         $admins->set_sanction_all($admins);
                         $admins->sanction_meta(SANCTION_ALL, $admins);
                         $staff->set_sanction_all($admins);
                         $staff->sanction_meta(SANCTION_ALL, $admins);
                         $learners->set_sanction_all($admins);
                         $learners->sanction_meta(SANCTION_ALL, $admins);
                         $new_course->set_sanction_all($admins);
                         $new_course->sanction_meta(SANCTION_ALL, $admins);
                         $course_calendar->set_acquire(FALSE);
                         $course_calendar->set_sanction_all($staff);
                         $course_calendar->sanction_meta(SANCTION_ALL, $staff);
                         $course_calendar->set_sanction_all($admins);
                         $course_calendar->sanction_meta(SANCTION_ALL, $admins);
                         $course_calendar->set_read_access($learners, TRUE);
                         $course_calendar->set_write_access($new_course, FALSE);
                         $course_calendar->set_insert_access($new_course, FALSE);
                         $course_calendar->set_insert_access($all_users, FALSE);
                         // Course workroom
                         $course_workroom->set_sanction($new_course, SANCTION_READ | SANCTION_EXECUTE | SANCTION_ANNOTATE);
                         $course_workroom->set_sanction_all($staff);
                         $course_workroom->set_sanction_all($admins);
                         $course_workroom->sanction_meta(SANCTION_ALL, $staff);
                         $course_workroom->sanction_meta(SANCTION_ALL, $admins);
                         // Learners workroom
                         $learners_workroom->set_read_access($all_users, TRUE);
                         $learners_workroom->set_sanction($learners, SANCTION_READ | SANCTION_EXECUTE | SANCTION_ANNOTATE);
                         $learners_workroom->set_sanction_all($staff);
                         $learners_workroom->set_sanction_all($admins);
                         $learners_workroom->sanction_meta(SANCTION_ALL, $staff);
                         $learners_workroom->sanction_meta(SANCTION_ALL, $admins);
                         $koala_course = new \koala_group_course($new_course);
                         if (!isset($values["hislsf"]) || !$values["hislsf"]) {
                             $access = $values["access"];
                             $koala_course->set_access($access, $learners, $staff, $admins, KOALA_GROUP_ACCESS);
                             if (isset($values["password"]) && $access == PERMISSION_COURSE_PASSWORD) {
                                 $koala_course->get_group_learners()->set_password($values["password"]);
                             } else {
                                 $koala_course->get_group_learners()->set_password("");
                             }
                         } else {
                             $koala_course->set_access(PERMISSION_COURSE_HISLSF, $learners, $staff, $admins, KOALA_GROUP_ACCESS);
                         }
                         if ($max_members > -1) {
                             $learners->set_attribute(GROUP_MAXSIZE, $max_members);
                         }
                         // RIGHTS MANAGEMENT =======================================
                         // extensions:
                         if (isset($_POST["extensions_available"]) && !empty($_POST["extensions_available"])) {
                             $extensions_available = explode("/", $_POST["extensions_available"]);
                             if (isset($_POST["extensions_enabled"])) {
                                 $extensions_enabled = $_POST["extensions_enabled"];
                             } else {
                                 $extensions_enabled = array();
                             }
                             if (isset($_POST["extensions_enabled_add"])) {
                                 $extensions_enabled = array_merge($extensions_enabled, explode("/", $_POST["extensions_enabled_add"]));
                             }
                             if (is_array($extensions_available)) {
                                 foreach ($extensions_available as $extension_name) {
                                     $extension = \lms_steam::get_extensionmanager()->get_extension($extension_name);
                                     if (!is_object($extension)) {
                                         continue;
                                     }
                                     if (array_search($extension_name, $extensions_enabled) === FALSE) {
                                         $extension->disable_for($koala_course);
                                     } else {
                                         $extension->enable_for($koala_course);
                                     }
                                 }
                             }
                         }
                         $cache = get_cache_function("ORGANIZATION");
                         $cache->drop("lms_steam::semester_get_courses", $current_semester->get_id());
                         header("Location: " . PATH_URL . "semester/index" . "/" . $current_semester->get_name() . "/" . $new_course->get_name() . "/");
                         exit;
                     }
                 }
             }
         }
         if (!empty($problems)) {
             $frameResponseObject->setConfirmText($problems, $hints);
             //$portal->set_problem_description( $problems, $hints );
         }
     }
     if (!empty($_GET["lsf_course_id"])) {
         $lsf_client = new hislsf_soap();
         $course_infos = $lsf_client->get_course_information(SYNC_HISLSF_SEMESTER, $_GET["lsf_course_id"]);
         if (empty($course_infos) && empty($problems)) {
             $frameResponseObject->setConfirmText(gettext("Error getting course data from HIS/LSF."));
             //$portal->set_problem_description(gettext("Error getting course data from HIS/LSF.") );
         } else {
             if (empty($course_infos["course_dsc"])) {
                 $course_infos["course_dsc"] = "keine Beschreibung vorhanden.";
             } else {
                 $course_infos["course_dsc"] = unhtmlentities($course_infos["course_dsc"]);
             }
             $values = array("lsf_id" => $course_infos["course_lsf_id"], "id" => $course_infos["course_id"], "name" => $course_infos["course_name"], "tutors" => $course_infos["course_tutors"], "short_dsc" => $course_infos["course_type"], "long_dsc" => $course_infos["course_dsc"]);
         }
         $_SESSION["LSF_COURSE_INFO"] = "";
     }
     $content = \Course::getInstance()->loadTemplate("courses_create.template.html");
     //$content = new HTML_TEMPLATE_IT();
     //$content->loadTemplateFile( PATH_TEMPLATES . "courses_create.template.html" );
     $content->setVariable("FORM_ACTION", PATH_URL . "course/create" . "/" . $current_semester->get_name() . "/");
     $content->setVariable("VALUE_SEMESTER", h($current_semester->get_name()));
     //$content->setVariable( "INFO_TEXT", gettext( "Creating a course means..." ) );
     $content->setVariable("CONFIRMATION_TEXT", str_replace("%SEMESTER", h($current_semester->get_attribute("OBJ_DESC")), gettext("You are going to create a new course in <b>%SEMESTER</b>.")) . " " . gettext("Please fill out the requested meta data at first.") . " " . gettext("At the bottom, you can determine the manner of participant management.") . " " . gettext("Also you can add further course admins later on."));
     $content->setVariable("LABEL_GENERAL_INFORMATION", gettext("General Information"));
     $content->setVariable("LABEL_COURSE_ID", gettext("Course ID"));
     $content->setVariable("VALUE_COURSE_ID", isset($values) ? h($values["id"]) : '');
     $content->setVariable("LABEL_COURSE_NAME", gettext("Name"));
     $content->setVariable("VALUE_COURSE_NAME", isset($values) ? h($values["name"]) : '');
     $content->setVariable("LABEL_COURSE_SHORT_INFORMATION", gettext("Short Info"));
     $content->setVariable("VALUE_SHORT_DSC", isset($values) ? h($values["short_dsc"]) : '');
     $content->setVariable("SHORT_DSC_SHOW_UP", gettext("This value will show up in the semester's courses list beside id, name and staff members."));
     $content->setVariable("LABEL_COURSE_TUTORS", gettext("Staff members"));
     $content->setVariable("VALUE_TUTORS", isset($values) ? h($values["tutors"]) : '');
     $content->setVariable("LABEL_LONG_DSC", gettext("Long description"));
     $content->setVariable("LONG_DSC_SHOW_UP", gettext("This is for your course page. Please add information about schedule and locations at least."));
     $content->setVariable("VALUE_LONG_DSC", isset($values) ? h($values["long_dsc"]) : '');
     $content->setVariable("LABEL_BB_BOLD", gettext("B"));
     $content->setVariable("HINT_BB_BOLD", gettext("boldface"));
     $content->setVariable("LABEL_BB_ITALIC", gettext("I"));
     $content->setVariable("HINT_BB_ITALIC", gettext("italic"));
     $content->setVariable("LABEL_BB_UNDERLINE", gettext("U"));
     $content->setVariable("HINT_BB_UNDERLINE", gettext("underline"));
     $content->setVariable("LABEL_BB_STRIKETHROUGH", gettext("S"));
     $content->setVariable("HINT_BB_STRIKETHROUGH", gettext("strikethrough"));
     $content->setVariable("LABEL_BB_IMAGE", gettext("IMG"));
     $content->setVariable("HINT_BB_IMAGE", gettext("image"));
     $content->setVariable("LABEL_BB_URL", gettext("URL"));
     $content->setVariable("HINT_BB_URL", gettext("web link"));
     $content->setVariable("LABEL_BB_MAIL", gettext("MAIL"));
     $content->setVariable("HINT_BB_MAIL", gettext("email link"));
     $content->setVariable("PARTICIPANT_MANAGEMENT", gettext("Participant Management"));
     if (isset($values) && $values["lsf_id"] > 1) {
         $content->setCurrentBlock("HIS_LSF_PM");
         $content->setVariable("LSF_COURSE_ID", isset($values) ? h($values["lsf_id"]) : '');
         $content->setVariable("LSF_COURSE", isset($values) ? h($values["id"]) : '' . " " . isset($values) ? h($values["name"]) : '' . " (" . isset($values) ? h($values["short_dsc"]) : '' . ")");
         if ($values["hislsf"]) {
             $content->setVariable("HISLSF_CHECKED", "CHECKED");
         }
         $content->setVariable("LABEL_HISLSF", "Ja, es soll die Teilnehmerverwaltung des HIS LSF verwendet werden.");
         $content->setVariable("HISLSF_INFO", "Wenn gesetzt, k&ouml;nnen sich Studenten f&uuml;r diesen Kurs nur &uuml;ber das HIS LSF anmelden.");
         $content->parse("HIS_LSF_PM");
     }
     if (!isset($values) || !isset($values["hislsf"])) {
         $content->setCurrentBlock("BLOCK_MAXSIZE");
         $content->setVariable("LABEL_MAXSIZE", gettext("Max number of participants"));
         $content->setVariable("LABEL_MAXSIZE_DSC", gettext("To limit the max number of participants for your course enter a number greater than 0. Leave this field blank or enter a '0' for no limitation."));
         if (isset($values["maxsize"])) {
             $content->setVariable("VALUE_MAXSIZE", h($values["maxsize"]));
         }
         $content->parse("BLOCK_MAXSIZE");
         $content->setCurrentBlock("BLOCK_ACCESS");
         $content->setVariable("PARTICIPANT_MANAGEMENT", gettext("Participant Management"));
     }
     $access = \koala_group_course::get_access_descriptions();
     $access_default = PERMISSION_COURSE_PUBLIC;
     if (is_array($access) && (!isset($values) || !isset($values["hislsf"]))) {
         $content->setCurrentBlock("BLOCK_ACCESS");
         foreach ($access as $key => $array) {
             if ($key != PERMISSION_COURSE_PAUL_SYNC && $key != PERMISSION_UNDEFINED || isset($values) && (int) $values["access"] == PERMISSION_UNDEFINED) {
                 $content->setCurrentBlock("ACCESS");
                 $content->setVariable("LABEL", $array["summary_short"] . ": " . $array["label"]);
                 $content->setVariable("VALUE", $key);
                 if (isset($values) && $key == (int) $values["access"] || empty($values) && $key == $access_default) {
                     $content->setVariable("CHECK", "checked=\"checked\"");
                 }
                 if ($key == PERMISSION_COURSE_PASSWORD) {
                     $content->setVariable("ONCHANGE", "onchange=\"document.getElementById('passworddiv').style.display='block'\"");
                     $content->setCurrentBlock("ACCESS_PASSWORD");
                     $content->setVariable("LABEL_PASSWORD", gettext("Password"));
                     if (!empty($values["password"])) {
                         $content->setVariable("VALUE_PASSWORD", $values["password"]);
                     }
                     if (isset($values["access"]) && $values["access"] == PERMISSION_COURSE_PASSWORD) {
                         $content->setVariable("PASSWORDDIV_DISPLAY", "block");
                     } elseif (!isset($values["access"]) && $access_default == PERMISSION_COURSE_PASSWORD) {
                         $content->setVariable("PASSWORDDIV_DISPLAY", "block");
                     } else {
                         $content->setVariable("PASSWORDDIV_DISPLAY", "none");
                     }
                     $content->parse("ACCESS_PASSWORD");
                 } else {
                     $content->setVariable("ONCHANGE", "onchange=\"document.getElementById('passworddiv').style.display='none'\"");
                 }
                 $content->parse("ACCESS");
             }
         }
         $content->parse("BLOCK_ACCESS");
     }
     // extensions:
     //$extensions = \lms_steam::get_extensionmanager()->get_extensions_by_class( 'koala_group_course' );
     $extensions = 0;
     /*if ( count( $extensions ) > 0 ) {
     			$content->setCurrentBlock( "BLOCK_EXTENSIONS" );
     			$content->setVariable( "LABEL_EXTENSIONS", gettext( "Extensions" ) );
     			$extension_list = array();
     			foreach ( $extensions as $extension ) {
     				if( $extension->get_requirements() === array() )
     				{
     					$extension_name = $extension->get_name();
     					$content->setCurrentBlock( "BLOCK_EXTENSION" );
     					$content->setVariable( "EXTENSION_ID", $extension_name );
     					$content->setVariable( "EXTENSION_NAME", $extension->get_display_name() );
     					$content->setVariable( "EXTENSION_DESC", $extension->get_display_description() );
     					$subextensions = \lms_steam::get_extensionmanager()->get_dependent_extensions($extension);
     					if( count( $subextensions ) > 0 )
     					{
     						$content->setCurrentBlock( "BLOCK_SUBEXTENSIONS" );
     						$content->setVariable( "LABEL_SUBEXTENSIONS", str_replace( "%EXTENSION", h($extension->get_display_name()), gettext( "The following sub-extensions are available for %EXTENSION" ) ));
     						foreach($subextensions as $subextension)
     						{
     							$subextension_name = $subextension->get_name();
     							$content->setCurrentBlock( "BLOCK_SUBEXTENSION" );
     							$content->setVariable( "PARENT_EXTENSION_ID", $extension_name );
     							$content->setVariable( "SUBEXTENSION_ID", $subextension_name );
     							$content->setVariable( "SUBEXTENSION_NAME", $subextension->get_display_name() );
     							$content->setVariable( "SUBEXTENSION_DESC", $subextension->get_display_description() );
     							$content->setVariable( "SUBEXTENSION_DISABLED", "disabled=\"disabled\"" );
     							$content->parse( "BLOCK_SUBEXTENSION" );
     							$extension_list[] = $subextension_name;
     						}
     						$content->parse( "BLOCK_SUBEXTENSIONS" );
     					}
     					$content->parse( "BLOCK_EXTENSION" );
     					$extension_list[] = $extension_name;
     				}
     			}
     			$content->setVariable( "VALUE_EXTENSIONS", implode( "/", $extension_list ) );
     			$content->parse( "BLOCK_EXTENSIONS" );
     		}*/
     $content->setVariable("LABEL_CREATE_COURSE", gettext("Create and finish"));
     $content->setVariable("LABEL_CREATE_ADD_ADMIN", gettext("Create and add further admins"));
     //$portal->set_page_main(
     //array( array( "link" => PATH_URL . SEMESTER_URL . "/" . $current_semester->get_name(). "/", "name" => h($current_semester->get_attribute( "OBJ_DESC" )) ), array( "link" => "", "name" => gettext( "Create new course" ) ) ),
     //$content->get()
     //);
     $frameResponseObject->setHeadline(array(array("link" => PATH_URL . "semester/index" . "/" . $current_semester->get_name() . "/", "name" => h($current_semester->get_attribute("OBJ_DESC"))), array("link" => "", "name" => gettext("Create new course"))));
     $widget = new \Widgets\RawHtml();
     $widget->setHtml($content->get());
     $frameResponseObject->addWidget($widget);
     return $frameResponseObject;
 }
コード例 #30
0
/**
 * Function used to display
 * Blank Screen
 * if there is nothing to play or to show
 * then show a blank screen
 */
function blank_screen($data)
{
    global $swfobj;
    $code = '<div class="blank_screen" align="center">No Player or Video File Found - Unable to Play Any Video</div>';
    $swfobj->EmbedCode(unhtmlentities($code), $data['player_div']);
    return $swfobj->code;
}