cachetts

  • strict warning: Non-static method GalleryDataCache::put() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/embed.php on line 32.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 85.
  • strict warning: Non-static method GalleryEmbed::getEmbedPathByHttpRequest() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/embed.php on line 36.
  • strict warning: Non-static method GalleryUtilities::getRequestVariablesNoPrefix() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryEmbed.class on line 1092.
  • strict warning: Non-static method GalleryUtilities::_getRequestVariable() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryUtilities.class on line 289.
  • strict warning: Non-static method GalleryUtilities::_internalGetRequestVariable() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryUtilities.class on line 875.
  • strict warning: Non-static method GalleryUtilities::_internalGetRequestVariable() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryUtilities.class on line 879.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryUtilities.class on line 293.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryUtilities.class on line 708.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryUtilities.class on line 714.
  • strict warning: Non-static method GalleryEmbed::init() should not be called statically in /var/www/kibergus.su/htdocs/sites/all/modules/gallery/gallery_base.inc on line 134.
  • strict warning: Non-static method GalleryDataCache::containsKey() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryEmbed.class on line 94.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 203.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/init.inc on line 46.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/init.inc on line 47.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/init.inc on line 48.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/init.inc on line 49.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryModule.class on line 21.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/init.inc on line 55.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryPlatform/UnixPlatform.class on line 21.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/init.inc on line 107.
  • strict warning: Non-static method GalleryUtilities::getRequestVariables() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/init.inc on line 150.
  • strict warning: Non-static method GalleryUtilities::_getRequestVariable() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryUtilities.class on line 242.
  • strict warning: Non-static method GalleryUtilities::_internalGetRequestVariable() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryUtilities.class on line 875.
  • strict warning: Non-static method GalleryUtilities::_internalGetRequestVariable() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryUtilities.class on line 879.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryUtilities.class on line 246.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryUtilities.class on line 708.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryUtilities.class on line 714.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/init.inc on line 152.
  • strict warning: Non-static method GalleryTranslator::getSupportedLanguageCode() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/init.inc on line 154.
  • strict warning: Non-static method GalleryTranslator::getLanguageData() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryTranslator.class on line 414.
  • strict warning: Non-static method GalleryUtilities::strToUpper() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryTranslator.class on line 418.
  • strict warning: Non-static method GalleryDataCache::put() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryEmbed.class on line 103.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 85.
  • strict warning: Non-static method GalleryEmbed::isCompatibleWithEmbedApi() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryEmbed.class on line 107.
  • strict warning: Non-static method GalleryEmbed::getApiVersion() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryEmbed.class on line 61.
  • strict warning: Non-static method GalleryUtilities::isCompatibleWithApi() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryEmbed.class on line 61.
  • strict warning: Non-static method GalleryDataCache::containsKey() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryEmbed.class on line 128.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 203.
  • strict warning: Non-static method GalleryCoreApi::getAllFactoryImplementationIds() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/init.inc on line 179.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryCoreApi.class on line 187.
  • strict warning: Non-static method GalleryFactoryHelper_simple::getAllImplementationIds() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryCoreApi.class on line 188.
  • strict warning: Non-static method GalleryFactoryHelper_simple::_getFactoryData() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryFactoryHelper_simple.class on line 213.
  • strict warning: Non-static method GalleryFactoryHelper_simple::_getSingleton() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryFactoryHelper_simple.class on line 63.
  • strict warning: Non-static method GalleryCoreApi::newFactoryInstanceById() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/init.inc on line 186.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryCoreApi.class on line 174.
  • strict warning: Non-static method GalleryFactoryHelper_simple::newInstanceById() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryCoreApi.class on line 175.
  • strict warning: Non-static method GalleryFactoryHelper_simple::_getFactoryData() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryFactoryHelper_simple.class on line 191.
  • strict warning: Non-static method GalleryFactoryHelper_simple::_getSingleton() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryFactoryHelper_simple.class on line 63.
  • strict warning: Non-static method GalleryFactoryHelper_simple::newInstance() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryFactoryHelper_simple.class on line 201.
  • strict warning: Non-static method GalleryFactoryHelper_simple::_getFactoryData() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryFactoryHelper_simple.class on line 141.
  • strict warning: Non-static method GalleryFactoryHelper_simple::_getSingleton() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryFactoryHelper_simple.class on line 63.
  • strict warning: Non-static method GalleryCoreApi::getAnonymousUserId() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/init.inc on line 203.
  • strict warning: Non-static method GalleryCoreApi::getPluginParameter() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryCoreApi.class on line 3078.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryCoreApi.class on line 300.
  • strict warning: Non-static method GalleryPluginHelper_simple::getParameter() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryCoreApi.class on line 302.
  • strict warning: Non-static method GalleryPluginHelper_simple::_fetchAllParameters() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 222.
  • strict warning: Non-static method GalleryDataCache::containsKey() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 281.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 203.
  • strict warning: Non-static method GalleryDataCache::get() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 282.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 186.
  • strict warning: Non-static method GalleryCoreApi::loadEntitiesById() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/init.inc on line 208.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryCoreApi.class on line 2360.
  • strict warning: Non-static method GalleryEntityHelper_simple::loadEntitiesById() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryCoreApi.class on line 2361.
  • strict warning: Non-static method GalleryDataCache::containsKey() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryEntityHelper_simple.class on line 53.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 203.
  • strict warning: Non-static method GalleryDataCache::getFromDisk() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryEntityHelper_simple.class on line 56.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 273.
  • strict warning: Non-static method GalleryDataCache::getCachePath() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 280.
  • strict warning: Non-static method GalleryDataCache::getCacheTuple() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 405.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 287.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryUser.class on line 21.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryEntity.class on line 21.
  • strict warning: Declaration of GalleryUser::create() should be compatible with GalleryEntity::create() in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryUser.class on line 42.
  • strict warning: Declaration of GalleryUser::save() should be compatible with GalleryEntity::save($postEvent = true, $setAclId = NULL) in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryUser.class on line 42.
  • strict warning: Non-static method GalleryDataCache::put() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryEntityHelper_simple.class on line 95.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 85.
  • strict warning: Non-static method GalleryUtilities::isA() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryEntityHelper_simple.class on line 118.
  • strict warning: Non-static method GalleryDataCache::put() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryEmbed.class on line 133.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 85.
  • strict warning: Non-static method GalleryEmbed::done() should not be called statically in /var/www/kibergus.su/htdocs/sites/all/modules/gallery/gallery_block.inc on line 36.
  • strict warning: Non-static method GalleryEmbed::getBlock() should not be called statically in /var/www/kibergus.su/htdocs/sites/all/modules/gallery/gallery_block.inc on line 194.
  • strict warning: Non-static method GalleryCoreApi::fetchPluginStatus() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryEmbed.class on line 994.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryCoreApi.class on line 368.
  • strict warning: Non-static method GalleryPluginHelper_simple::fetchPluginStatus() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryCoreApi.class on line 369.
  • strict warning: Non-static method GalleryDataCache::containsKey() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 347.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 203.
  • strict warning: Non-static method GalleryDataCache::getFromDisk() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 352.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 273.
  • strict warning: Non-static method GalleryDataCache::getCachePath() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 280.
  • strict warning: Non-static method GalleryDataCache::getCacheTuple() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 438.
  • strict warning: Non-static method GalleryDataCache::put() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 444.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 85.
  • strict warning: Non-static method GalleryCoreApi::getCodeBasePath() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryEmbed.class on line 1000.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryEmbed.class on line 1006.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryEmbed.class on line 1012.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryTheme.class on line 21.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryEmbed.class on line 1020.
  • strict warning: Non-static method GalleryView::setStandardTemplateVariables() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryEmbed.class on line 1021.
  • strict warning: Non-static method GalleryCoreApi::isAnonymousUser() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryView.class on line 660.
  • strict warning: Non-static method GalleryCoreApi::getAnonymousUserId() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryCoreApi.class on line 3098.
  • strict warning: Non-static method GalleryCoreApi::getPluginParameter() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryCoreApi.class on line 3078.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryCoreApi.class on line 300.
  • strict warning: Non-static method GalleryPluginHelper_simple::getParameter() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryCoreApi.class on line 302.
  • strict warning: Non-static method GalleryPluginHelper_simple::_fetchAllParameters() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 222.
  • strict warning: Non-static method GalleryDataCache::containsKey() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 281.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 203.
  • strict warning: Non-static method GalleryDataCache::get() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 282.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 186.
  • strict warning: Non-static method GalleryCoreApi::isUserInSiteAdminGroup() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryView.class on line 665.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryCoreApi.class on line 1775.
  • strict warning: Non-static method GalleryUserGroupHelper_simple::isUserInSiteAdminGroup() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryCoreApi.class on line 1776.
  • strict warning: Non-static method GalleryCoreApi::getPluginParameter() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryUserGroupHelper_simple.class on line 41.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryCoreApi.class on line 300.
  • strict warning: Non-static method GalleryPluginHelper_simple::getParameter() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryCoreApi.class on line 302.
  • strict warning: Non-static method GalleryPluginHelper_simple::_fetchAllParameters() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 222.
  • strict warning: Non-static method GalleryDataCache::containsKey() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 281.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 203.
  • strict warning: Non-static method GalleryDataCache::get() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 282.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 186.
  • strict warning: Non-static method GalleryUserGroupHelper_simple::isUserInGroup() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryUserGroupHelper_simple.class on line 46.
  • strict warning: Non-static method GalleryDataCache::containsKey() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryUserGroupHelper_simple.class on line 62.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 203.
  • strict warning: Non-static method GalleryCoreApi::getMapEntry() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryUserGroupHelper_simple.class on line 68.
  • strict warning: Non-static method GalleryDataCache::put() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryUserGroupHelper_simple.class on line 74.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 85.
  • strict warning: Declaration of GalleryChildEntity::create() should be compatible with GalleryEntity::create() in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryChildEntity.class on line 170.
  • strict warning: Declaration of GalleryChildEntity::createLink() should be compatible with GalleryEntity::createLink($entity) in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryChildEntity.class on line 170.
  • strict warning: Declaration of GalleryFileSystemEntity::create() should be compatible with GalleryChildEntity::create($parentId) in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryFileSystemEntity.class on line 44.
  • strict warning: Declaration of GalleryItem::save() should be compatible with GalleryEntity::save($postEvent = true, $setAclId = NULL) in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryItem.class on line 44.
  • strict warning: Declaration of GalleryAlbumItem::create() should be compatible with GalleryItem::create($parentId, $path, $canContainChildren = false) in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryAlbumItem.class on line 41.
  • strict warning: Only variables should be passed by reference in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryEvent.class on line 54.
  • strict warning: Declaration of mapModule::getItemLinks() should be compatible with GalleryModule::getItemLinks($items, $wantsDetailedLinks, $permissions, $userId) in /var/www/kibergus.su/htdocs/gallery2/modules/map/module.inc on line 1050.
  • strict warning: Declaration of mapModule::getItemSummaries() should be compatible with GalleryModule::getItemSummaries($items, $permissions, &$template) in /var/www/kibergus.su/htdocs/gallery2/modules/map/module.inc on line 1050.
  • strict warning: Declaration of GalleryDataItem::create() should be compatible with GalleryItem::create($parentId, $path, $canContainChildren = false) in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataItem.class on line 417.
  • strict warning: Declaration of GalleryDerivativeImage::create() should be compatible with GalleryDerivative::create($parentId) in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDerivativeImage.class on line 40.
  • strict warning: Non-static method GalleryDataCache::containsKey() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/lib/smarty_plugins/modifier.markup.php on line 46.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 203.
  • strict warning: Non-static method GalleryCoreApi::getPluginParameter() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/lib/smarty_plugins/modifier.markup.php on line 48.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryCoreApi.class on line 300.
  • strict warning: Non-static method GalleryPluginHelper_simple::getParameter() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryCoreApi.class on line 302.
  • strict warning: Non-static method GalleryPluginHelper_simple::_fetchAllParameters() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 222.
  • strict warning: Non-static method GalleryDataCache::containsKey() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 281.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 203.
  • strict warning: Non-static method GalleryDataCache::get() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 282.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 186.
  • strict warning: Non-static method GalleryDataCache::put() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/lib/smarty_plugins/modifier.markup.php on line 53.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 85.
  • strict warning: Non-static method GalleryDataCache::get() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/lib/smarty_plugins/modifier.markup.php on line 56.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 186.
  • strict warning: Non-static method GalleryDataCache::containsKey() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/lib/smarty_plugins/modifier.markup.php on line 46.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 203.
  • strict warning: Non-static method GalleryDataCache::get() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/lib/smarty_plugins/modifier.markup.php on line 56.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryDataCache.class on line 186.
  • strict warning: Only variables should be passed by reference in /var/www/kibergus.su/htdocs/gallery2/modules/core/classes/GalleryEvent.class on line 54.
  • strict warning: Non-static method GalleryEmbed::parseHead() should not be called statically in /var/www/kibergus.su/htdocs/sites/all/modules/gallery/gallery_base.inc on line 495.
  • strict warning: Non-static method GalleryEmbed::done() should not be called statically in /var/www/kibergus.su/htdocs/sites/all/modules/gallery/gallery_block.inc on line 36.
