\hypertarget{classBiblioIsisDb}{
\section{BiblioIsisDb Class Reference}
\label{classBiblioIsisDb}\index{BiblioIsisDb@{BiblioIsisDb}}
}
Inheritance diagram for BiblioIsisDb:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{classBiblioIsisDb}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classBiblioIsisDb_ab2c5ec782b324847e104d8ad35a230af}{\_\-\_\-construct} (\$schema)
\item 
\hyperlink{classBiblioIsisDb_a286fb16de5797785d28021068efca561}{logger} (\$message)
\item 
\hyperlink{classBiblioIsisDb_ad5704f5c9454ac053e66a489797ba221}{backend} (\$method= 'count', \$args=NULL)
\item 
\hyperlink{classBiblioIsisDb_a808cdbc0d4c8f62a1465e74064f4422f}{read} (\$id, \$method= 'fetch')
\item 
\hyperlink{classBiblioIsisDb_ab6b0a977c066c25c6bdca5c1d3a083e8}{entries} ()
\item 
\hyperlink{classBiblioIsisDb_a8e76b289b9e3a9893b9469094753d2bc}{example} ()
\item 
\hyperlink{classBiblioIsisDb_a34483b463d81ba1d8031576b5735efbc}{tag} (\$results, \$method= 'fetch')
\item 
\hyperlink{classBiblioIsisDb_a73d5d998f9ab7e410c5f71f65e83948b}{has\_\-subfields} (\$key)
\item 
\hyperlink{classBiblioIsisDb_af0be305b211b96dcb4aeb8452c8331a9}{subfields\_\-switch} (\$key, \&\$value)
\item 
\hyperlink{classBiblioIsisDb_a450e26ae0b7f4967d8e25c9a3d023c75}{subfields} (\$name, \$key, \$method)
\item 
\hyperlink{classBiblioIsisDb_a8c6a0081c5296a6db520e98998502ef7}{subfields\_\-from\_\-to\_\-hash} (\$name, \$key)
\item 
\hyperlink{classBiblioIsisDb_a2b08c6a7ba20f6f5eb07edb2b4a914c1}{subfields\_\-from\_\-fetch} (\$name, \$key)
\item 
\hyperlink{classBiblioIsisDb_aa86380f9e66ea8f175c50675d1fe0a88}{is\_\-repetitive} (\$field, \$value)
\item 
\hyperlink{classBiblioIsisDb_a04089d61ce04b18aa6a78c94ca02edb9}{repetition} (\$key, \$value)
\item 
\hyperlink{classBiblioIsisDb_a2b6fd7b7316f63ac5649ebf3947c4fae}{charset} (\&\$data)
\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static \hyperlink{classBiblioIsisDb_a929467f1907d3aeaeebe493f0c188c5b}{check} (\$schema, \$section=NULL)
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classBiblioIsisDb_a978a9243ea53b1f2426115d7b4191b07}{\$fdt}
\item 
\hyperlink{classBiblioIsisDb_a7eccfa964dcd1469a263340447c38143}{\$perl}
\item 
\hyperlink{classBiblioIsisDb_ab9fb3b6f10d2734a198ca7802ee38c2d}{\$format}
\item 
\hyperlink{classBiblioIsisDb_a67337d78af0fc21d0ff10471aa638c62}{\$log}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Biblio::Isis implementation of \hyperlink{interfaceIsisDb}{IsisDb}. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classBiblioIsisDb_ab2c5ec782b324847e104d8ad35a230af}{
\index{BiblioIsisDb@{BiblioIsisDb}!\_\-\_\-construct@{\_\-\_\-construct}}
\index{\_\-\_\-construct@{\_\-\_\-construct}!BiblioIsisDb@{BiblioIsisDb}}
\subsubsection[{\_\-\_\-construct}]{\setlength{\rightskip}{0pt plus 5cm}BiblioIsisDb::\_\-\_\-construct (\$ {\em schema})}}
\label{classBiblioIsisDb_ab2c5ec782b324847e104d8ad35a230af}
Constructor.

