summary refs log tree commit diff stats
path: root/pages/random.php
blob: 15d775839177a2b2fd5e7ef16b26d982bd28b450 (plain) (blame)
1
2
3
4
5
6
7
8
9
<?php

$getcomic = "SELECT * FROM comics WHERE status = \"publish\" ORDER BY RAND() LIMIT 1";
$getcomic2 = mysql_query($getcomic);
$getcomic3 = mysql_fetch_array($getcomic2);

header('Location: http://pillowcase.fourisland.com/comic' . $getcomic3['comic_id'] . '.htm');

?>
ht: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
#ifndef TOOLS_DATAPACKER_CONTAINER_H_
#define TOOLS_DATAPACKER_CONTAINER_H_

#include <cstdint>
#include <map>
#include <optional>
#include <string>

#include "proto/data.pb.h"

namespace com::fourisland::lingo2_archipelago {

class Container {
 public:
  uint64_t FindOrAddMap(std::string map_name);

  uint64_t FindOrAddRoom(std::optional<std::string> map_name,
                         std::string room_name,
                         std::optional<std::string> map_fallback);

  uint64_t FindOrAddPainting(std::optional<std::string> map_name,
                             std::optional<std::string> room_name,
                             std::string painting_name,
                             std::optional<std::string> map_fallback,
                             std::optional<std::string> room_fallback);

  uint64_t FindOrAddPort(std::optional<std::string> map_name,
                         std::optional<std::string> room_name,
                         std::string port_name,
                         std::optional<std::string> map_fallback,
                         std::optional<std::string> room_fallback);

  uint64_t FindOrAddPanel(std::optional<std::string> map_name,
                          std::optional<std::string> room_name,
                          std::string panel_name,
                          std::optional<std::string> map_fallback,
                          std::optional<std::string> room_fallback);

  uint64_t FindOrAddLetter(std::string key, bool level2);

  uint64_t FindLetterByName(std::string letter_name);

  uint64_t FindOrAddEnding(std::string ending_name);

  uint64_t FindOrAddMastery(std::optional<std::string> map_name,
                            std::optional<std::string> room_name,
                            std::string mastery_name,
                            std::optional<std::string> map_fallback,
                            std::optional<std::string> room_fallback);

  uint64_t FindOrAddKeyholder(std::optional<std::string> map_name,
                              std::optional<std::string> room_name,
                              std::string keyholder_name,
                              std::optional<std::string> map_fallback,
                              std::optional<std::string> room_fallback);

  uint64_t FindOrAddDoor(std::optional<std::string> map_name,
                         std::string door_name,
                         std::optional<std::string> map_fallback);

  void AddConnection(const Connection& connection);

  AllObjects& all_objects() { return all_objects_; }

 private:
  AllObjects all_objects_;

  std::map<std::string, uint64_t> map_id_by_name_;
  std::map<std::string, std::map<std::string, uint64_t>>
      room_id_by_map_room_names_;
  std::map<std::string, std::map<std::string, std::map<std::string, uint64_t>>>
      painting_id_by_map_room_painting_names_;
  std::map<std::string, std::map<std::string, std::map<std::string, uint64_t>>>
      port_id_by_map_room_port_names_;
  std::map<std::string, std::map<std::string, std::map<std::string, uint64_t>>>
      panel_id_by_map_room_panel_names_;
  std::map<std::string, uint64_t> letter_id_by_name_;
  std::map<std::string, std::map<std::string, std::map<std::string, uint64_t>>>
      mastery_id_by_map_room_mastery_names_;
  std::map<std::string, std::map<std::string, std::map<std::string, uint64_t>>>
      keyholder_id_by_map_room_keyholder_names_;
  std::map<std::string, std::map<std::string, uint64_t>>
      door_id_by_map_door_names_;
  std::map<std::string, uint64_t> ending_id_by_name_;
};

}  // namespace com::fourisland::lingo2_archipelago

#endif /* TOOLS_DATAPACKER_CONTAINER_H_ */