Currently there are two free navigation applications for n900: mapero and navit. Both are using text to speech syntheses for voice navigation. This problem is solved more or less well for English language, but problem of Russian speech syntheses is much more complicated. It is supported in espeak and festival (launching festival on n900 is another story) but espeak speech quality is wery poor. You need too much attention to understand what it is saying, so it is not suitable for voice navigation. Festival with voice developed in MSU is good, but requires about 130 MB of RAM at moments of synthesis. n900 has 256 on board, so festival is very slow and it takes about 30 seconds to generate a phrase. Not suitable too. Commercial navigators successfully use prerecorded audio files. It works because navigator uses only limited number of phrases. But they can't pronounce streets names as navit does. So this is how idea about caching text proxy came, now it is called cachetts and is available in extras-devel. This is a daemon, which listens on DBus. When message arrives is is divided on phrases. If there is prerecorded audio file for a phrase it is played. In other case festival is launched and the phrase is generated to audio file. If at the moment, when phrase should be pronounced festival is still processing it, is is synthesized via espeak (poor quality for Russian, but would be pronounced immediately). Next time cachetts would find file, generated by festival and would play it. Of course this behavior is configurable.
As a bonus input string is passed through replacement procedure, this allows to fix mistakes in phrases, generated by navigators. For example festival fails to say "2.2" in Russian, so in all decimal numbers "." is replaced with "point" (actually with "и" in default configuration).