\begin{DoxySeeAlso}{See also}
\hyperlink{interfaceIsisDb_ae1c0a3496d55f710d34c5c19ada7a66b}{IsisDb::\_\-\_\-construct()} 
\end{DoxySeeAlso}


Implements \hyperlink{interfaceIsisDb_ae1c0a3496d55f710d34c5c19ada7a66b}{IsisDb}.



\subsection{Member Function Documentation}
\hypertarget{classBiblioIsisDb_ad5704f5c9454ac053e66a489797ba221}{
\index{BiblioIsisDb@{BiblioIsisDb}!backend@{backend}}
\index{backend@{backend}!BiblioIsisDb@{BiblioIsisDb}}
\subsubsection[{backend}]{\setlength{\rightskip}{0pt plus 5cm}BiblioIsisDb::backend (\$ {\em method} = {\ttfamily 'count'}, \/  \$ {\em args} = {\ttfamily NULL})}}
\label{classBiblioIsisDb_ad5704f5c9454ac053e66a489797ba221}
Send requests to the perl backend.


\begin{DoxyParams}{Parameters}
\item[{\em \$method}]Backend method name to invoke.\item[{\em \$args}]Backend method arguments.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Backend return value. 
\end{DoxyReturn}
\hypertarget{classBiblioIsisDb_a2b6fd7b7316f63ac5649ebf3947c4fae}{
\index{BiblioIsisDb@{BiblioIsisDb}!charset@{charset}}
\index{charset@{charset}!BiblioIsisDb@{BiblioIsisDb}}
\subsubsection[{charset}]{\setlength{\rightskip}{0pt plus 5cm}BiblioIsisDb::charset (\&\$ {\em data})}}
\label{classBiblioIsisDb_a2b6fd7b7316f63ac5649ebf3947c4fae}
Charset conversion.

Converts a string from the database charset to UTF-\/8.


