function handleComment()
 {
     global $_zp_current_image, $_zp_current_album, $_zp_comment_stored, $_zp_current_zenpage_news, $_zp_current_zenpage_page;
     $activeImage = false;
     $comment_error = 0;
     $cookie = zp_getCookie('zenphoto');
     if (isset($_POST['comment'])) {
         if (in_context(ZP_ALBUM) || in_context(ZP_ZENPAGE_NEWS_ARTICLE) || in_context(ZP_ZENPAGE_PAGE)) {
             if (isset($_POST['name'])) {
                 $p_name = sanitize($_POST['name'], 3);
             } else {
                 $p_name = '';
             }
             if (isset($_POST['email'])) {
                 $p_email = sanitize($_POST['email'], 3);
             } else {
                 $p_email = "";
             }
             if (isset($_POST['website'])) {
                 $p_website = sanitize($_POST['website'], 3);
             } else {
                 $p_website = "";
             }
             if (isset($_POST['comment'])) {
                 $p_comment = sanitize($_POST['comment'], 1);
             } else {
                 $p_comment = '';
             }
             $p_server = ThemeUtil::getUserIP();
             if (isset($_POST['code'])) {
                 $code1 = sanitize($_POST['code'], 3);
                 $code2 = sanitize($_POST['code_h'], 3);
             } else {
                 $code1 = '';
                 $code2 = '';
             }
             $p_private = isset($_POST['private']);
             $p_anon = isset($_POST['anon']);
             if (isset($_POST['imageid'])) {
                 //used (only?) by the tricasa hack to know which image the client is working with.
                 $activeImage = zp_load_image_from_id(sanitize_numeric($_POST['imageid']));
                 if ($activeImage !== false) {
                     $commentadded = $activeImage->addComment($p_name, $p_email, $p_website, $p_comment, $code1, $code2, $p_server, $p_private, $p_anon);
                     $redirectTo = $activeImage->getLink();
                 }
             } else {
                 if (in_context(ZP_IMAGE) and in_context(ZP_ALBUM)) {
                     $commentobject = $_zp_current_image;
                     $redirectTo = $_zp_current_image->getLink();
                 } else {
                     if (!in_context(ZP_IMAGE) and in_context(ZP_ALBUM)) {
                         $commentobject = $_zp_current_album;
                         $redirectTo = $_zp_current_album->getAlbumLink();
                     } else {
                         if (in_context(ZP_ZENPAGE_NEWS_ARTICLE)) {
                             $commentobject = $_zp_current_zenpage_news;
                             $redirectTo = FULLWEBPATH . '/index.php?p=' . ZENPAGE_NEWS . '&title=' . $_zp_current_zenpage_news->getTitlelink();
                         } else {
                             if (in_context(ZP_ZENPAGE_PAGE)) {
                                 $commentobject = $_zp_current_zenpage_page;
                                 $redirectTo = FULLWEBPATH . '/index.php?p=' . ZENPAGE_PAGES . '&title=' . $_zp_current_zenpage_page->getTitlelink();
                             }
                         }
                     }
                 }
                 $commentadded = $commentobject->addComment($p_name, $p_email, $p_website, $p_comment, $code1, $code2, $p_server, $p_private, $p_anon);
             }
             $comment_error = $commentadded->getInModeration();
             $_zp_comment_stored = array($commentadded->getName(), $commentadded->getEmail(), $commentadded->getWebsite(), $commentadded->getComment(), false, $commentadded->getPrivate(), $commentadded->getAnon(), $commentadded->getCustomData());
             if (isset($_POST['remember'])) {
                 $_zp_comment_stored[4] = true;
             }
             if (!$comment_error) {
                 if (isset($_POST['remember'])) {
                     // Should always re-cookie to update info in case it's changed...
                     $_zp_comment_stored[3] = '';
                     // clear the comment itself
                     zp_setcookie('zenphoto', implode('|~*~|', $_zp_comment_stored), time() + COOKIE_PESISTENCE, '/');
                 } else {
                     zp_setcookie('zenphoto', '', time() - 368000, '/');
                 }
                 return COMMENT_SUCCESS;
             } else {
                 $comment_error++;
                 if ($activeImage !== false and !in_context(ZP_ZENPAGE_NEWS_ARTICLE) and !in_context(ZP_ZENPAGE_PAGE)) {
                     // tricasa hack? Set the context to the image on which the comment was posted
                     $_zp_current_image = $activeImage;
                     $_zp_current_album = $activeImage->getAlbum();
                     set_context(ZP_IMAGE | ZP_ALBUM | ZP_INDEX);
                 }
             }
         }
     } else {
         if (!empty($cookie)) {
             // Comment form was not submitted; get the saved info from the cookie.
             $_zp_comment_stored = explode('|~*~|', stripslashes($cookie));
             $_zp_comment_stored[4] = true;
             if (!isset($_zp_comment_stored[5])) {
                 $_zp_comment_stored[5] = false;
             }
             if (!isset($_zp_comment_stored[6])) {
                 $_zp_comment_stored[6] = false;
             }
             if (!isset($_zp_comment_stored[7])) {
                 $_zp_comment_stored[7] = false;
             }
         } else {
             $_zp_comment_stored = array('', '', '', '', false, false, false, false);
         }
     }
     return $comment_error;
 }
