Hi,
To run gallery2 in the PHPGedview (Genealogy program), you might need to modify some files in order to
have the gallery working. What I did is described below:
Note: You need to watch the url in your browser to see where your system is finding the module.php
Example: If you select gallery from PHPGedview than your webbrouwser might indicate something like :
'http://www.yourdomain.com/module.php?mod=gallery2'
In that case the modification on PGV.php as described below is not required.
Your browser is showing :
'http://www.yourdomain.com/subfolder/module.php?mod=gallery2'
In that case you need (for now) change the PGV.php file to have the correct link to your site.
Modify PGV.PHP (search for $url):
function mod_gallery2_load($uid)
{
global $SERVER_URL, $language_settings, $LANGUAGE, $modinfo, $pgv_lang;
$user_id=get_user_id($uid); // $uid is the gallery2 user-name, $user_id is the PGV user-id
// Rebuild the url, just to be sure we have a clean one
$bits = parse_url($SERVER_URL);
if(isset($bits['query'])){$bits['query'] = "&{$bits['query']}";}else{$bits['query'] = '';}
if(isset($bits['fragment'])){$bits['fragment'] = "#{$bits['fragment']}";}else{$bits['fragment'] = '';}
$url = "{$bits['scheme']}://{$bits['host']}/subfolder/module.php?mod=gallery2{$bits['query']}{$bits['fragment']}";
Then look for (2 times) the 'g2Uri' => G2EmbedDiscoveryUtilities::normalizeG2Uri($modinfo['Gallery2']['path']),
To have gallery working and displaying the pictures, these lines should be commented out by to dashes
// 'g2Uri' => G2EmbedDiscoveryUtilities::normalizeG2Uri($modinfo['Gallery2']['path']),
and replace them with:
'g2Uri' => "/subfolder/modules/gallery2/",
In order to see the right pictures and templates, I need to define the BaseUri in CONFIG.PHP to :
$gallery->setConfig('galleryBaseUrl', '');
$gallery->setConfig('baseUri', '');
End of mods.
Regards,
Rick.
Posts: 2
I followed the instructions, but get a security violation error when trying to access the gallery. When I hover over the gallery link in PGV, the URL looks like: http://mydomain/module.php?mod=gallery2. Therefore I didn't modify pgv.php and only made the changes you suggested to make in config.php. When I click the gallery link, the browser gets redirected to http://mydomain/main.php?mod=gallery2. Here is what the browser shows as well as the error log:
Security Violation
The action you attempted is not permitted.
Back to the Gallery
Error Detail +
Error (ERROR_BAD_PARAMETER) : Smarty error: The template 'themes/matrix/templates/theme.tpl' does not exist.
* in modules/core/classes/GallerySmarty.class at line 76 (GalleryCoreApi::error)
* in modules/core/classes/GalleryTemplate.class at line 442 (GallerySmarty::trigger_error)
* in ??? at line 0 (GalleryTemplate::resourceGetTemplate)
* in lib/smarty/Smarty.class.php at line 1559
* in lib/smarty/Smarty.class.php at line 1414 (Smarty::_fetch_resource_info)
* in lib/smarty/Smarty.class.php at line 1260 (Smarty::_compile_resource)
* in modules/core/classes/GallerySmarty.class at line 61 (Smarty::fetch)
* in modules/core/classes/GalleryTemplate.class at line 219 (GallerySmarty::fetch)
* in /DOCROOT/main.php at line 521 (GalleryTemplate::fetch)
* in /DOCROOT/main.php at line 104
* in /DOCROOT/main.php at line 88
realpath(/DOCROOT/modules/gallery2/modules/core/classes/../../../) realpath(/DOCROOT/modules/gallery2/) (mysqli): SET NAMES "utf8" (mysqli): update g2_SequenceEventLog set id=LAST_INSERT_ID(id+1); (mysqli): UPDATE g2_EventLogMap SET g_userId=5, g_type='Gallery Error', g_summary='Smarty error: The template \'themes/matrix/templates/theme.tpl\' does not exist.', g_details='Error (ERROR_BAD_PARAMETER) : Smarty error: The template \'themes/matrix/templates/theme.tpl\' does not exist. in modules/core/classes/GallerySmarty.class at line 76 (GalleryCoreApi::error) in modules/core/classes/GalleryTemplate.class at line 442 (GallerySmarty::trigger_error) in ??? at line 0 (GalleryTemplate::resourceGetTemplate) in lib/smarty/Smarty.class.php at line 1559 in lib/smarty/Smarty.class.php at line 1414 (Smarty::_fetch_resource_info) in lib/smarty/Smarty.class.php at line 1260 (Smarty::_compile_resource) in modules/core/classes/GallerySmarty.class at line 61 (Smarty::fetch) in modules/core/classes/GalleryTemplate.class at line 219 (GallerySmarty::fetch) in /DOCROOT/main.php at line 521 (GalleryTemplate::fetch) in /DOCROOT/main.php at line 104 in /DOCROOT/main.php at line 88 Request variables: Array ( [view] => core.ShowItem [itemId] => 7 ) ', g_location='http://mydomain/main.php?mod=gallery2', g_client='undisclosed_ip', g_timestamp=1234533096, g_referer=NULL WHERE g_id=26 (mysqli): INSERT INTO g2_EventLogMap (g_id, g_userId, g_type, g_summary, g_details, g_location, g_client, g_timestamp, g_referer) VALUES (26,5,'Gallery Error','Smarty error: The template \'themes/matrix/templates/theme.tpl\' does not exist.','Error (ERROR_BAD_PARAMETER) : Smarty error: The template \'themes/matrix/templates/theme.tpl\' does not exist. in modules/core/classes/GallerySmarty.class at line 76 (GalleryCoreApi::error) in modules/core/classes/GalleryTemplate.class at line 442 (GallerySmarty::trigger_error) in ??? at line 0 (GalleryTemplate::resourceGetTemplate) in lib/smarty/Smarty.class.php at line 1559 in lib/smarty/Smarty.class.php at line 1414 (Smarty::_fetch_resource_info) in lib/smarty/Smarty.class.php at line 1260 (Smarty::_compile_resource) in modules/core/classes/GallerySmarty.class at line 61 (Smarty::fetch) in modules/core/classes/GalleryTemplate.class at line 219 (GallerySmarty::fetch) in /DOCROOT/main.php at line 521 (GalleryTemplate::fetch) in /DOCROOT/main.php at line 104 in /DOCROOT/main.php at line 88 Request variables: Array ( [view] => core.ShowItem [itemId] => 7 ) ','http://mydomain/main.php?mod=gallery2','undisclosed_ip',1234533096,NULL) (mysqli): ROLLBACK
I'm using PGV 4.2 and gallery 2.3.
Thanks for the help.
Posts: 40
Hi eisenadler,
It looks like a template is missing, part of the matrix theme. Could you verify that the file themes/matrix/templates/theme.tpl is located on your server?
Further more you could find on the following link more details on how to install gallery2 in phpgedview :
http://sourceforge.net/tracker/index.php?func=detail&aid=2485050&group_id=55456&atid=477081
Hope you can solve the problem.
Rick.
Posts: 2
Rick,
Thanks for the link to the files on sourceforge. I got the problem fixed by following the latest readme file there and using the updated code for index.php. One other thing I had to do to get the online installer working was I had to create a symlink from my docroot to modules/gallery2/install. Once I did that, I was able to get it installed and working. Thanks for your help!
Sean
Posts: 40
Dear Sean,
Thanks for your feedback. Glad that thinks worked out for you.
Regards,
Rick.
Posts: 6
Hi! I just installed G2 (2.3) to a phpGedView 4.1.5 site. I made the config.php changes but I saw the right URL so I didn't change pgv.php. When I am not logged in to phpGedView, I can click on the Gallery button and see G2 just fine. If I log in to phpGedView and click on Gallery, I get an http 500 error. Any suggestions?
Thanks!
Posts: 40
Dear Teaguew,
Where this error comes from is unknown to me. It is a internal server error.
Did you also look at the link which is in the message of 3-1-09 ? It is a patch for using gallery in phpgedview.
The patch is based on the latest version of phpgedview but I think it should also work on 4.1.5 as I remember.
If you don't succeed, let me know so we could try to solve this.
Posts: 6
Slimmehenkie,
Thanks. Can you tell me the subject of the message? Also, I'm in the USm so I'm not sure whether 3-1-09 is March 1 or January 3.
Thanks!
Posts: 40
Teaguew,
The message in this forum is at the 3th of January 2009 but here is the link again:
http://sourceforge.net/tracker/index.php?func=detail&aid=2485050&group_id=55456&atid=477081
Keep me posted on your progress.
Rick.
Posts: 6
Thanks! I checked the readme file. I'm mystified. My pgv.php file doesn't have the line
$url = "{$bits['scheme']}://{$bits['host']}/module.php?mod=gallery2{$bits['query']}{$bits['fragment']}";
anywhere in it, and the line
g2Uri' => G2EmbedDiscoveryUtilities::normalizeG2Uri($modinfo['Gallery2']['path']),
only appears once. I forgot I had already seen the readme file and made the change to the one instance of the "g2Uri' =>" that was there.
Posts: 40
Hi Teaguew,
Thats in the new release. On 4.1.5 I used the following configuration:
part of PGV.PHP:
$ret = GalleryEmbed::init(array(
'embedUri' => "/phpgedview/index.php?mod=gallery2",
// 'embedUri' => "{$SERVER_URL}{$sep}index.php?mod=gallery2",
// 'g2Uri' => "/gallery2/",
'g2Uri' => "/phpgedview/modules/gallery2/",
// 'g2Uri' => G2EmbedDiscoveryUtilities::normalizeG2Uri($modinfo['Gallery2']['path']),
Note: the /phpgedview/index.php?mod=gallery2 needs to be determent appending on your configuration. If you installed phpgedview in the root of your website
then it would be /index.php?mod=gallery2 ( the same for the g2Uri)!
In config.php I configured the lines :
$gallery->setConfig('galleryBaseUrl', '');
$gallery->setConfig('baseUri', '');
The gallery2.php in the /modules folder contains:
<?php exit; ?>
[Module]
type = PGV_MOD_SIMPLE
[Gallery2]
; Path to your Gallery install, no trailing seperator please.
path = modules/gallery2
Hope this will get gallery2 on phpgedview 4.1.5 working for you.
Keep me posted.
Rick.
Posts: 6
slimmehenkie
I took another approach ... I upgraded my phpGedView and re-did the mods per the PGV wiki and your instructions. No more 500 error, but now I see this:
An error occurred during the on-the-fly user creation.
Error (ERROR_MISSING_OBJECT)
in modules/core/classes/helpers/GalleryUserHelper_medium.class at line 143 (GalleryCoreApi::error)
in modules/core/classes/GalleryCoreApi.class at line 606 (GalleryUserHelper_medium::fetchUserByUserName)
in pgv.php at line 108 (GalleryCoreApi::fetchUserByUserName)
in index.php at line 39
in index.php at line 34
in /home/heypopan/public_html/familytree/module.php at line 72
Posts: 40
Hi Teaguew,
When you have this error :
An error occurred during the on-the-fly user creation.
Error (ERROR_MISSING_OBJECT)
You could change the method of encryption in PGV.PHP by:
'hashmethod'=>'crypt' -> 'hashmethod'=>'phpass'
This change should solve the problem.
Regards,
Rick.
Posts: 2
This thread should have started with "Did you download and install Gallery2 into your phpgedview modules folder? Did you overwrite the new Gallery2 index.php with the one that came with PhpGedView? If so, continue. (cause Gallery2 doesnt come with pgv.) Sure, seems like common sense, but its not. Common sense would have been a working link in PGV in the first place. With an option to enable/disable in a control panel.
Posts: 17
Hi,
I have a problem with Gallery v2.3.1 and PhpGedView v4.2.3. The install Gallery to directory gallery2 in PGV was OK and separately Gallery works OK too. But when I run Gallery from PGV, appear this mistakes:
ERROR 8: Undefined index: pageUrl
0 Error occurred on line 1643 of file GalleryTheme.class in function loadCommonTemplateData
1 called from line 470 of file theme.inc in function showAlbumPage
2 called from line 373 of file theme.inc in function loadTemplate
3 called from line 301 of file GalleryView.class in function doLoadTemplate
4 called from line 465 of file main.php in function _GalleryMain
5 called from line 104 of file main.php in function GalleryMain
6 called from line 189 of file GalleryEmbed.class in function handleRequest
7 called from line 41 of file index.php in function mod_gallery2_run
8 called from line 34 of file index.php in function require_once
9 called from line 72 of file module.php
ERROR 2: Cannot modify header information - headers already sent by (output started at D:\Program Files\XamppServer\xampp\htdocs\xampp\hajek-rodokmen.info\PHPGedView42\includes\functions\functions.php:606)
The file index.php is file, which was in PGV.
Can help me anybody?
Pompo
Posts: 40
Dear Pompo,
Could you tell me how the line in PGV.PHP looks like where it defines the g2Uri parameter?
This file is located in the modules/gallery2 folder of the PHPGEDVIEW system.
The line looks like:
'g2Uri' => ...................
Rick.
PS see my post here from "Posted: Wed, 2009-03-18 06:46"
Posts: 17
Thx for your reply.
This is the code in pgv.php:
.
.
.
$init = GalleryEmbed::init(array(
'embedUri' => G2EmbedDiscoveryUtilities::normalizeEmbedUri($url),
(line 75) 'g2Uri' => G2EmbedDiscoveryUtilities::normalizeG2Uri($modinfo['Gallery2']['path']),
'activeUserId' => $uid,
'activeLanguage' => $language_settings[$LANGUAGE]['lang_short_cut'],
'apiVersion' => array(1, 1)
));
.
.
.
Ofcourse, I previewed all your texts, but I am not PHP programer and I do not uderstand it.
Posts: 17
While ago I trayed your code from Posted: Wed, 2009-03-18 05:46, but doesn't work again.
Posts: 40
Hi Pompo,
I never had gallery2 working with the excisting configuration file of pgv.php. But with the change made to this file
it always worked.
Now what does the change mean: disable the origional definition of g2Uri and write a new one by following example.
line 75:
// 'g2Uri' => G2EmbedDiscoveryUtilities::normalizeG2Uri($modinfo['Gallery2']['path']),
'g2Uri' => "/modules/gallery2/",
line 139 (org line number before the change of line 75 was 138):
// 'g2Uri' => G2EmbedDiscoveryUtilities::normalizeG2Uri($modinfo['Gallery2']['path']),
'g2Uri' => "/modules/gallery2/",
If this will not solve the issue, please send the failure info again, maybe by PB.
Rick.
PS included is my PGV.PHP
Posts: 17
Hi,
slimmehenkie. Thank you for your help, but appear mistake again:
ERROR 8: Undefined index: pageUrl
0 Error occurred on line 1648 of file GalleryTheme.class in function loadCommonTemplateData
1 called from line 470 of file theme.inc in function showAlbumPage
2 called from line 373 of file theme.inc in function loadTemplate
3 called from line 301 of file GalleryView.class in function doLoadTemplate
4 called from line 465 of file main.php in function _GalleryMain
5 called from line 104 of file main.php in function GalleryMain
6 called from line 189 of file GalleryEmbed.class in function handleRequest
7 called from line 42 of file index.php in function mod_gallery2_run
8 called from line 35 of file index.php in function require_once
9 called from line 72 of file module.php
ERROR 2: Cannot modify header information - headers already sent by (output started at D:\Program Files\XamppServer\xampp\htdocs\xampp\hajek-rodokmen.info\PHPGedView42\modules\gallery2\language\mod_cz.php:1)
As I see, it is a bigg problem. I am sorry that author of PGV does not work.
Posts: 40
Hi Pompo,
What is the root of your website for Xamppserver? Is this hajekrodokmen.info or PHPGedView42 ?
I just wonder if you modified the PGV.PHP into:
A. 'g2Uri' => "/PHPGedView42/modules/gallery2/",
B. 'g2Uri' => "/hajekrodokmen.info/PHPGedView42/modules/gallery2/",
C. 'g2Uri' => "/modules/gallery2/",
I guess the A option would be appropriate but not sure. Maybe you can test all three options to see which is working?
Posts: 17
Hi,
I tryed your options, but this do not work.
In attechments jpg files you can see that look like.
Posts: 40
Hi Pompo,
The last option looks the best. At least you see the images of the albums at Gallery Embedded like you see them when running Gallery without PGV. Still, the error excist. Can you show what is in the file 'gallery2.php in the module folder?
Rick.
Posts: 17
Here are the contents of file gallery2.php:
;<?php exit; ?>
[Module]
type = PGV_MOD_SIMPLE
[Gallery2]
; Path to your Gallery install, no trailing separator please.
path = modules/gallery2
Posts: 40
Hi Pompo,
I just noted your picture names, the best result is the G2a.jpg picture which means the A. 'g2Uri' => "/PHPGedView42/modules/gallery2/",
works the best.
Unfortunately I did change my own configuration a couple of month ago. I build up my website like you did with an extra path in the configuration and I remember that I had to change more but lost these files. Give me a couple of time to find out what else needed to be changed in order to have it running.
I use the PGV.php file included in the post of today at 14:53. I know it is different from the included PGV.php file, included in the latest PHPGEDVIEW release. If you want to test with this file, please correct the g2Uri according to the example A, on both places in this file.
Rick.
I found a previous post of me where I had changed the following parameter in PGV.php :
$url = "{$bits['scheme']}://{$bits['host']}/module.php?mod=gallery2{$bits['query']}{$bits['fragment']}";
into
$url = "{$bits['scheme']}://{$bits['host']}/phpgedview/module.php?mod=gallery2{$bits['query']}{$bits['fragment']}";
In your case it should read:
$url = "{$bits['scheme']}://{$bits['host']}/PHPGedView42/module.php?mod=gallery2{$bits['query']}{$bits['fragment']}";
Rick.
Posts: 17
Hi,
no, no, G2a file looks like the best with 'g2Uri'=> "/modules/gallery2/", and with index.php from Gallery.
Posts: 17
Hi,
I tryed it, but the situation remains the same as on the picture G2a.jpg.
I attach file pgv.php.
Posts: 17
Dear slimmehenkie,
in Czech is midnight I go to sleep.
I'll be back tomorrow.
Pompo.
Posts: 40
Hi Pompo,
Hope you had a good rest. Sorry, didn't check the email last night so missed your replies. I modified your pgv.php, maybe you did test these settings already but just in case off.
I tried to look on your site but gallery is not available for guests I suppose. At least nothing is comming back when pressing the gallery button.
So to be sure: Gallery is working fine when you access the gallery program with : http://yourdomain/modules/gallery2/main.php ?
Rick.
Posts: 40
Hi Pompo,
can you also try to change (for test) the following parameter in the config.php file?
At the end it reads:
$gallery->setConfig 'baseUri', '');
Please try this:
$gallery->setConfig('baseUri', 'http://yourwebsite/PHPGedView42/module.php?mod=gallery2');
Posts: 17
Hi, slimmehenkie,
I tried all your suggestions, but issue is the same.
Do you have a tip for free PHP debugger? I would try to step through the script and watch the variables and see where the problem is.
Or you knew how to edit the gallery2 module from PGV to trigger Gallery in a separate window? With that I would have probably settled because self-Gallery 2.3.1 running well.
Gallery 2.3.1 is evaluated only on the home server XAMPP.
Posts: 40
Hi Pompo,
Well you can modify the file menu.php in the gallery2 folder.
Code:
// Gallery
$menu = new Menu($pgv_lang['mod_gallery2'], 'modules/gallery2/main.php', 'down');
if(!empty($PGV_IMAGES['menu_gallery']['large'])){$menu->addIcon("{$PGV_IMAGE_DIR}/{$PGV_IMAGES['menu_gallery']['large']}");}
$menu->addClass("menuitem{$ff}", "menuitem_hover{$ff}", "submenu{$ff}", "icon_large_menu_gallery");
// Advanced Search
$submenu = new Menu($pgv_lang['mod_gallery2_advsearch'], 'modules/gallery2/main.php?g2_view=search.SearchScan');
$submenu->addIcon("{$PGV_IMAGE_DIR}/{$PGV_IMAGES['search']['small']}");
$submenu->addClass("submenuitem{$ff}", "submenuitem_hover{$ff}", "", "icon_small_search");
$menu->addSubmenu($submenu);
The parts in bold are the new settings in this file. Note that the link between the phpgedview login and gallery login is lost. That means when you are logged in as administrator in phpgedview, you will not automatically logged in as administrator in gallery2.
Rick.
Posts: 17
Hi, slimmehenkie.
This situacion is horrible. I do not know, where is mistake. I replaced the original file menu.php file from you, but again it does not work. But it is interesting that when I move the mouse to button for the gallery in the system tray pops up the following:
http://localhost/xampp/hajek-rodokmen.info/PHPGedView42/module.php?mod=gallery2
I waited there about this entry:
http://localhost/xampp/hajek-rodokmen.info/PHPGedView42/modules/gallery2/index.php
Where the error can be?
Posts: 17
Sorry, it is working. I made a mistake while writing a file menu.php. But it remains a mistake and this one:
ERROR 2: Cannot modify header information - headers already sent by (output started at D:\Program Files\XamppServer\xampp\htdocs\xampp\hajek-rodokmen.info\PHPGedView42\modules\gallery2\language\mod_cz.php:1)
Posts: 17
Hi, slimmehenkie
So I ordered off the gallery2 directory PhpGedView directory and modified my path in the menu.php file. Gallery works good and also disappeared last error, which is displayed in PGV. Gallery but runs in the same window that displays PGV. You knew how to do that, the gallery opened, either in a separate window or in another tab?
At html this writing requirement ensures <a target="_blank" href ...
Where should I put target="_blank" to the code of gallery show in a separate window or tab? That it could be my last request for help. I have bothered you enough and I am very grateful for the fact that you devoted to my problem.
Posts: 40
Hi Pompo,
Glad that gallery is working for you this way. But still, it should be possible to get it to run in embeded mode.
I understand your whish to have gallery opened in a seperat window. I will try to find out how to do that, give me some time. In the mean time I would suggest to install a plugin (if it is not already available in your gallery) which is called : link in the head. You should find that in the extra data area of the configuration screen in gallery.
With this plugin you can create a button on the gallery page called as example "HOME" which will bring the visitor back to your phpgedview program.
I use this for my own album in combination with Joomla.
Don't worry about my time spending to help you. I have been struggeling a lot of time to get gallery running fine with phpgedview and know how frustrating it is.
Let me know if the "home" button is enough for you or you still want to have gallery opened in new window.
Rick.
Posts: 17
Hi, Rick,
I think that the problem of the HOME button to return to the gallery PGV can be solved. Maybe a button in the gallery will be easier to create than to look where you write code to PGV for a gallery opening in a separate window. I wish you success in this direction.
When you can HOME button finish, could you send me a message to the address?
I will now try to install the gallery on my Web site. If I succeed, I will let you know here.
Pompo.
Posts: 40
Hi Pompo,
First, remove your email address from the post in this forum because you might get attacked by spam email machines. I copied your email into my contacts so don't worry about that.
The home button is not a matter of writing, you just need to install a plugin in gallery2 which is called 'link in the head'. With the plugin you are able to create any button you like with a link to a website. In this case I suggest something like HOME with a link to http://yourphpgedview.site
But I will also test and see if I can get it opened in a new window. Keep you posted. Rick.
Hi Pompo, how to get gallery into a seperat window is not something that I can solve quickly. Till now I could not find the right spot. If you don't mind I will try later on but leave it as it is for now. If you need more assistance with the 'HOME' button, let me know.