\begin{DoxyParams}{Parameters}
\item[{\em \$data}]String to be converted.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
String converted to UTF-\/8. 
\end{DoxyReturn}
\hypertarget{classBiblioIsisDb_a929467f1907d3aeaeebe493f0c188c5b}{
\index{BiblioIsisDb@{BiblioIsisDb}!check@{check}}
\index{check@{check}!BiblioIsisDb@{BiblioIsisDb}}
\subsubsection[{check}]{\setlength{\rightskip}{0pt plus 5cm}static BiblioIsisDb::check (\$ {\em schema}, \/  \$ {\em section} = {\ttfamily NULL})\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{classBiblioIsisDb_a929467f1907d3aeaeebe493f0c188c5b}
Check configuration.

\begin{DoxySeeAlso}{See also}
\hyperlink{interfaceIsisDb_af681b8f990b579f1835aa7ba4c83f1b8}{IsisDb::check()} 
\end{DoxySeeAlso}


Implements \hyperlink{interfaceIsisDb_af681b8f990b579f1835aa7ba4c83f1b8}{IsisDb}.

\hypertarget{classBiblioIsisDb_ab6b0a977c066c25c6bdca5c1d3a083e8}{
\index{BiblioIsisDb@{BiblioIsisDb}!entries@{entries}}
\index{entries@{entries}!BiblioIsisDb@{BiblioIsisDb}}
\subsubsection[{entries}]{\setlength{\rightskip}{0pt plus 5cm}BiblioIsisDb::entries ()}}
\label{classBiblioIsisDb_ab6b0a977c066c25c6bdca5c1d3a083e8}
Return number of entries in the database.

\begin{DoxySeeAlso}{See also}
\hyperlink{interfaceIsisDb_a86f38eca2b6d0835b60770d8a4e511ff}{IsisDb::entries()} 
\end{DoxySeeAlso}


Implements \hyperlink{interfaceIsisDb_a86f38eca2b6d0835b60770d8a4e511ff}{IsisDb}.

\hypertarget{classBiblioIsisDb_a8e76b289b9e3a9893b9469094753d2bc}{
\index{BiblioIsisDb@{BiblioIsisDb}!example@{example}}
\index{example@{example}!BiblioIsisDb@{BiblioIsisDb}}
\subsubsection[{example}]{\setlength{\rightskip}{0pt plus 5cm}BiblioIsisDb::example ()}}
\label{classBiblioIsisDb_a8e76b289b9e3a9893b9469094753d2bc}
Return an example schema.

\begin{DoxySeeAlso}{See also}
\hyperlink{interfaceIsisDb_a857c10d90da64067efa17afb2f32edb6}{IsisDb::example()} 
\end{DoxySeeAlso}


Implements \hyperlink{interfaceIsisDb_a857c10d90da64067efa17afb2f32edb6}{IsisDb}.

\hypertarget{classBiblioIsisDb_a73d5d998f9ab7e410c5f71f65e83948b}{
\index{BiblioIsisDb@{BiblioIsisDb}!has\_\-subfields@{has\_\-subfields}}
\index{has\_\-subfields@{has\_\-subfields}!BiblioIsisDb@{BiblioIsisDb}}
\subsubsection[{has\_\-subfields}]{\setlength{\rightskip}{0pt plus 5cm}BiblioIsisDb::has\_\-subfields (\$ {\em key})}}
\label{classBiblioIsisDb_a73d5d998f9ab7e410c5f71f65e83948b}
Checks whether a field has subfields.


\begin{DoxyParams}{Parameters}
\item[{\em \$key}]Field key.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True if has subfields, false otherwise. 
\end{DoxyReturn}
\hypertarget{classBiblioIsisDb_aa86380f9e66ea8f175c50675d1fe0a88}{
\index{BiblioIsisDb@{BiblioIsisDb}!is\_\-repetitive@{is\_\-repetitive}}
\index{is\_\-repetitive@{is\_\-repetitive}!BiblioIsisDb@{BiblioIsisDb}}
\subsubsection[{is\_\-repetitive}]{\setlength{\rightskip}{0pt plus 5cm}BiblioIsisDb::is\_\-repetitive (\$ {\em field}, \/  \$ {\em value})}}
\label{classBiblioIsisDb_aa86380f9e66ea8f175c50675d1fe0a88}
Deals with repetition.

As Biblio::Isis always return field values as arrays, we have to check the database schema to see if we want to convert then to a single value.


\begin{DoxyParams}{Parameters}
\item[{\em \$field}]Database field.\item[{\em \$value}]Data (with or without repetition).\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True if repetitive, false otherwise. 
\end{DoxyReturn}
\hypertarget{classBiblioIsisDb_a286fb16de5797785d28021068efca561}{
\index{BiblioIsisDb@{BiblioIsisDb}!logger@{logger}}
\index{logger@{logger}!BiblioIsisDb@{BiblioIsisDb}}
\subsubsection[{logger}]{\setlength{\rightskip}{0pt plus 5cm}BiblioIsisDb::logger (\$ {\em message})}}
\label{classBiblioIsisDb_a286fb16de5797785d28021068efca561}
Class logger.


\begin{DoxyParams}{Parameters}
\item[{\em \$message}]Log message. \end{DoxyParams}
\hypertarget{classBiblioIsisDb_a808cdbc0d4c8f62a1465e74064f4422f}{
\index{BiblioIsisDb@{BiblioIsisDb}!read@{read}}
\index{read@{read}!BiblioIsisDb@{BiblioIsisDb}}
\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}BiblioIsisDb::read (\$ {\em id}, \/  \$ {\em method} = {\ttfamily 'fetch'})}}
\label{classBiblioIsisDb_a808cdbc0d4c8f62a1465e74064f4422f}
Read an entry.


\begin{DoxyParams}{Parameters}
\item[{\em \$id}]Record Id.\item[{\em \$method}]Database read method.\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{interfaceIsisDb_a68335ec0db01ef03f0725621b38b5686}{IsisDb::read()} 
\end{DoxySeeAlso}
\hypertarget{classBiblioIsisDb_a04089d61ce04b18aa6a78c94ca02edb9}{
\index{BiblioIsisDb@{BiblioIsisDb}!repetition@{repetition}}
\index{repetition@{repetition}!BiblioIsisDb@{BiblioIsisDb}}
\subsubsection[{repetition}]{\setlength{\rightskip}{0pt plus 5cm}BiblioIsisDb::repetition (\$ {\em key}, \/  \$ {\em value})}}
\label{classBiblioIsisDb_a04089d61ce04b18aa6a78c94ca02edb9}
Deals with repetition.

