4 This plugin allows users to select a page image graphic.
8 * @author andy fundinger <afundinger@burgiss.com>
9 * @based on aview_piclogocntrl.php and page_imagegallery.php
12 require_once('plugins/page/imagegallery.php');
13 define('EWIKI_PAGE_LOGOCNTRL_GALLERY','HeaderGallery');
15 $ewiki_plugins['edit_form_append'][] = 'ewiki_edit_form_append_pageimgcntrl';
16 $ewiki_plugins['edit_save'][] = 'ewiki_edit_save_pageimgcntrl';
17 $ewiki_plugins['view_final'][] = 'ewiki_add_title_image';
19 function ewiki_add_title_image(&$html, $id, &$data, $action) {
20 if(!isset($data['meta']['pageimage']) || ($data['meta']['pageimage'] == '') ){
23 $imagename=$data['meta']['pageimage'];
24 $image=ewiki_database('GET',$imagename);
25 if((EWIKI_PROTECTED_MODE) &&!ewiki_auth($imagename, $image, "binary-get")){
30 $x = $image['meta']["width"];
31 $y = $image['meta']["height"];
34 $o .= '<img src="' . ewiki_script_binary("", $imagename)
35 . '" border="0" width="'.$x.'" height="'.$y.'"'
38 $html=preg_replace('/<h2 class="page title">/','<h2 class="page title">' . $o,$html,1);
43 * Save selected pageimage value by setting it in the meta field of save data array
44 * passed by reference.
46 * @param array save associative array of ewiki form data
48 function ewiki_edit_save_pageimgcntrl(&$save){
49 if (isset($_REQUEST['pageimagecntrl']) ) {
50 if($_REQUEST['pageimagecntrl']==-1){
51 unset($save['meta']['pageimage']);
53 $imageExist=ewiki_database('FIND',array($_REQUEST['pageimagecntrl']));
54 //var_dump($imageExist);
55 if($imageExist[$_REQUEST['pageimagecntrl']])
56 $save['meta']['pageimage'] = $_REQUEST['pageimagecntrl'];
61 function ewiki_edit_form_append_pageimgcntrl ($id, $data, $action){
64 #-- fetch and asort images
66 $result = ewiki_db::GETALL(array("flags", "created", "meta"));
67 while ($row = $result->get()) {
68 if ((($row["flags"] & EWIKI_DB_F_TYPE) == EWIKI_DB_F_BINARY)
69 && (strpos($row['meta']['Content-Type'], 'image/') === 0)) {
70 if(isset($ewiki_config['image-galleries'][EWIKI_PAGE_LOGOCNTRL_GALLERY])){
71 foreach($ewiki_config['image-galleries'][EWIKI_PAGE_LOGOCNTRL_GALLERY]as $field=>$value){
72 if($row['meta'][$field]!=$value){
77 if (!EWIKI_PROTECTED_MODE || (EWIKI_PROTECTED_MODE_HIDING <= .5)|| ewiki_auth($row["id"], $uu, "binary-get")) {
78 $sorted[$row["id"]] = substr($row['meta']["Content-Location"].' ('.$row["id"].')',0,70);
79 //echo("adding ".$row["id"].", ".$sorted[$row["id"]]."<br />");
87 <br /><label for="pageimagecntrl">Choose Page Image (<A href="'.ewiki_script(EWIKI_PAGE_LOGOCNTRL_GALLERY).'">view thumbnails</A>):</label>
88 <select id="pageimagecntrl" name="pageimagecntrl">'.
89 '<option value="-1" '.(!isset($data['meta']['pageimage']) || $data['meta']['pageimage'] == '' ? ' selected="selected"' : '').'>None</option>' ;
91 foreach ($sorted as $image => $name) {
92 $o .= '<option value="'.htmlentities($image).'"'.
93 (isset($data['meta']['pageimage']) && $image == $data['meta']['pageimage'] ? ' selected="selected"' : '').
94 '>'.htmlentities($name).'</option>';