Usage

First of all you need to configure cachetts. Settings are located in /home/user/.cachetts.py
[cachetts]
# Mode for festival
textmode=fundamental
# Folder, where phrases generated by festival would be placed
cachedir=/home/user/MyDocs/cachetts/cache/
# Folder with voice files
prefix=/home/user/MyDocs/cachetts/voice/
# Command, executed in festival. I use it to enable Russian voice
festival_init_cmd=(voice_msu_ru_nsh_clunits)
# Comand to be executed to launch espeak
espeakcmd=espeak -vru
# File with list of phrases, which hae according files in voice folder
templates=/home/user/MyDocs/cachetts/templates.csv
# File with list of replacements (regular expressions are used, actually file contains two first arguments for re.sub)
replaces=/home/user/MyDocs/cachetts/replaces.csv
# Main sound generator
generator=festival_cache
# Backup sound generator
backup_generator=espeak
Currently festival, festival_cache and espeak generators are allowed.
Now you need to launch the application. You can do it by typing cachetts.py from user in console (you would get some debug output, but application will terminate if you close the console), or /etc/init.d/cachetts start as root, this would start application in daemon mode. You can stop it with /etc/init.d/cachetts stop in such case. This application uses one tty device to communicate with festival, so if it would fail wit insufficient tty errors you would have to close one of terminal.
All communication is performed through DBus:
  • Say a string
    dbus-send --system --type=signal /su/kibergus/cachetts su.kibergus.cachetts.say_string string:'String you want to say' boolean:false string:navit boolean:true
     
    Arguments have following meaning:
    say_string(string, urgent, tag, kickoff)
     
    If urgent flag is set message would be pronounced immediately, without waiting in the queue. If kickoff flag is set all previous messages with the same tag and kickoff tag set would be removed from queue. This is made in a case if navigator would generate messages too often.
  • Say string using specified generator and with/without vocabulary (defined in templates.csv)
    dbus-send --system --type=signal /su/kibergus/cachetts su.kibergus.cachetts.say_string_custom string:'String, which should be said' boolean:false string:navit boolean:true boolean:true string:espeak
     
    say_string_custom(string, urgent, tag, kickoff, caching, generator)
     
  • Set default generator
    set_generator (type, generator)
     
    Where type can be main or backup
  • set_caching (caching) Enables and disables vocabulary usage.