As Biblio::Isis always return field values as arrays, we have to check the database schema to see if we want to convert then to a single value. The current implementation is just a placeholder as no conversion is done.


\begin{DoxyParams}{Parameters}
\item[{\em \$key}]Database key.\item[{\em \$value}]Query field result.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The value according to the repetition config. 
\end{DoxyReturn}
\hypertarget{classBiblioIsisDb_a450e26ae0b7f4967d8e25c9a3d023c75}{
\index{BiblioIsisDb@{BiblioIsisDb}!subfields@{subfields}}
\index{subfields@{subfields}!BiblioIsisDb@{BiblioIsisDb}}
\subsubsection[{subfields}]{\setlength{\rightskip}{0pt plus 5cm}BiblioIsisDb::subfields (\$ {\em name}, \/  \$ {\em key}, \/  \$ {\em method})}}
\label{classBiblioIsisDb_a450e26ae0b7f4967d8e25c9a3d023c75}
Makes subfield substitution in a dataset.


\begin{DoxyParams}{Parameters}
\item[{\em \$name}]Dataset.\item[{\em \$key}]Field key.\item[{\em \$method}]Database read method.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Data with processed subfields. 
\end{DoxyReturn}
\hypertarget{classBiblioIsisDb_a2b08c6a7ba20f6f5eb07edb2b4a914c1}{
\index{BiblioIsisDb@{BiblioIsisDb}!subfields\_\-from\_\-fetch@{subfields\_\-from\_\-fetch}}
\index{subfields\_\-from\_\-fetch@{subfields\_\-from\_\-fetch}!BiblioIsisDb@{BiblioIsisDb}}
\subsubsection[{subfields\_\-from\_\-fetch}]{\setlength{\rightskip}{0pt plus 5cm}BiblioIsisDb::subfields\_\-from\_\-fetch (\$ {\em name}, \/  \$ {\em key})}}
\label{classBiblioIsisDb_a2b08c6a7ba20f6f5eb07edb2b4a914c1}
Subfield handling for data read by 'from\_\-fetch' method.


\begin{DoxyParams}{Parameters}
\item[{\em \$name}]Dataset.\item[{\em \$key}]Field key.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Data with processed subfields. 
\end{DoxyReturn}
\hypertarget{classBiblioIsisDb_a8c6a0081c5296a6db520e98998502ef7}{
\index{BiblioIsisDb@{BiblioIsisDb}!subfields\_\-from\_\-to\_\-hash@{subfields\_\-from\_\-to\_\-hash}}
\index{subfields\_\-from\_\-to\_\-hash@{subfields\_\-from\_\-to\_\-hash}!BiblioIsisDb@{BiblioIsisDb}}
\subsubsection[{subfields\_\-from\_\-to\_\-hash}]{\setlength{\rightskip}{0pt plus 5cm}BiblioIsisDb::subfields\_\-from\_\-to\_\-hash (\$ {\em name}, \/  \$ {\em key})}}
\label{classBiblioIsisDb_a8c6a0081c5296a6db520e98998502ef7}
Subfield handling for data read by 'to\_\-hash' method. This method is not fully supported and therefore not recommended.

It does not deal very well when data has \char`\"{}main\char`\"{} fields and subfields (like \char`\"{}data1$^\wedge$adata2$^\wedge$bdata3\char`\"{}) and doesn't deal with advanced configuration such as 'join\_\-subfields'.


