2005-01-12 16:22:55 +00:00
< ? php
2004-12-11 22:33:01 +00:00
/*******************************************************************/
2005-01-10 22:15:44 +00:00
/* this script expects appId and optionally versionId as arguments */
2004-12-11 22:33:01 +00:00
/* OR */
/* cmd and imageId */
/*******************************************************************/
2004-12-25 20:08:00 +00:00
/*
2004-12-27 23:54:55 +00:00
* application environment
2004-12-25 20:08:00 +00:00
*/
2004-03-15 16:22:00 +00:00
include ( " path.php " );
2005-01-30 00:57:34 +00:00
require ( BASE . " include/incl.php " );
require ( BASE . " include/screenshot.php " );
require ( BASE . " include/application.php " );
require ( BASE . " include/mail.php " );
2004-12-25 20:08:00 +00:00
2004-12-14 02:26:38 +00:00
if ( $_REQUEST [ 'cmd' ])
2004-03-15 16:22:00 +00:00
{
2004-11-17 22:57:20 +00:00
//process screenshot upload
2004-12-14 02:26:38 +00:00
if ( $_REQUEST [ 'cmd' ] == " screenshot_upload " )
2004-12-18 06:06:46 +00:00
{
2004-12-19 19:30:27 +00:00
if ( havepriv ( " admin " ) ||
2004-12-23 01:13:26 +00:00
( loggedin () && $_SESSION [ 'current' ] -> is_maintainer ( $_REQUEST [ 'appId' ],
$_REQUEST [ 'versionId' ])))
{
2005-01-27 15:42:53 +00:00
$oScreenshot = new Screenshot ( null , false , $_SESSION [ 'current' ] -> userid , $_REQUEST [ 'appId' ], $_REQUEST [ 'versionId' ], $_REQUEST [ 'screenshot_desc' ], $_FILES [ 'imagefile' ]);
if ( $oScreenshot )
2004-12-11 22:33:01 +00:00
{
2005-01-27 15:42:53 +00:00
//success
2005-01-30 00:57:34 +00:00
$sEmail = getNotifyEmailAddressList ( $_REQUEST [ 'appId' ], $_REQUEST [ 'versionId' ]);
if ( $sEmail )
2005-01-27 15:42:53 +00:00
{
2005-01-30 00:57:34 +00:00
$sFullAppName = " Application: " . lookupAppName ( $_REQUEST [ 'appId' ]) . " Version: " . lookupVersionName ( $_REQUEST [ 'appId' ], $_REQUEST [ 'versionId' ]);
$ms = APPDB_ROOT . " screenshots.php?appId= " . $_REQUEST [ 'appId' ] . " &versionId= " . $_REQUEST [ 'versionId' ] . " \r \n " ;
$ms .= " \r \n " ;
$ms .= $_SESSION [ 'current' ] -> realname . " added screenshot " . $_REQUEST [ 'screenshot_desc' ] . " to " . $sFullAppName . " \r \n " ;
mail_appdb ( $sEmail , $sFullAppName , $sMsg );
2004-12-23 01:13:26 +00:00
}
2005-01-27 15:42:53 +00:00
addmsg ( " The image was successfully added into the database " , " green " );
redirect ( apidb_fullurl ( " screenshots.php?appId= " . $_REQUEST [ 'appId' ] . " &versionId= " . $_REQUEST [ 'versionId' ]));
2004-12-18 06:06:46 +00:00
}
} else // we are a normal user or an anonymous and submitted a screenshot
{
2005-01-27 15:42:53 +00:00
$oScreenshot = new Screenshot ( null , true , $_SESSION [ 'current' ] -> userid , $_REQUEST [ 'appId' ], $_REQUEST [ 'versionId' ], $_REQUEST [ 'screenshot_desc' ], $_FILES [ 'imagefile' ]);
if ( $oScreenshot )
2004-12-18 06:06:46 +00:00
{
2005-01-27 15:42:53 +00:00
//success
2005-01-30 00:57:34 +00:00
$sEmail = getNotifyEmailAddressList ( $_REQUEST [ 'appId' ], $_REQUEST [ 'versionId' ]);
if ( $sEmail )
2004-12-18 06:06:46 +00:00
{
2005-01-30 00:57:34 +00:00
$sFullAppName = " Application: " . lookupAppName ( $_REQUEST [ 'appId' ]) . " Version: " . lookupVersionName ( $_REQUEST [ 'appId' ], $_REQUEST [ 'versionId' ]);
$sMsg = APPDB_ROOT . " admin/adminAppDataQueue.php?queueId= " . mysql_insert_id () . " \n " ;
$sMsg .= " \r \n " ;
$sMsg .= ( $_SESSION [ 'current' ] -> realname ? $_SESSION [ 'current' ] -> realname : " an anonymous user " ) . " submitted a screenshot " . $_REQUEST [ 'screenshot_desc' ] . " for " . $sFullAppName . " \n " ;
2005-01-27 15:42:53 +00:00
2005-01-30 00:57:34 +00:00
mail_appdb ( $sEmail , $sFullAppName , $sMsg );
}
2005-01-27 15:42:53 +00:00
addmsg ( " The image you submitted will be added to the database database after being reviewed " , " green " );
redirect ( apidb_fullurl ( " screenshots.php?appId= " . $_REQUEST [ 'appId' ] . " &versionId= " . $_REQUEST [ 'versionId' ]));
2004-12-18 06:06:46 +00:00
}
2004-12-11 22:33:01 +00:00
}
2005-01-27 15:42:53 +00:00
$oScreenshot -> free ();
} elseif ( $_REQUEST [ 'cmd' ] == " delete " && is_numeric ( $_REQUEST [ 'imageId' ]))
2004-12-11 22:33:01 +00:00
{
2004-12-19 19:30:27 +00:00
if ( havepriv ( " admin " ) ||
$_SESSION [ 'current' ] -> is_maintainer ( $_REQUEST [ 'appId' ],
$_REQUEST [ 'versionId' ]))
2004-12-18 06:06:46 +00:00
{
2005-01-27 15:42:53 +00:00
$oScreenshot = new Screenshot ( $_REQUEST [ 'imageId' ]);
if ( $oScreenshot && $oScreenshot -> delete ())
2004-12-18 06:06:46 +00:00
{
2005-01-30 00:57:34 +00:00
$sEmail = getNotifyEmailAddressList ( $_REQUEST [ 'appId' ], $_REQUEST [ 'versionId' ]);
if ( $sEmail )
2004-11-17 22:57:20 +00:00
{
2005-01-30 00:57:34 +00:00
$sFullAppName = " Application: " . lookupAppName ( $_REQUEST [ 'appId' ]) . " Version: " . lookupVersionName ( $_REQUEST [ 'appId' ], $_REQUEST [ 'versionId' ]);
$sMsg = APPDB_ROOT . " screenshots.php?appId= " . $_REQUEST [ 'appId' ] . " &versionId= " . $_REQUEST [ 'versionId' ] . " \n " ;
$sMsg .= " \n " ;
$sMsg .= ( $_SESSION [ 'current' ] -> realname ? $_SESSION [ 'current' ] -> realname : " Anonymous " ) . " deleted screenshot from " . $sFullAppName . " \r \n " ;
2004-11-17 22:57:20 +00:00
2005-01-30 00:57:34 +00:00
mail_appdb ( $sEmail , $sFullAppName , $sMsg );
2004-11-17 22:57:20 +00:00
}
2004-12-18 06:06:46 +00:00
addmsg ( " Image deleted " , " green " );
redirect ( apidb_fullurl ( " screenshots.php?appId= " . $_REQUEST [ 'appId' ] . " &versionId= " . $_REQUEST [ 'versionId' ]));
} else
{
redirect ( apidb_fullurl ( " screenshots.php?appId= " . $_REQUEST [ 'appId' ] . " &versionId= " . $_REQUEST [ 'versionId' ]));
2004-12-11 22:33:01 +00:00
}
2004-12-18 06:06:46 +00:00
}
}
2005-01-27 15:42:53 +00:00
$oScreenshot -> free ();
2004-03-15 16:22:00 +00:00
exit ;
}
2004-12-18 06:06:46 +00:00
// we didn't issue any command
2004-12-11 22:33:01 +00:00
if ( $_REQUEST [ 'versionId' ])
2005-01-10 22:24:15 +00:00
$result = query_appdb ( " SELECT * FROM appData WHERE type = 'image' AND appId = " . $_REQUEST [ 'appId' ] . " AND versionId = " . $_REQUEST [ 'versionId' ]);
2004-12-11 22:33:01 +00:00
else
2005-01-10 22:24:15 +00:00
$result = query_appdb ( " SELECT * FROM appData WHERE type = 'image' AND appId = " . $_REQUEST [ 'appId' ] . " ORDER BY versionId " );
2004-12-11 22:33:01 +00:00
2004-12-18 06:06:46 +00:00
$app = new Application ( $_REQUEST [ 'appId' ]);
apidb_header ( " Screenshots " );
if ( $result && mysql_num_rows ( $result ))
2004-03-15 16:22:00 +00:00
{
2004-12-18 06:06:46 +00:00
echo html_frame_start ( " Screenshot Gallery for " . $app -> data -> appName , 500 );
2004-11-17 22:57:20 +00:00
2004-12-18 06:06:46 +00:00
// display thumbnails
$c = 1 ;
echo " <div align=center><table><tr> \n " ;
while ( $ob = mysql_fetch_object ( $result ))
{
if ( ! $_REQUEST [ 'versionId' ] && $ob -> versionId != $currentVersionId )
2004-11-17 22:57:20 +00:00
{
2004-12-18 06:06:46 +00:00
if ( $currentVersionId )
2004-12-11 22:33:01 +00:00
{
2004-12-18 06:06:46 +00:00
echo " </tr></table></div> \n " ;
echo html_frame_end ();
$c = 1 ;
2004-12-11 22:33:01 +00:00
}
2004-12-18 06:06:46 +00:00
$currentVersionId = $ob -> versionId ;
echo html_frame_start ( " Version " . lookupVersionName ( $_REQUEST [ 'appId' ], $currentVersionId ));
echo " <div align=center><table><tr> \n " ;
}
2005-01-27 15:42:53 +00:00
$oScreenshot = new Screenshot ( $ob -> id );
2004-12-18 06:06:46 +00:00
// generate random tag for popup window
$randName = generate_passwd ( 5 );
2005-01-27 15:42:53 +00:00
// set img tag
$imgSRC = '<img src="appimage.php?thumbnail=true&id=' . $ob -> id . '" alt="' . $oScreenshot -> description . '" width="' . $oScreenshot -> oThumnailImage -> width . '" height="' . $oScreenshot -> oThumnailImage -> height . '">' ;
2004-12-11 22:33:01 +00:00
2004-12-18 06:06:46 +00:00
// set image link based on user pref
2005-01-27 15:42:53 +00:00
$img = '<a href="javascript:openWin(\'appimage.php?id=' . $ob -> id . '\',\'' . $randName . '\',' . $oScreenshot -> oScreenshotImage -> width . ',' . ( $oScreenshot -> oScreenshotImage -> height + 4 ) . ');">' . $imgSRC . '</a>' ;
2004-12-18 06:06:46 +00:00
if ( loggedin ())
{
if ( $_SESSION [ 'current' ] -> getpref ( " window:screenshot " ) == " no " )
2004-12-11 22:33:01 +00:00
{
2004-12-18 06:06:46 +00:00
$img = '<a href="appimage.php?imageId=' . $ob -> id . '">' . $imgSRC . '</a>' ;
2004-12-11 22:33:01 +00:00
}
2004-12-18 06:06:46 +00:00
}
2004-12-11 22:33:01 +00:00
2004-12-18 06:06:46 +00:00
// display image
echo " <td> \n " ;
echo html_frame_start ( substr ( stripslashes ( $ob -> description ), 0 , 20 ), 128 , " " , 0 );
echo $img ;
2004-12-11 22:33:01 +00:00
2004-12-18 06:06:46 +00:00
//show admin delete link
2004-12-19 19:30:27 +00:00
if ( loggedin () && ( havepriv ( " admin " ) ||
$_SESSION [ 'current' ] -> is_maintainer ( $_REQUEST [ 'appId' ],
$_REQUEST [ 'versionId' ])))
2004-12-18 06:06:46 +00:00
{
echo " <div align=center>[<a href='screenshots.php?cmd=delete&imageId= $ob->id &appId= " . $_REQUEST [ 'appId' ] . " &versionId= " . $_REQUEST [ 'versionId' ] . " '>Delete Image</a>]</div> " ;
}
2004-12-11 22:33:01 +00:00
2004-12-18 06:06:46 +00:00
echo html_frame_end ( " " );
echo " </td> \n " ;
2004-12-11 22:33:01 +00:00
2004-12-18 06:06:46 +00:00
// end row if counter of 3
if ( $c % 3 == 0 ) echo " </tr><tr> \n " ;
2004-03-15 16:22:00 +00:00
2004-12-18 06:06:46 +00:00
$c ++ ;
2004-11-17 22:57:20 +00:00
}
2004-12-29 20:21:31 +00:00
echo " </tr></table></div><br /> \n " ;
2004-12-18 06:06:46 +00:00
echo html_frame_end ( " Click thumbnail to view image in new window. " );
} else {
echo " <p align= \" center \" >There are currently no screenshot for the selected version of this application. " ;
echo " <br />Please consider submitting a screenshot for the selected version yourself.</p> " ;
}
if ( $_REQUEST [ 'versionId' ])
{
//image upload box
echo '<form enctype="multipart/form-data" action="screenshots.php" name=imageForm method="post">' , " \n " ;
echo html_frame_start ( " Upload Screenshot " , " 400 " , " " , 0 );
echo '<table border=0 cellpadding=6 cellspacing=0 width="100%">' , " \n " ;
2004-11-17 22:57:20 +00:00
2004-12-18 06:06:46 +00:00
echo '<tr><td class=color1>Image</td><td class=color0><input name="imagefile" type="file"></td></tr>' , " \n " ;
echo '<tr><td class=color1>Description</td><td class=color0><input type="text" name="screenshot_desc"></td></tr>' , " \n " ;
2004-11-17 22:57:20 +00:00
2004-12-18 06:06:46 +00:00
echo '<tr><td colspan=2 align=center class=color3><input type="submit" value="Send File"></td></tr>' , " \n " ;
2004-11-17 22:57:20 +00:00
2004-12-18 06:06:46 +00:00
echo '</table>' , " \n " ;
echo html_frame_end ();
echo '<input type="hidden" name="MAX_FILE_SIZE" value="10000000" />' , " \n " ;
echo '<input type="hidden" name="cmd" value="screenshot_upload" />' , " \n " ;
echo '<input type="hidden" name="appId" value="' . $_REQUEST [ 'appId' ] . '" />' , " \n " ;
echo '<input type="hidden" name="versionId" value="' . $_REQUEST [ 'versionId' ] . '"></form />' , " \n " ;
2004-03-15 16:22:00 +00:00
}
2004-12-18 06:06:46 +00:00
echo html_back_link ( 1 );
apidb_footer ();
2004-03-15 16:22:00 +00:00
?>