Now you only have to tell navigator to use this application. For navit appropriate line in navit.xml would be:
<speech type="cmdline" data="dbus-send --system --type=signal /su/kibergus/cachetts su.kibergus.cachetts.say_string string:'%s' boolean:false string:navit boolean:true" cps="6"/>

What could be done in future

Currently all sounds are stored in wav, cachetts is capable to play any format supported by gstreamer, so you can convert them to ogg (as far a I know mp3 usage would increase gaps between words), but I couldn't find a way to convert them on n900 without additional packages, so I decided not add convertation after festival generates them.
And of-course new voices can be created. When I started writing I wanted my girlfriend's navigator to speak with my voice, through I didn't recorded it yet. I hope, that somebody would create voices, which are better, than synthesized ones.

Comments

It would be much simpler to

It would be much simpler to just focus on navigation and simply pre-record all pieces of text that can come up during a full text navigation session (including errors and redirects). Commpress that down with low quality mono vorbis and it will take less space than festival takes RAM and will play back much faster.

This is what cachetts can do.

This is what cachetts can do. You can prerecord needed files and put them in-to voice folder. They would be used in the first order. Festival would only be invoked if there are new peaces, for example for street names. Making pronunciation of numbers is not so easy too, so the would be rendered by festival.
And you can encode these files to ogg too. If "extra decoders support" is installed they would work. My practice shows, that all missing phrases are cached in a short period of time and festival is invoked quite seldom.