\begin{DoxyParams}{Parameters}
\item[{\em \$name}]Dataset.\item[{\em \$key}]Field key.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Data with processed subfields. 
\end{DoxyReturn}
\hypertarget{classBiblioIsisDb_af0be305b211b96dcb4aeb8452c8331a9}{
\index{BiblioIsisDb@{BiblioIsisDb}!subfields\_\-switch@{subfields\_\-switch}}
\index{subfields\_\-switch@{subfields\_\-switch}!BiblioIsisDb@{BiblioIsisDb}}
\subsubsection[{subfields\_\-switch}]{\setlength{\rightskip}{0pt plus 5cm}BiblioIsisDb::subfields\_\-switch (\$ {\em key}, \/  \&\$ {\em value})}}
\label{classBiblioIsisDb_af0be305b211b96dcb4aeb8452c8331a9}
Switch keys on subfields.


\begin{DoxyParams}{Parameters}
\item[{\em \$key}]Field key.\item[{\em \$value}]Dataset. \end{DoxyParams}
\hypertarget{classBiblioIsisDb_a34483b463d81ba1d8031576b5735efbc}{
\index{BiblioIsisDb@{BiblioIsisDb}!tag@{tag}}
\index{tag@{tag}!BiblioIsisDb@{BiblioIsisDb}}
\subsubsection[{tag}]{\setlength{\rightskip}{0pt plus 5cm}BiblioIsisDb::tag (\$ {\em results}, \/  \$ {\em method} = {\ttfamily 'fetch'})}}
\label{classBiblioIsisDb_a34483b463d81ba1d8031576b5735efbc}
Tag results of a db query.

This function converts the keys of query result from field numbers to names.


\begin{DoxyParams}{Parameters}
\item[{\em \$results}]Database query results.\item[{\em \$method}]Database read method.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Tagged database result. 
\end{DoxyReturn}


\subsection{Member Data Documentation}
\hypertarget{classBiblioIsisDb_a978a9243ea53b1f2426115d7b4191b07}{
\index{BiblioIsisDb@{BiblioIsisDb}!\$fdt@{\$fdt}}
\index{\$fdt@{\$fdt}!BiblioIsisDb@{BiblioIsisDb}}
\subsubsection[{\$fdt}]{\setlength{\rightskip}{0pt plus 5cm}BiblioIsisDb::\$fdt}}
\label{classBiblioIsisDb_a978a9243ea53b1f2426115d7b4191b07}
Field description table. \hypertarget{classBiblioIsisDb_ab9fb3b6f10d2734a198ca7802ee38c2d}{
\index{BiblioIsisDb@{BiblioIsisDb}!\$format@{\$format}}
\index{\$format@{\$format}!BiblioIsisDb@{BiblioIsisDb}}
\subsubsection[{\$format}]{\setlength{\rightskip}{0pt plus 5cm}BiblioIsisDb::\$format}}
\label{classBiblioIsisDb_ab9fb3b6f10d2734a198ca7802ee38c2d}
Database format, derived from \$schema. \hypertarget{classBiblioIsisDb_a67337d78af0fc21d0ff10471aa638c62}{
\index{BiblioIsisDb@{BiblioIsisDb}!\$log@{\$log}}
\index{\$log@{\$log}!BiblioIsisDb@{BiblioIsisDb}}
\subsubsection[{\$log}]{\setlength{\rightskip}{0pt plus 5cm}BiblioIsisDb::\$log}}
\label{classBiblioIsisDb_a67337d78af0fc21d0ff10471aa638c62}
Class action log. \hypertarget{classBiblioIsisDb_a7eccfa964dcd1469a263340447c38143}{
\index{BiblioIsisDb@{BiblioIsisDb}!\$perl@{\$perl}}
\index{\$perl@{\$perl}!BiblioIsisDb@{BiblioIsisDb}}
\subsubsection[{\$perl}]{\setlength{\rightskip}{0pt plus 5cm}BiblioIsisDb::\$perl}}
\label{classBiblioIsisDb_a7eccfa964dcd1469a263340447c38143}
Class instance of a perl interpreter; 

The documentation for this class was generated from the following file:\begin{DoxyCompactItemize}
\item 
classes/backends/BiblioIsisDb.php\end{DoxyCompactItemize}