function zp_handle_comment()
{
    global $_zp_current_image, $_zp_current_album, $_zp_comment_stored, $_zp_current_zenpage_news, $_zp_current_zenpage_page;
    $activeImage = false;
    $comment_error = 0;
    $cookie = zp_getCookie('zenphoto_comment');
    if (isset($_POST['comment'])) {
        if (in_context(ZP_ALBUM) || in_context(ZP_ZENPAGE_NEWS_ARTICLE) || in_context(ZP_ZENPAGE_PAGE)) {
            if (isset($_POST['name'])) {
                $p_name = sanitize($_POST['name'], 3);
            } else {
                $p_name = NULL;
            }
            if (isset($_POST['email'])) {
                $p_email = sanitize($_POST['email'], 3);
            } else {
                $p_email = NULL;
            }
            if (isset($_POST['website'])) {
                $p_website = sanitize($_POST['website'], 3);
            } else {
                $p_website = NULL;
            }
            if (isset($_POST['comment'])) {
                $p_comment = sanitize($_POST['comment'], 1);
            } else {
                $p_comment = '';
            }
            $p_server = getUserIP();
            if (isset($_POST['code'])) {
                $code1 = sanitize($_POST['code'], 3);
                $code2 = sanitize($_POST['code_h'], 3);
            } else {
                $code1 = '';
                $code2 = '';
            }
            $p_private = isset($_POST['private']);
            $p_anon = isset($_POST['anon']);
            if (isset($_POST['imageid'])) {
                //used (only?) by the tricasa hack to know which image the client is working with.
                $activeImage = zp_load_image_from_id(sanitize_numeric($_POST['imageid']));
                if ($activeImage !== false) {
                    $commentadded = $activeImage->addComment($p_name, $p_email, $p_website, $p_comment, $code1, $code2, $p_server, $p_private, $p_anon);
                    $redirectTo = $activeImage->getImageLink();
                }
            } else {
                if (in_context(ZP_IMAGE) and in_context(ZP_ALBUM)) {
                    $commentobject = $_zp_current_image;
                    $redirectTo = $_zp_current_image->getImageLink();
                } else {
                    if (!in_context(ZP_IMAGE) and in_context(ZP_ALBUM)) {
                        $commentobject = $_zp_current_album;
                        $redirectTo = $_zp_current_album->getAlbumLink();
                    } else {
                        if (in_context(ZP_ZENPAGE_NEWS_ARTICLE)) {
                            $commentobject = $_zp_current_zenpage_news;
                            $redirectTo = FULLWEBPATH . '/index.php?p=news&title=' . $_zp_current_zenpage_news->getTitlelink();
                        } else {
                            if (in_context(ZP_ZENPAGE_PAGE)) {
                                $commentobject = $_zp_current_zenpage_page;
                                $redirectTo = FULLWEBPATH . '/index.php?p=pages&title=' . $_zp_current_zenpage_page->getTitlelink();
                            }
                        }
                    }
                }
                $commentadded = $commentobject->addComment($p_name, $p_email, $p_website, $p_comment, $code1, $code2, $p_server, $p_private, $p_anon);
            }
            $comment_error = $commentadded->getInModeration();
            $_zp_comment_stored = array($commentadded->getName(), $commentadded->getEmail(), $commentadded->getWebsite(), $commentadded->getComment(), false, $commentadded->getPrivate(), $commentadded->getAnon(), $commentadded->getCustomData());
            if (isset($_POST['remember'])) {
                $_zp_comment_stored[4] = true;
            }
            if (!$comment_error) {
                if (isset($_POST['remember'])) {
                    // Should always re-cookie to update info in case it's changed...
                    $_zp_comment_stored[3] = '';
                    // clear the comment itself
                    zp_setCookie('zenphoto_comment', implode('|~*~|', $_zp_comment_stored), NULL, '/');
                } else {
                    zp_setCookie('zenphoto_comment', '', -368000, '/');
                }
                //use $redirectTo to send users back to where they came from instead of booting them back to the gallery index. (default behaviour)
                if (!isset($_SERVER['SERVER_SOFTWARE']) || strpos(strtolower($_SERVER['SERVER_SOFTWARE']), 'microsoft-iis') === false) {
                    // but not for Microsoft IIS because that server fails if we redirect!
                    header('Location: ' . $redirectTo);
                    exit;
                }
            } else {
                $comment_error++;
                if ($activeImage !== false and !in_context(ZP_ZENPAGE_NEWS_ARTICLE) and !in_context(ZP_ZENPAGE_PAGE)) {
                    // tricasa hack? Set the context to the image on which the comment was posted
                    $_zp_current_image = $activeImage;
                    $_zp_current_album = $activeImage->getAlbum();
                    add_context(ZP_ALBUM | ZP_INDEX);
                }
            }
        }
        return $commentadded->comment_error_text;
    } else {
        if (!empty($cookie)) {
            // Comment form was not submitted; get the saved info from the cookie.
            $_zp_comment_stored = explode('|~*~|', stripslashes($cookie));
            $_zp_comment_stored[4] = true;
            if (!isset($_zp_comment_stored[5])) {
                $_zp_comment_stored[5] = false;
            }
            if (!isset($_zp_comment_stored[6])) {
                $_zp_comment_stored[6] = false;
            }
            if (!isset($_zp_comment_stored[7])) {
                $_zp_comment_stored[7] = false;
            }
        } else {
            $_zp_comment_stored = array('', '', '', '', false, false, false, false);
        }
    }
    return false;
}
function zp_handle_comment()
{
    global $_zp_current_image, $_zp_current_album, $_zp_comment_stored, $_zp_current_zenpage_news, $_zp_current_zenpage_page;
    $activeImage = false;
    $comment_error = 0;
    $cookie = zp_getCookie('zenphoto');
    if (isset($_POST['comment'])) {
        // ZENPAGE:  if else constructs added
        if (getOption('zp_plugin_zenpage')) {
            //zenpage_news = new ZenpageNews();
            //$zenpage_pages = new ZenpagePage();
            $zenpage_news_context = isPage(ZENPAGE_NEWS);
            $zenpage_pages_context = isPage(ZENPAGE_PAGES);
        } else {
            $zenpage_news_context = FALSE;
            $zenpage_pages_context = FALSE;
        }
        if ($zenpage_news_context) {
            $redirectTo = FULLWEBPATH . '/index.php?p=' . ZENPAGE_NEWS . '&title=' . $_zp_current_zenpage_news->getTitlelink();
        } else {
            if ($zenpage_pages_context) {
                $redirectTo = FULLWEBPATH . '/index.php?p=' . ZENPAGE_NEWS . '&title=' . $_zp_current_zenpage_page->getTitlelink();
            } else {
                $redirectTo = FULLWEBPATH . '/' . zpurl();
            }
        }
        if (in_context(ZP_ALBUM) || $zenpage_news_context || $zenpage_pages_context) {
            $p_name = sanitize($_POST['name'], 3);
            if (isset($_POST['email'])) {
                $p_email = sanitize($_POST['email'], 3);
            } else {
                $p_email = "";
            }
            if (isset($_POST['website'])) {
                $p_website = sanitize($_POST['website'], 3);
            } else {
                $p_website = "";
            }
            $p_comment = sanitize($_POST['comment'], 1);
            $p_server = sanitize($_SERVER['REMOTE_ADDR'], 3);
            if (isset($_POST['code'])) {
                $code1 = sanitize($_POST['code'], 3);
                $code2 = sanitize($_POST['code_h'], 3);
            } else {
                $code1 = '';
                $code2 = '';
            }
            $p_private = isset($_POST['private']);
            $p_anon = isset($_POST['anon']);
            if (isset($_POST['imageid'])) {
                //used (only?) by the tricasa hack to know which image the client is working with.
                $activeImage = zp_load_image_from_id(strip_tags($_POST['imageid']));
                if ($activeImage !== false) {
                    $commentadded = $activeImage->addComment($p_name, $p_email, $p_website, $p_comment, $code1, $code2, $p_server, $p_private, $p_anon);
                    $redirectTo = $activeImage->getImageLink();
                }
            } else {
                // ZENPAGE: if else change
                if (in_context(ZP_IMAGE) and in_context(ZP_ALBUM)) {
                    $commentobject = $_zp_current_image;
                    $redirectTo = $_zp_current_image->getImageLink();
                } else {
                    if (!in_context(ZP_IMAGE) and in_context(ZP_ALBUM)) {
                        $commentobject = $_zp_current_album;
                        $redirectTo = $_zp_current_album->getAlbumLink();
                    } else {
                        if ($zenpage_news_context) {
                            $commentobject = $_zp_current_zenpage_news;
                            $redirectTo = FULLWEBPATH . '/index.php?p=' . ZENPAGE_NEWS . '&title=' . $_zp_current_zenpage_news->getTitlelink();
                        } else {
                            if ($zenpage_pages_context) {
                                $commentobject = $_zp_current_zenpage_page;
                                $redirectTo = FULLWEBPATH . '/index.php?p=' . ZENPAGE_NEWS . '&title=' . $_zp_current_zenpage_page->getTitlelink();
                            }
                        }
                    }
                }
                $commentadded = $commentobject->addComment($p_name, $p_email, $p_website, $p_comment, $code1, $code2, $p_server, $p_private, $p_anon);
            }
            if ($commentadded == 2) {
                $comment_error = 0;
                if (isset($_POST['remember'])) {
                    // Should always re-cookie to update info in case it's changed...
                    $info = array($p_name, $p_email, $p_website, '', false, $p_private, $p_anon);
                    zp_setcookie('zenphoto', implode('|~*~|', $info), time() + COOKIE_PESISTENCE, '/');
                } else {
                    zp_setcookie('zenphoto', '', time() - 368000, '/');
                }
                //use $redirectTo to send users back to where they came from instead of booting them back to the gallery index. (default behaviour)
                //TODO: this does not work for IIS. How to detect IIS server and just fall through?
                // if you are running IIS, delete the next two lines
                header('Location: ' . $redirectTo);
                exit;
            } else {
                $_zp_comment_stored = array($p_name, $p_email, $p_website, $p_comment, false, $p_private, $p_anon);
                if (isset($_POST['remember'])) {
                    $_zp_comment_stored[4] = true;
                }
                $comment_error = 1 + $commentadded;
                // ZENPAGE: if statements added
                if ($activeImage !== false and !$zenpage_news_context and !$zenpage_pages_context) {
                    // tricasa hack? Set the context to the image on which the comment was posted
                    $_zp_current_image = $activeImage;
                    $_zp_current_album = $activeImage->getAlbum();
                    set_context(ZP_IMAGE | ZP_ALBUM | ZP_INDEX);
                }
            }
        }
    } else {
        if (!empty($cookie)) {
            // Comment form was not submitted; get the saved info from the cookie.
            $_zp_comment_stored = explode('|~*~|', stripslashes($cookie));
            $_zp_comment_stored[4] = true;
            if (!isset($_zp_comment_stored[5])) {
                $_zp_comment_stored[5] = false;
            }
            if (!isset($_zp_comment_stored[6])) {
                $_zp_comment_stored[6] = false;
            }
        } else {
            $_zp_comment_stored = array('', '', '', '', false, false, false);
        }
    }
    return $comment_error;
}